Перейти к содержанию

Интеграция WCS в Prometheus

Prometheus - это система мониторинга и БД временных рядов с открытым исходным кодом. WCS поддерживает вывод информации в формате метрик Prometheus, начиная со сборки 5.2.416, настройка WCS для интеграции в систему мониторинга не требуется.

Сбор метрик WCS  в Prometheus

Для настройки Prometheus на сбор метрик WCS, необходимо в файле настроек prometheus.yml описать конфигурацию

scrape_configs:
  - job_name: 'flashphoner'
    metrics_path: '/'
    params:
      action: [stat]
      format: [prometheus]
    static_configs:
      - targets: ['WCS_address:8081']

Здесь

  • WCS_address - адрес WCS сервера
  • 8081 - порт WCS сервера для вывода статистики

В результате, Prometheus сформирует запрос

http://WCS_address:8081/?action=stat&format=prometheus

и получит метрики статистики в своем формате.

Hачиная со сборки 5.2.518, поддерживается вывод метрик публикуемых потоков по запросу

http://WCS_address:8081/?action=stat&format=prometheus&groups=publish_streams

Сбор метрик сервера, на который установлен WCS

Метрики операционной системы сервера, на который установлен WCS, могут быть собраны в Prometheus при помощи модуля Prometheus Node Exporter. Для установки модуля на сервер можно воспользоваться следующим скриптом

#!/bin/bash
wget https://github.com/prometheus/node_exporter/releases/download/v1.0.1/node_exporter-1.0.1.linux-amd64.tar.gz
tar zxvf node_exporter-*.linux-amd64.tar.gz
cd node_exporter-*.linux-amd64
sudo cp node_exporter /usr/local/bin/
sudo useradd --no-create-home --shell /bin/false nodeusr
sudo chown -R nodeusr:nodeusr /usr/local/bin/node_exporter

sudo cat > /etc/systemd/system/node_exporter.service << EOF
[Unit]
Description=Node Exporter Service
Wants=network-online.target
After=network.target

[Service]
User=nodeusr
Group=nodeusr
Type=simple
ExecStart=/usr/local/bin/node_exporter
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure

[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable node_exporter
sudo systemctl start node_exporter