Ставим мониторинг Prometheus + Grafana::Журнал СА 5.2017
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Подписка
Архив номеров
Где купить
Наука и технологии
Авторам
Рекламодателям
Контакты
   

  Опросы
  Статьи

Событие  

В банке рассола ждет сисадмина с полей фрактал-кукумбер

Читайте впечатления о слете ДСА 2024, рассказанные волонтером и участником слета

 Читать далее...

Организация бесперебойной работы  

Бесперебойная работа ИТ-инфраструктуры в режиме 24/7 Как обеспечить ее в нынешних условиях?

Год назад ИТ-компания «Крок» провела исследование «Ключевые тренды сервисного рынка 2023». Результаты

 Читать далее...

Книжная полка  

Читайте и познавайте мир технологий!

Издательство «БХВ» продолжает радовать выпуском интересных и полезных, к тому же прекрасно

 Читать далее...

СУБД PostgreSQL  

СУБД Postgres Pro

Сертификация по новым требованиям ФСТЭК и роль администратора без доступа к данным

 Читать далее...

Критическая инфраструктура  

КИИ для оператора связи. Готовы ли компании к повышению уровня кибербезопасности?

Похоже, что провайдеры и операторы связи начали забывать о требованиях законодательства

 Читать далее...

Архитектура ПО  

Архитектурные метрики. Качество архитектуры и способность системы к эволюционированию

Обычно соответствие программного продукта требованиям мы проверяем через скоуп вполне себе понятных

 Читать далее...

Как хорошо вы это знаете  

Что вам известно о разработках компании ARinteg?

Компания ARinteg (ООО «АРинтег») – системный интегратор на российском рынке ИБ –

 Читать далее...

Графические редакторы  

Рисование абстрактных гор в стиле Paper Cut

Векторный графический редактор Inkscape – яркий представитель той прослойки open source, с

 Читать далее...

День сисадмина  

Учите матчасть! Или как стать системным администратором

Лето – время не только отпусков, но и хорошая возможность определиться с профессией

 Читать далее...

День сисадмина  

Живой айтишник – это всегда движение. Остановка смерти подобна

Наши авторы рассказывают о своем опыте и дают советы начинающим системным администраторам.

 Читать далее...

Виртуализация  

Рынок решений для виртуализации

По данным «Обзора российского рынка инфраструктурного ПО и перспектив его развития», сделанного

 Читать далее...

Книжная полка  

Как стать креативным и востребованным

Издательский дом «Питер» предлагает новинки компьютерной литературы, а также книги по бизнесу

 Читать далее...

Книжная полка  

От создания сайтов до разработки и реализации API

В издательстве «БХВ» недавно вышли книги, которые будут интересны системным администраторам, создателям

 Читать далее...

Разбор полетов  

Ошибок опыт трудный

Как часто мы легко повторяем, что не надо бояться совершать ошибки, мол,

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 6129
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 6839
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

12.03.2018г.
Просмотров: 4123
Комментарии: 0
Глубокое обучение с точки зрения практика

 Читать далее...

12.03.2018г.
Просмотров: 2971
Комментарии: 0
Изучаем pandas

 Читать далее...

12.03.2018г.
Просмотров: 3777
Комментарии: 0
Программирование на языке Rust (Цветное издание)

 Читать далее...

19.12.2017г.
Просмотров: 3785
Комментарии: 0
Глубокое обучение

 Читать далее...

19.12.2017г.
Просмотров: 6273
Комментарии: 0
Анализ социальных медиа на Python

 Читать далее...

19.12.2017г.
Просмотров: 3130
Комментарии: 0
Основы блокчейна

 Читать далее...

19.12.2017г.
Просмотров: 3427
Комментарии: 0
Java 9. Полный обзор нововведений

 Читать далее...

16.02.2017г.
Просмотров: 7242
Комментарии: 0
Опоздавших не бывает, или книга о стеке

 Читать далее...

17.05.2016г.
Просмотров: 10613
Комментарии: 0
Теория вычислений для программистов

 Читать далее...

30.03.2015г.
Просмотров: 12332
Комментарии: 0
От математики к обобщенному программированию

 Читать далее...

18.02.2014г.
Просмотров: 13965
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

 Читать далее...

13.02.2014г.
Просмотров: 9095
Комментарии: 0
Читайте, размышляйте, действуйте

 Читать далее...

12.02.2014г.
Просмотров: 7050
Комментарии: 0
Рисуем наши мысли

 Читать далее...

10.02.2014г.
Просмотров: 5357
Комментарии: 3
Страна в цифрах

 Читать далее...

18.12.2013г.
Просмотров: 4587
Комментарии: 0
Большие данные меняют нашу жизнь

 Читать далее...

18.12.2013г.
Просмотров: 3398
Комментарии: 0
Компьютерные технологии – корень зла для точки роста

 Читать далее...

04.12.2013г.
Просмотров: 3124
Комментарии: 0
Паутина в облаках

 Читать далее...

03.12.2013г.
Просмотров: 3377
Комментарии: 0
Рецензия на книгу «MongoDB в действии»

 Читать далее...

02.12.2013г.
Просмотров: 2997
Комментарии: 0
Не думай о минутах свысока

 Читать далее...

Друзья сайта  

 Ставим мониторинг Prometheus + Grafana

Архив номеров / 2017 / Выпуск №5 (174) / Ставим мониторинг Prometheus + Grafana

Рубрика: Администрирование /  Мониторинг

Сергей Яремчук СЕРГЕЙ ЯРЕМЧУК, автор более 1000 статей и шести книг. С «СА» с первого номера. Интересы: сетевые технологии, защита информации, свободные ОС, yaremchuk@samag.ru

Ставим мониторинг Prometheus + Grafana

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

Ставим мониторинг Prometheus + GrafanaСложно представить современную сеть без системы мониторинга, позволяющего получить статистику о работе систем и выдать предупреждение в случае превышения значения параметра или недоступности сервиса. Этим теперь удивить кого-то сложно, но сегодня на одном физическом сервере может быть запущено несколько виртуальных машин и сотни контейнеров, а приложения уже не являются монолитными и используют десятки сервисов в своей работе. В итоге классической информации о загрузке процессора, потреблении памяти, свободном месте на диске и сетевой нагрузке явно недостаточно. Они могут быть свободными, а вот приложение явно подтормаживает. Предоставляемых метрик очень не хватает, и часто требуется большая гибкость в возможностях их отбора.

Еще проблема. Обычно системы мониторинга для сбора статистики используют агентов, которые отправляют данные на сервер. Это очень неудобно в случае, когда виртуальные машины и контейнеры находятся фактически в постоянном движении – стартуют, останавливаются, создают реплики, перемещаются на другой сервер. В новых системах мониторинга используется другой подход к сбору информации, они дают больше данных и «знают» о многих сервисах сразу после установки.

Проект Prometheus

Примерно с такой проблемой столкнулись разработчики музыкальной социальной сети SoundCloud, использовавшей микросервисы. Так, собственно, и стартовал проект Prometheus [1], выпущенный со временем под свободной лицензией Apache 2 License и хорошо зарекомендовавший себя благодаря гибкости и функциональности. Prometheus входит в Cloud Native Computing Foundation и его поддерживают разработчики Docker и Kubernetes.

В Prometheus используется так называемая децентрализованная самоуправляемая архитектура, позволяющая легко добавлять сервисы и серверы, которые контролируются с одной консоли. Запущенные на узле сервисы обнаруживаются автоматически, при помощи заранее подготовленных установок. Это очень упрощает администрирование, так как все запускается буквально несколькими командами. Основой является prometheus server, умеющий самостоятельно собирать, хранить метрики с локального сервера, а при помощи агентов и с удаленных.

Поддерживается оповещение и простые графики, которые, правда, больше подходят для быстрого визуального представления собранных метрик или при отладке. Для отбора событий из полученного набора, построения графиков иустановки оповещений используется гибкий язык запросов [2]. Доступно API, которое может быть использовано для визуализации собранных данных в сторонних приложениях, шаблоны консоли для визуализации нужных данных иконсольный клиент prometheus-cli.

Некоторое время проект разрабатывал собственный дашборд PromDash, но теперь он объявлен как deprecated, а сами разработчики рекомендуют для вывода графиков данных использовать систему анализа, визуализации и мониторинга Grafana [3], имеющую встроенную поддержку Prometheus (и не только).

Данные в Prometheus представляются в виде временных рядов c 64-битной точностью. Каждая метрика сохраняется в отдельный файл в виде имени и атрибутов:

<metric name>{<label name>=<label value>, ...}

Например:

per_cpu_pct_user{device="cpu9",host="Stage"} 2.56

Такое представление позволяет легко отбирать, обрабатывать данные и формировать отчеты. Метрики по умолчанию собираются с интервалом 10 минут, это снимает нагрузку с клиента, а так как не используется интерполяция данных (вычисляется случайная величина – квантиль), некоторые графики выглядят прямолинейными, хотя значения, в общем-то, чуть «гуляют». При необходимости это можно подстроить.

Информация от агентов передается при помощи HTTP. По умолчанию используется порт 9126, хотя в разных плагинах свой номер. То есть всегда можно просмотреть метрики при помощи curl (см. рис. 1):

$ curl http://localhost:9126/metrics

Рисунок 1. Метрики Prometheus

Рисунок 1. Метрики Prometheus

Кроме этого, проект предоставляет еще несколько элементов, в частности exporter, предназначенные для сбора метрик с хоста или определенных сервисов. Доступны для узла (node_exporter), MySQL, Memcached, HAProxy, Graphite, Consul, Blackbox, SNMP и других. Поддерживается агрегатор метрик StatsD, умеющий собирать метрики и хранить их в нужном формате. Компонент Alertmanager предназначен для оправки сообщений (email, PagerDuty, OpsGenie), кроме этого, есть плагин для Nagios. Еще один полезный компонент – Pushgateway является, по сути, прокси и позволяет собирать информацию от систем, включающихся в сеть периодически.

Написан на Go, доступны клиентские библиотеки, написанные на Go, Java, Python и Ruby и других языках. В сети очень легко найти клиентов сторонних разработчиков. Наверное, самым популярным из них является Telegraf [4] – приложение, позволяющее собирать данные с удаленного хоста и поддерживающее около 80 плагинов [5] для ввода метрик (Varnish, СУБД, Apache, nginx Docker, Kubernetes, logparser...). Изначально поддерживает метрики InfluxDB, которому передает их в корректном формате, но в комплекте 23 плагина вывода для самых разнообразных приложений (Prometheus, Elasticsearch, Graphite, OpenTSDB, файл...). И главное – плагины уже входят в состав Telegraf, т.е. нужно просто включить.

Большой плюс, что для подключения к Prometheus используется всего один порт, в который выводится информация со всех плагинов. Поэтому Telegraf проще в развертывании. К тому же он работает не только под Linux, но и подFree/Open/NetBSD, Windows, DragonFly и Darwin. Хотя некоторые плагины Telegraf (мне попался logparser, предназначенный для парсинга журналов) умеют отдавать данные только в стандарте InfluxDB, и, чтобы их видел Prometheus, выход необходимо доработать. Или как вариант использовать grok_exporter [7], который также умеет парсить журнал и формирует правильный для Prometheus вывод. Единственный его недостаток: он умеет парсить только один файл. Поэтому, если нужно проверять несколько журналов, придется использовать несколько процессов.

Статью целиком читайте в журнале «Системный администратор», №5 за 2017 г. на страницах 36-44.

PDF-версию данного номера можно приобрести в нашем магазине.


  1. Сайт Prometheus – http://prometheus.io.
  2. Язык запросов Prometheus – http://prometheus.io/docs/querying/basics.
  3. Проект Grafana – https://grafana.com.
  4. Документация Telegraf – https://docs.influxdata.com/telegraf/latest/introduction/getting_started.
  5. Плагины Telegraf – https://github.com/influxdata/telegraf/tree/master/plugins.
  6. Ссылка на GitHub Prometheus – https://github.com/prometheus.
  7. Плагин grok_exporter – https://github.com/fstab/grok_exporter.
  8. Плагины Grafana – https://grafana.com/plugins.

Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-45
E-mail: sa@samag.ru