Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

Описание

Ряд модулей SoftWLC поддерживает метрики в формате Prometheus. Для отображения и анализа полученных метрик используется Grafana.

СервисАдрес получения метрик
eltex-apbhttp://<IP-адрес сервера>:8090/apb/api/metrics
eltex-brucehttp://<IP-адрес сервера>:8008/actuator/prometheus
eltex-jobshttp://<IP-адрес сервера>:9696/actuator/prometheus
eltex-emshttp://<IP-адрес сервера>:9091/metrics
eltex-mercuryhttp://<IP-адрес сервера>:6564/mercury/prometheus
eltex-ngwhttp://<IP-адрес сервера>:8040/actuator/prometheus
eltex-pcrf

http://<IP-адрес сервера>:7070/metrics/prometheus

eltex-radiushttp://<IP-адрес сервера>:9812/metrics
eltex-radius-nbi

http://<IP-адрес сервера>:9010/

eltex-papayahttp://<IP-адрес сервера>:9098/actuator/prometheus
eltex-portalhttp://<IP-адрес сервера>:9000/eltex_portal/api/metrics
eltex-portal-constructorhttp://<IP-адрес сервера>:9001/epadmin/actuator/prometheus
eltex-wifi-cabhttp://<IP-адрес сервера>:8085/actuator/prometheus


node_exporterhttp://<IP-адрес сервера>:9991/metrics

Для мониторинга производительности сервера, на котором работает комплекс SoftWLC предполагается использование утилиты node_exporter.

Подготовка к развертыванию системы

Развертывать систему мониторинга рекомендуется на отдельном хосте, характеристики 4Gb RAM, 1 CPU, 100Gb HDD.

Так же на данный хост требуется установить пакеты docker, docker-compose.

Установка Node_Exporter

Node-Exporter может быть запущен в докере или как служба.

Пакет должен быть установлен на каждом сервере, используемом для функционирования SoftWLC или его компонентов.

Запуск Node_Exporter в докере

Обратим внимание, что используется не дефолтный порт сервиса, а 9991.

Создать папку:

sudo mkdir /opt/node_exporter/

В данной папке создать файл docker-compose.yml:

version: '3.4'

services:
  node-exporter:
    container_name: node_exporter
    image: prom/node-exporter:v1.3.1
    ports:
      - "9991:9100"
    volumes:
      - /proc:/host/proc:ro
      - /sys:/host/sys:ro
      - /:/rootfs:ro
    command:
      - '--path.procfs=/host/proc'
      - '--path.rootfs=/rootfs'
      - '--path.sysfs=/host/sys'
      - '--collector.filesystem.mount-points-exclude=^/(sys|proc|dev|host|etc)($$|/)'
    restart: unless-stopped

Выполнить запуск сервиса командой:

sudo docker-compose up -d

Запуск Node-Exporter как службы

Скачать последнюю версию node_exporter-1.6.1.linux-amd64.tar.gz

wget http://archive.eltex-co.ru/wireless/help/softwlc-latest/node_exporter-1.6.1.linux-amd64.tar.gz

Создать директорию:

sudo mkdir /opt/node_exporter/

Распаковать архив в папку:

sudo tar xvzf node_exporter-1.3.1.linux-amd64.tar.gz -C /opt/node_exporter/

Создать симлинк:

sudo ln -s /opt/node_exporter/node_exporter-1.3.1.linux-amd64 /opt/node_exporter/run

Создать пользователя для запуска сервиса:

sudo useradd -rs /bin/false node_exporter

Создать файл сервиса:

sudo vim /etc/systemd/system/node_exporter.service

Прописать в /etc/systemd/system/node_exporter.service

[Unit]
Description=Node Exporter
After=networki-online.target

[Service]
EnvironmentFile=-/etc/sysconfig/node_exporter
WorkingDirectory=/opt/node_exporter/run
ExecStart=/opt/node_exporter/run/node_exporter --web.listen-address=:9991
Restart=on-abort
RestartSec=60
User=node_exporter
Group=node_exporter
Type=simple

[Install]
WantedBy=multi-user.target

Обновить информацию в systemd:

sudo systemctl daemon-reload

Запустить сервис:

sudo systemctl start node_exporter

Включить автозапуск:

sudo systemctl enable node_exporter

Проверить статус сервиса:

sudo systemctl status node_exporter
● node_exporter.service - Node Exporter
   Loaded: loaded (/etc/systemd/system/node_exporter.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2022-04-06 13:42:32 +07; 1min 25s ago
 Main PID: 28664 (node_exporter)
    Tasks: 4 (limit: 4915)
   CGroup: /system.slice/node_exporter.service
           └─28664 /opt/node_exporter/run/node_exporter --web.listen-address=:9991

Установка Prometheus и Grafana

Запуск выполняется в докере. На сервер потребуется установить docker  и docker-compose.

В приложенном архиве содержаться файлы конфигурации: softwlc-monitoring.zip

Чтобы скачать напрямую на сервер, воспользуйтесь следующей командой

wget http://archive.eltex-co.ru/wireless/help/softwlc-latest/softwlc-monitoring.zip

На хосте, предназначенном для работы системы мониторинга распаковать архив в папку:

sudo tar xvzf softwlc-monitoring.tar.gz -C /opt

Сменить владельца папки, если он не "root":

chown -v root:root /opt/softwlc-monitoring/
chhow -Rv root:root /opt/softwlc-monitoring/

Сменить разрешения для папок и файлов:

chmod -Rv 664 /opt/softwlc-monitoring/

chmod -v 755 /opt/softwlc-monitoring/
chmod -v 755 /opt/softwlc-monitoring/prometheus/
chmod -v 755 /opt/softwlc-monitoring/grafana/
chmod -v 755 /opt/softwlc-monitoring/grafana/provisioning/datasources/
chmod -v 755 /opt/softwlc-monitoring/grafana/provisioning/dashboards/

Отредактировать файл "/opt/softwlc-monitoring/prometheus/prometheus.yml", перечислив в нем адреса и порты всех служб :

prometheus.yml
scrape_configs:
  - job_name: 'EMS'
    metrics_path: '/'
    scrape_interval: 5s
    static_configs:
      - targets: ['softwlc.eltex.loc:9091']
  - job_name: 'APB'
    metrics_path: '/apb/api/metrics'
    scrape_interval: 5s
    static_configs:
      - targets: ['softwlc.eltex.loc:8090']
  - job_name: 'Mercury'
    metrics_path: '/mercury/prometheus'
    scrape_interval: 5s
    static_configs:
      - targets: ['softwlc.eltex.loc:6564']
  - job_name: 'Portal'
    metrics_path: '/eltex_portal/api/metrics'
    scrape_interval: 5s
    static_configs:
      - targets: ['softwlc.eltex.loc:9000']
  - job_name: 'NBI'
    metrics_path: '/'
    scrape_interval: 5s
    static_configs:
      - targets: ['softwlc.eltex.loc:9010']
  - job_name: 'System'
    scrape_interval: 5s
    static_configs:
      - targets: ['softwlc.eltex.loc:9991']
  - job_name: 'NGW'
    metrics_path: '/actuator/prometheus'
    scrape_interval: 5s
    static_configs:
      - targets: ['softwlc.eltex.loc:8040']
  - job_name: 'PCRF'
    metrics_path: '/metrics/prometheus'
    scrape_interval: 5s
    static_configs:
      - targets: [ 'softwlc.eltex.loc:7070' ]
  - job_name: 'Papaya'
    metrics_path: '/actuator/prometheus'
    scrape_interval: 5s
    static_configs:
      - targets: [ 'softwlc.eltex.loc:9098' ]
  - job_name: 'RADIUS'
    metrics_path: '/metrics'
    scrape_interval: 5s
    static_configs:
      - targets: [ 'softwlc.eltex.loc:9812' ]
  - job_name: 'bruce'
    metrics_path: '/actuator/prometheus'
    scrape_interval: 5s
    static_configs:
      - targets: [ 'softwlc.eltex.loc:8008' ]
  - job_name: 'WiFi-Cab'
    metrics_path: '/actuator/prometheus'
    scrape_interval: 5s
    static_configs:
      - targets: [ 'softwlc.eltex.loc:8085' ]
  - job_name: 'Portal Constructor'
    metrics_path: '/epadmin/actuator/prometheus'
    scrape_interval: 5s
    static_configs:
      - targets: [ 'softwlc.eltex.loc:9001' ]
  - job_name: 'jobs'
    metrics_path: '/actuator/prometheus'
    scrape_interval: 5s
    static_configs:
      - targets: [ 'softwlc.eltex.loc:9696' ]

Так же в данном файле надо перечислить все сервера с установленным Node-Exporter, с указанием реального адреса каждого сервера:

prometheus.yml (продолжение)
#Node-SoftWLC
  - job_name: 'Node-SoftWLC' 
    scrape_interval: 5s 
    static_configs: 
      - targets: ['<IP-адрес сервера>:9991']

Для всех серверов, которые указаны в файле prometheus.yml, должен быть обеспечен доступ по соответствующим портам по протоколу TCP с сервера, на котором запущена система мониторинга! 

Выполнить запуск:

sudo docker-compose up -d

После запуска сервисы будут доступны по адресам:

Prometheus:

http://<IP-адрес сервера>:9990

Grafana:

http://<IP-адрес сервера>:3000

После открытия стартовой страницы Grafana будет предложено ввести логин / пароль (по умолчанию admin / admin):

После успешного входы будет предложено сменить пароль:

Можно задать новый пароль или нажать "Skip", что бы вопрос более не задавался, при этом дефолтный пароль не будет сменен.

Откроется начальное окно Grafana.

Что бы увидеть список доступных панелей мониторинга надо нажать в панели слева кнопку  и в открывшемся меню выбрать "Manage". 

Откроется окно со списком панелей:

После этого можно перейти к просмотру мониторинга нужного сервиса.

Для предотвращения случайных изменений рекомендуется добавить пользователя, который будет иметь только права просмотра.

Для этого надо нажать в панели слева кнопку  и затем нажать кнопку "New user". После ввести данные пользователя: "Name", "Username", "Password" и нажать "Create user". В дальнейшем все действия по мониторингу выполнять под данным пользователем.

Приложения

Сайт Prometheus: https://prometheus.io/

Сайт Grafana: https://grafana.com/

  • Нет меток