Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.
Scroll Ignore
scroll-viewporttrue
scroll-pdftrue
scroll-officetrue
scroll-chmtrue
scroll-docbooktrue
scroll-eclipsehelptrue
scroll-epubtrue
scroll-htmltrue

Версия ПО 0.7.1


Оглавление

Общая информация

Peeper — система мониторинга программных продуктов Eltex.

...

Все ПО предоставляется в виде Docker-образов, размещенных в публичных репозиториях, и файлов compose.yml и .env для деплоя контейнеров.

Для чего необходим Peeper

  1. Предотвращать появление чрезвычайной ситуации на серверах и приложениях клиента заранее.
  2. В случае ЧС иметь возможность разрешить инцидент (иметь всю необходимую информацию в одном месте для того, чтобы завершить расследование).
  3. Иметь возможность оперативно оценить внутреннее состояние системы по ее внешним показателям.

Функции и свойства Peeper

Peeper прост в развертывании и эксплуатации, что имеет важность для системы мониторинга.

...

  • собирать, хранить метрики и логи;
  • визуализировать данные в виде дашбордов, графиков, диаграмм, таблиц;
  • высылать алерты в случае срабатывания триггера по какой-либо метрике.

Архитектура Peeper

В архитектуре Peeper предусмотрено, что для получения метрик со стороны Peeper Client не требуется открывать никаких дополнительных портов на стороне сервера с программным продуктом Eltex. Отправка метрик с этого сервера производится методом Push.

...

draw.io Diagram
bordertrue
diagramNamepeeper-infra
simpleViewerfalse
width1000
linksauto
tbstyletop
diagramDisplayName
lboxtrue
diagramWidth2831
revision1

Установка
Якорь
Установка
Установка

Примечание

Для успешной установки Peeper Server и Peeper Client на всех серверах должен быть предустановлен docker и docker compose https://docs.docker.com/engine/install/ubuntu/

Peeper Server

Требования к серверу

ОСUbuntu 22.04 Server или выше
CPU2
RAM4 ГБ
Disk100 ГБ (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 архив с файлами: 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

Далее распакуйте из архива файлы:

...

Информация
titleВажно!

Для корректной работы модулей peeper-exporter-mysql и peeper-exporter-mysql недостаточно включить их только через ключи или *_ENABLED=true.
Необходимо также заполнить дополнительные переменные в соответствующих .env-файлах:

  •  .env.mysql — параметры подключения к MySQL (хост, порт, пользователь, пароль);
  •  .env.postgres — параметры подключения к PostgreSQL (хост, порт, пользователь, пароль).

Без этих значений экспортеры не смогут подключиться к базам данных и начать сбор метрик.

Графический интерфейс

Графический интерфейс представляет из себя GUI Grafana, доступный по адресу: https://<адрес сервера>

...

Для получения информации о каждом графике в Дашборде наведите курсор на иконку i над графиком. Отобразится текстовая подсказка с информацией по данному графику.

Настройка отправки уведомлений в Telegram

Для отправки уведомлений в чат Telegram при срабатывании алертов есть два способа настройки:

  1. В web-интерфейсе Grafana перейти в раздел "Alerting" → "Contact Points". Далее для Contact Point "Telegram" необходимо нажать "Edit",  в поле Chat ID ввести ID чата Telegram, куда должны отправляться уведомления, а в поле Bot API Token нажать Reset и ввести token Telegram бота, который должен быть добавлен в чат. Проверить корректность введенных данных и доставку алертов в чат можно кнопкой "Test". Далее необходимо сохранить настройки кнопкой "Save Contact Point".
  2. В файле .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Стандартный модуль для мониторинга сайтов с кастомным CAHTTPSТребует CA сертификат по пути certificates/ca/ca.crt
http_2xx_tls_strictМодуль для мониторинга только HTTPS сайтовHTTPSСтрогая проверка TLS/SSL соединения
http_tls_expiryМодуль для мониторинга SSL сертификатовHTTPSПроверяет срок действия сертификата без загрузки контента
http_post_json_2xxМодуль для мониторинга POST JSON endpointsHTTP/HTTPSОтправка POST запросов с JSON данными, проверка кода 2xx
icmpМодуль для проверки доступности по IPICMPПроверка доступности узла через ping

Резервное копирование Peeper

Контейнер с бэкапами имеет возможность записывать метрику vm_backup_status и vm_backup_timestamp. Внутри peeper содержится алерт, который показывает, завершился последний бэкап с ошибкой или не выполнился.

Снятие резервных копий

Для резервного копирования peeper-server существует отдельный контейнер, который запускается вместе с peeper. Данный контейнер осуществляет резервное копирование истории метрик с помощью утилит резервного копирования Victoria Metrics. Конифгурация данного контейнера происходит в .env.backup файле:

...

Блок кода
languagebash
docker exec peeper-backup sh /backup.sh

Восстановление резервных копий

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

...

Блок кода
languagebash
docker ps | grep peeper

Взаимодействие с сертификатами Peeper

Для работы peeper используется несколько сертификатов, которые описаны ниже:

...

Блок кода
docker restart peeper-exporter-blackbox

Ошибка пересечения сетей

В случае возникновения ошибки, указанной ниже, необходимо отредактировать .env файл и указать значение переменной PEEPER_EXTERNAL_MODE="true", и заново ввести команду установки Peeper Client.

...