Prometheus: метрики лимитирования системы

Данный модуль предоставляет статистику лимитирования ресурсов пользователей через Prometheus. Он включает сбор информации о CPU, памяти, swap, количестве процессов, файловой системе и ошибках лимитирования.

Настройка модуля

Конфигурационный файл pm.ini содержит следующие ключевые параметры:

[server]
port = 9099
cert_file = /etc/ls-stats/conf.d/cert.pem
key_file = /etc/ls-stats/conf.d/key.pem
debug_mode = false  # Включить/выключить детальный вывод логов (true/false)

[auth]
user = admin
password = securepassword

[ip_filter]
allowed_ips = 192.168.1.100,192.168.1.200  # Список разрешённых IP-адресов, через запятую

Метрики

CPU

  • ls_cpu_usage_total — суммарное время использование CPU в секундах (Counter), конвертируется из микросекунд.

  • ls_cpu_fails_total — суммарное количество сбоев CPU (Counter)

Память

  • ls_mem_usage_current — текущее использование памяти (Gauge)

  • ls_swap_usage_current — текущее использование swap (Gauge)

  • ls_mem_fails_total — суммарное количество сбоев памяти (Counter)

  • ls_swap_fails_total — суммарное количество сбоев swap (Counter)

Процессы

  • ls_nproc_current — текущее количество процессов (Gauge)

  • ls_nproc_fails_total — суммарное количество сбоев процессов (Counter)

Входы в систему

  • ls_enters_total — суммарное количество входов в систему (Counter)

  • ls_enters_fails_total — суммарное количество сбоев входа в систему (Counter)

I/O

  • ls_io_total — суммарное использование IO (Counter) (не реализовано в данной редакции LS).

  • ls_iops_total — суммарное использование IOPS (Counter)

Файловая система

  • fs_soft_limit_blocks — мягкий лимит (soft limit) количества блоков для квоты файловой системы (Gauge)

  • fs_hard_limit_blocks — жёсткий лимит (hard limit) оличества блоков для квоты файловой системы (Gauge)

  • fs_soft_limit_files — мягкий лимит (soft limit) количества файлов для квоты файловой системы (Gauge)

  • fs_hard_limit_files — жёсткий лимит (hard limit) количества файлов для квоты файловой системы (Gauge)

  • fs_used_blocks — текущее использование блоков для квоты файловой системы (Gauge)

  • fs_used_files — текущее использование файлов для квоты файловой системы (Gauge)

group label — добавлена новая метка group, содержащая имя группы.

Запуск и тестирование

  1. Настройте параметры:

    # Генерация сертификатов
    $ openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes
    
    # Настройка доступов на файерволле
    $ sudo firewall-cmd --zone=public --add-port=9099/tcp --permanent
    $ sudo firewall-cmd --reload
    

Внимание! В данной редакции обязательно указание разрешённых IP-адресов allowed_ips

  1. Запустите сервис с параметрами:

    $ sudo systemctl enable lspm
    $ sudo systemctl start lspm
    
  2. Проверьте доступность метрик:

    $ curl -u admin:securepassword https://localhost:9099/metrics --insecure
    
  3. Добавьте в Prometheus конфигурацию для сбора метрик:

    - job_name: 'secured_metrics'
      scheme: https
      tls_config:
        insecure_skip_verify: true
      basic_auth:
        username: 'admin'
        password: 'securepassword'
      static_configs:
        - targets: ['192.168.1.141:9099']
    
  4. Проверьте графики в Grafana.

    Внешний вид панели мониторинга