| Scroll Ignore | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||
Версия ПО 0.7.1 |
Оглавление
Общая информация
Peeper — система мониторинга программных продуктов Eltex.
...
Все ПО предоставляется в виде Docker-образов, размещенных в публичных репозиториях, и файлов compose.yml и .env для деплоя контейнеров.
Для чего необходим Peeper
- Предотвращать появление чрезвычайной ситуации на серверах и приложениях клиента заранее.
- В случае ЧС иметь возможность разрешить инцидент (иметь всю необходимую информацию в одном месте для того, чтобы завершить расследование).
- Иметь возможность оперативно оценить внутреннее состояние системы по ее внешним показателям.
Функции и свойства Peeper
Peeper прост в развертывании и эксплуатации, что имеет важность для системы мониторинга.
...
- собирать, хранить метрики и логи;
- визуализировать данные в виде дашбордов, графиков, диаграмм, таблиц;
- высылать алерты в случае срабатывания триггера по какой-либо метрике.
Архитектура Peeper
В архитектуре Peeper предусмотрено, что для получения метрик со стороны Peeper Client не требуется открывать никаких дополнительных портов на стороне сервера с программным продуктом Eltex. Отправка метрик с этого сервера производится методом Push.
...
draw.io Diagram border true diagramName peeper-infra simpleViewer false width 1000 links auto tbstyle top diagramDisplayName lbox true diagramWidth 2831 revision 1
УстановкаЯкорь Установка Установка
| Установка | |
| Установка |
| Примечание |
|---|
Для успешной установки Peeper Server и Peeper Client на всех серверах должен быть предустановлен docker и docker compose https://docs.docker.com/engine/install/ubuntu/ |
Peeper Server
Требования к серверу
| ОС | Ubuntu 22.04 Server или выше |
| CPU | 2 |
| RAM | 4 ГБ |
| Disk | 100 ГБ (x2 при использовании peeper-backup) |
| Предустановленное ПО | Docker, Docker Compose |
Для установки скачайте на сервер для peeper-server архив с файлами: https://cloud.eltex-co.ru/index.php/s/YqUw3ZWt8Kf2b9an4RRd4rgx9pgxUO/download?path=%2F&files=peeper-deploy.tar
| Блок кода |
|---|
mkdir peeper-server && cd peeper-server wget "https://cloud.eltex-co.ru/index.php/s/YqUw3ZWt8Kf2b9an4RRd4rgx9pgxUO/download?path=%2F&files=peeper-deploy.tar" -O peeper-deploy.tar |
...
| Блок кода |
|---|
sudo ./setup.sh -i |
Параметры запуска и модули
Начиная с версии 0.7, скрипт установки поддерживает дополнительные параметры запуска, которые позволяют включать отдельные модули. Параметры могут вызываться как длинными, так и короткими ключами.
...
| Информация |
|---|
В compose.yml Peeper Server для сервиса peeper-grafana используется volume "peeper-grafana-config", который монтируется в директорию /etc/grafana в контейнере. Часто при настройке LDAP в Grafana или других функций через WEB вручную конфигурация сохраняется в /etc/grafana, например, в таких файлах как grafana.ini Таким образом, чтобы при переустановке Peeper не потерять эти данные, достаточно не удалять volume, а примонтировать его к новой инсталляции Peeper: все настройки будут сохранены. |
Якорь PEEPER_CLIENT PEEPER_CLIENT
Peeper Client
| PEEPER_CLIENT | |
| PEEPER_CLIENT |
Для установки Peeper Client скачайте на сервер peeper-client архив с файлами: https://cloud.eltex-co.ru/index.php/s/n4RRd4rgx9pgxUO/download?path=%2F&files=peeper-client.tar
| Блок кода |
|---|
mkdir peeper-client && cd peeper-client wget "https://cloud.eltex-co.ru/index.php/s/ |
...
n4RRd4rgx9pgxUO/download?path=%2F&files=peeper-client.tar" -O peeper-client.tar |
Далее распакуйте из архива файлы:
...
| Информация | ||
|---|---|---|
| ||
Для корректной работы модулей peeper-exporter-mysql и peeper-exporter-mysql недостаточно включить их только через ключи или *_ENABLED=true.
Без этих значений экспортеры не смогут подключиться к базам данных и начать сбор метрик. |
Графический интерфейс
Графический интерфейс представляет из себя GUI Grafana, доступный по адресу: https://<адрес сервера>
...
Для получения информации о каждом графике в Дашборде наведите курсор на иконку 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".
- В файле .env, на сервере peeper указать токен в переменную TELEGRAM_BOT_TOKEN, а в переменную TELEGRAM_CHAT_ID указать chat-id.
Использование модуля peeper-blackbox для мониторинга доступности сайтов
На данный момент при стандартной установке peeper-server устанавливает peeper-exporter-blackbox, который позволяет отслеживать необходимые сайты, следить за состоянием сертификатов и уведомлять о проблемах с доступностью.
...
| Название модуля | Описание | Протокол | Особенности |
|---|---|---|---|
http_2xx | Стандартный модуль для мониторинга большинства сайтов | HTTP/HTTPS | Проверка доступности и получения кода ответа 2xx |
http_2xx_custom_ca | Стандартный модуль для мониторинга сайтов с кастомным CA | HTTPS | Требует CA сертификат по пути certificates/ca/ca.crt |
http_2xx_tls_strict | Модуль для мониторинга только HTTPS сайтов | HTTPS | Строгая проверка TLS/SSL соединения |
http_tls_expiry | Модуль для мониторинга SSL сертификатов | HTTPS | Проверяет срок действия сертификата без загрузки контента |
http_post_json_2xx | Модуль для мониторинга POST JSON endpoints | HTTP/HTTPS | Отправка POST запросов с JSON данными, проверка кода 2xx |
icmp | Модуль для проверки доступности по IP | ICMP | Проверка доступности узла через ping |
Резервное копирование Peeper
Контейнер с бэкапами имеет возможность записывать метрику vm_backup_status и vm_backup_timestamp. Внутри peeper содержится алерт, который показывает, завершился последний бэкап с ошибкой или не выполнился.
Снятие резервных копий
Для резервного копирования peeper-server существует отдельный контейнер, который запускается вместе с peeper. Данный контейнер осуществляет резервное копирование истории метрик с помощью утилит резервного копирования Victoria Metrics. Конифгурация данного контейнера происходит в .env.backup файле:
...
| Блок кода | ||
|---|---|---|
| ||
docker exec peeper-backup sh /backup.sh |
Восстановление резервных копий
Для восстановления из резервной копии, необходимо выполнить следующие действия:
...
| Блок кода | ||
|---|---|---|
| ||
docker ps | grep peeper |
Взаимодействие с сертификатами Peeper
Для работы peeper используется несколько сертификатов, которые описаны ниже:
...
| Блок кода |
|---|
docker restart peeper-exporter-blackbox |
Ошибка пересечения сетей
В случае возникновения ошибки, указанной ниже, необходимо отредактировать .env файл и указать значение переменной PEEPER_EXTERNAL_MODE="true", и заново ввести команду установки Peeper Client.
...