Встроенные компоненты мониторинга
- Visiology Robot (Unlicensed)
Тип статьи | Знания |
---|---|
Компетенции | Администратор |
Необходимые права | Админ в платформе |
Версия платформы | 2.19.1/2.20 |
Статус | БЕТА |
Сложность | легко |
Полезные ссылки | https://grafana.com/ https://grafana.com/docs/loki/latest/ https://grafana.com/docs/loki/latest/clients/promtail/ https://prometheus.io/docs/introduction/overview/ https://prometheus.io/docs/guides/node-exporter/ https://prometheus.io/docs/guides/cadvisor/ Логирование и мониторинг системы |
Дополнительные сведения | Ubuntu 18.04/20.04 |
Введение
У платформы, начиная с версии 2.18, имеется встроенный мониторинг. В этой статье мы в общих чертах опишем какие компоненты его осуществляют, и что они конкретно делают. Ссылки на подробное описание этих компонентов и их использование в платформе изложены выше в таблице.
Компоненты мониторинга – это по сути отдельные Docker сервисы, которые описаны в файле grafana.yml из дистрибутива платформы.
1. Определение компонентов.
Loki – система для агрегации и хранения логов. Простыми словами: база данных всех логов платформы со всех ее компонентов.
Promtail – сервис для сбора логов и передачи их на хранение в Loki. Данный компонент гораздо более универсален и работает не только с Loki, но в нашем случае его можно назвать агентом для сбора логов компонента Loki. Принцип такой же, как и у Zabbix агента, например.
Prometheus – система мониторинга и оповещений. В нашем случае агрегирует и хранит метрики использования ресурсов сервера.
Node-exporter – собирает метрики использования ресурсов хоста (сервера с платформой) и передает их на хранение в Prometheus. Например, загрузка CPU, использование RAM, нагрузка на сеть.
Cadvisor – собирает метрики использования ресурсов сервера Docker контейнерами и аналогично Node-exporter передает их в Prometheus.
Grafana – компонент для визуализации данных на дэшборах. По сути мы видим в виде графиков информацию из Prometheus и Loki.
2. Описание работы.
Prometheus постоянно опрашивает Node-exporter и Cadvisor и получает актуальные данные в стандартизированном, понятном ему формате. В Prometheus также прописаны внутрисетевые пути до Node-exporter и Cadvisor. По умолчанию метрики хранятся 7 дней.
Promtail парсит JSON файлики логов Docker по настроенным правилам. Он регулярно с заданной периодичностью проходится по всем логам, берет оттуда информацию и передает на хранение в Loki.
Grafana является конечной точкой визуализации всех логов и метрик, где на основе запросов на языке PromQL строятся дэшборды. На данный момент (02.2021 версия платформы 2.20) редактирование дэшбордов в Grafana отключено на уровне Docker образа. То есть пользоваться можно только тем что есть и уже настроено в разделе мониторинга в веб администрировании платформы.