Upload
nikolay-samokhvalov
View
2.952
Download
5
Embed Size (px)
Citation preview
www.postgrespro.ru
Мониторинг PostgreSQL
Дмитрий Васильев
Мониторинг - система предупреждения и анализа инцидентов посредством снятия и анализа метрик
Мониторинг это ...
Некоторые под мониторингом понимают это:
Помогите объяснить, что изображено на картинке?
Идеальный мониторинг
* Сбор метрик
* Отображение полученых метрик
* Анализ полученых метрик, принятие решения
* Создание инцидента
* История по прошедшим инцидентам
Идеальный мониторинг
Бесконечное совершенствование:
* Успешная эксплуатация системы зависит от понимания того, какие метрики необходимо снимать и как их мониторить.
* Понимание того что, необходимо мониторить, приходит обычно вместе с факапом
* Ваш опыт — это знание метрик и их интерпретация
wiki.postgresql.org
Munin
Zabbix
NewRelic
DataDog
Munin
* Очень богатый набор метрик из коробки
* Плагины PostgreSQL
* Расширяем на любом языке
* Детализация данных оставляет желать лучшего (realtime)
* Подходит только для снятия метрик
DataDog
* Представляется как сервис, не нужно мониторить за самим мониторингом :)
* OpenSource клиент
* Удобные представления, dashboards
* К стабильности клиента есть вопросы
* Нет 'must-have' триггеров
NewRelic
* Представляется как сервис
* OpenSource клиент
* Удобные представления, dashboards
* Создавался изначально как мониторинг приложения, не системы.
* Встроенный плагин PostgreSQL
Zabbix
* В отличие от всех остальных указаных систем, умеет всё что нужно, но не всё хорошо/идеально делает
* Тяжело расширяем по сравнению с другими системами
* Есть сторонние решения для PostgreSQL
* Стандарт де-факто во многих компаниях
Что еще можно упомянуть?
Atop (!!!)
OKMeter.IO
Riemann
PCP.IO
AtopИногда другие клиенты мониторинга не работают или не могут отправить данные —
выручает atop
OKMeter
* Про плюсы раскажет докладчик от OKMeter
* Не OpenSource клиент (пугает самовольное обновление и завышеные привилегии)
* Linux only
* Отсутствие enterprise-версии (self-hosted)
* Слишком простое представление инцидента — можно поучиться у DataDog
Riemann
* Фреймворк для мониторинга: Monitoring as a code :)
* Весело и прикольно делать клиента мониторинга
* Весело и прикольно делать интеграции с дополнительными сервисами: opentsdb и т.д.
* Весело и прикольно делать дашбоард через поток на ws, или на чем напишешь
PCP.IO
* Богатое количество метрик
* Есть плагин PostgreSQL
* Честный realtime
* По заверениям расширяемая система
* Linux-only
* Несмотря на заявления RedHat проект почти не развивается
Winner ?
Zabbix:
* популярность
* умеет всё что необходимо для жизни
* OpenSource, Self-Hosted
Zabbix — сторонние решения
* template + UserParameter (psql -c):pgCayenne, pg_monz и т.д.
* libzbxpgsql: template + zabbix module
libzbxpgsql
Недостатки:
* Отсутвие кроссплатформенность
* Написан на не скриптовом языке (расширяемость)
libzbxpgsql: расширяемость
Mamonsu **
** Слоненок который держит за хвост большого слона
https://github.com/postgrespro/mamonsu
* Активный zabbix agent
* Снимает также метрики системы
* Кросплатформенный
* Расширяемый
Mamonsu: кросплатформенность
* Написан на Pure Python (2/3), не требует libpq
* Работает на linux (упакован в deb, rpm).Метрики системы через /proc, из коробки не требует повышеных привилегий.
* Работает на windows (as a service too), данные через perfomace counter
* Ничего не мешает добавить еще системы, где работает python
Mamonsu: расширяемость
* Есть только supervisor и плагины
* Supervisor — loop + thread.{is_alive,start()}
* Транспорт — тоже плагин
* Плагины могут предоставлять не только метрики, но и темплейт.
Mamonsu plugin
Plugin может написать домохозяин каждый, достаточно описать метод run:
И график / триггер / дисковери / и т.д.
Mamonsu: версия 0.0.6
* Работает у нескольких клиентов на linux **
* Тестируем windows
~ 100 items
~ 30 graphs
~ 5 discovery rules
** Последний нетривиальный баг pgsql.database.size[XXXX] changed: Type of received value [1172591968772.000000] is not suitable for value type [Numeric (float)]
Mamonsu: версия 0.0.6
Mamonsu: версия 0.0.6
Mamonsu: версия 0.0.6
Mamonsu: есть будущее?
Приглашаем:
* тестеры!
* нам нужны идеи, как сделать инструмент лучше
* присоединиться к разработке
www.postgrespro.ru
Спасибо за внимание!Вопросы?