Инструкция по установке и эксплуатации Peeper-server / ecss-peeper-client
Общая информация
Peeper — система мониторинга программных продуктов Eltex.
Архитектура Peeper состоит из двух частей:
- Клиентская. Устанавливается пакетом ecss-peeper-client на SSW. В ее задачи входит сбор метрик и их отправка на серверную часть.
- Серверная. В качестве такого сервера может быть использован сервер Ubuntu на котором установлен Peeper-server. В ее задачи входит агрегация и хранение метрик, визуализация метрик в виде графиков, отправка уведомлений об авариях в Telegram.
Все ПО Peeper-server предоставляется в виде Docker-образов, размещенных в публичных репозиториях, и файлов compose.yml и .env для развертывания контейнеров.
Зачем необходим Peeper
Peeper нужен, чтобы:
- предотвратить появление чрезвычайной ситуации на серверах и приложениях клиента заранее;
- в случае ЧС иметь возможность постфактум распутать клубок инцидента (иметь всю необходимую информацию в одном месте для того, чтобы завершить расследование);
- иметь возможность оперативно оценить внутреннее состояние системы по ее внешним показателям, а не просто констатировать факт, что система сломалась.
Функции и свойства Peeper
Peeper прост в развертывании и эксплуатации, что крайне важно для системы мониторинга. Также Peeper позволяет:
- собирать, хранить метрики и лог файлы;
- визуализировать данные в виде графиков, диаграмм и таблиц;
- высылать уведомления в случае срабатывания триггера по какой-либо метрике.
Архитектура Peeper
В архитектуре Peeper предусмотрено, что для получения метрик со стороны Peeper Client не требуется открывать никаких дополнительных портов на стороне сервера с программным продуктом Eltex. Отправка метрик с этого сервера производится методом Push.
Все входящие запросы в Peeper Server идут по HTTPs через Peeper Proxy по 443 порту.
Установка Peeper-server
Для успешной установки Peeper Server на всех серверах должен быть предустановлен docker и docker compose
Установка docker
на Peeper Server
sudo apt update
на Peeper Server
sudo apt install docker.io wget
Peeper Server
Требования к серверу
| ОС | Ubuntu 22.04 Server или выше |
| CPU | 2 |
| RAM | 4 ГБ |
| Disk | 100 ГБ |
| Предустановленное ПО | Docker, Docker Compose |
Для установки скачайте на сервер для peeper-server архив с файлами: https://cloud.eltex-co.ru/index.php/s/n4RRd4rgx9pgxUO/download?path=%2F&files=peeper-deploy.tar
на Peeper Server
mkdir peeper-server && cd peeper-server
на Peeper Server
wget "https://cloud.eltex-co.ru/index.php/s/n4RRd4rgx9pgxUO/download?path=%2F&files=peeper-deploy.tar" -O peeper-deploy.tar
Распакуйте архив:
на Peeper Server
tar -xvf peeper-deploy.tar
Cкорректируйте переменные в файле .env. Как минимум необходимо скорректировать 1 переменную: PEEPER_HOST. В ней нужно указать IP сервера Peeper, по которому пользователи и администраторы будут открывать WEB Peeper. Так же можно изменить значение логина и пароля по-умолчанию admin/admin.
на Peeper Server
nano .env
PEEPER_REGISTRY="hub.eltex-co.ru" # "hub.eltex-co.ru", "nexus.eltex.loc:9007"
PEEPER_VERSION="0.7" # Версия системы мониторинга Peeper
PEEPER_HOST="10.0.20.55" # Доменное имя или IP адрес Peeper сервера
PEEPER_PORT="443" # Сетевой порт Peeper сервера
PEEPER_USERNAME="admin" # Имя администратора Grafana (по-умолчанию)
PEEPER_PASSWORD="admin" # Пароль администратора Grafana (по-умолчанию)
PEEPER_RETENTION="100d" # Максимальное время хранения метрик в базе данных
DOCKER_SOCKET="/var/run/docker.sock" # Путь к Docker socket для получения метрик Docker
TIMEZONE="Asia/Novosibirsk" # Список часовых поясов: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
MEMORY_LIMIT_BLACKBOX="256m" # Лимит потребляемой оперативной памяти для контейнера peeper-exporter-blackbox
MEMORY_LIMIT_GRAFANA="640m" # Лимит потребляемой оперативной памяти для контейнера peeper-grafana
MEMORY_LIMIT_METRICS="2048m" # Лимит потребляемой оперативной памяти для контейнера peeper-metrics
MEMORY_LIMIT_PROXY="256m" # Лимит потребляемой оперативной памяти для контейнера peeper-proxy
MEMORY_LIMIT_TELEGRAF="256m" # Лимит потребляемой оперативной памяти для контейнера peeper-telegraf
MEMORY_LIMIT_VMBACKUP="256m" # Лимит потребляемой оперативной памяти для контейнера peeper-vmbackup-toolbox
При установке Peeper Server автоматически производится загрузка наборов метрик и уведомлений для метрик Linux, Docker, Postgres, Haproxy, входящего в состав Peeper Server.
Команда установки Peeper Server:
на Peeper Server
sudo ./setup.sh -i
Графический интерфейс
Графический интерфейс представляет из себя GUI Grafana, доступный по адресу: https://<адрес сервера> (для примера https://10.0.20.55)
Логин/пароль по умолчанию: admin/admin (корректируется в файле .env)
Наборы метрик можно найти в меню Dashboards.
Для получения информации о каждом графике в наборе наведите курсор на иконку i над графиком. Отобразится текстовая подсказка с информацией по данному графику.
Настройка отправки уведомлений в Telegram
Для того, чтобы уведомления в результате срабатывания уведомлений отправлялись в чат Telegram, необходимо в WEB интерфейсе Grafana перейти в раздел "Alerting" → "Contact Points". Там для Contact Point "Telegram" нажимаем "Edit", в поле Chat ID вводим ID чата Telegram, куда должны отправляться уведомления, а в поле Bot API Token нажимаем Reset и вводим token Telegram бота, который должен быть добавлен в чат. Проверить корректность введенных данных и доставку уведомлений в чат можно кнопкой "Test".
Далее сохраняем настройки кнопкой "Save Contact Point".