Общая информация
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
Для этого выполнить следующие команды:
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update && sudo apt upgrade
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
mkdir peeper-server && cd peeper-server
wget "https://cloud.eltex-co.ru/index.php/s/n4RRd4rgx9pgxUO/download?path=%2F&files=peeper-deploy.tar" -O peeper-deploy.tar
Распакуйте архив:
tar -xvf peeper-deploy.tar
Cкорректируйте переменные в файле .env. Как минимум необходимо скорректировать 1 переменную: PEEPER_HOST. В ней нужно указать IP сервера Peeper, по которому пользователи и администраторы будут открывать WEB Peeper. Так же можно изменить значение логина и пароля по-умолчанию admin/admin.
nano .env
При установке Peeper Server автоматически производится загрузка наборов метрик и уведомлений для метрик Linux, Docker, Postgres, Haproxy, входящего в состав 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".