Выбор системы мониторинга - это практически holy-war-ная тема среди администраторов и разработчиков. Какая система лучше? Что удобнее? Какая система сможет выдержать большое количество статистики, а какая - лучше собрать и представить данные?
В своем докладе мы попробуем предельно непредвзято рассмотреть существующие решения и понять, что и когда можно использовать.
См. тезисы - http://rootconf.ru/2015/abstracts/1746
2. О нас
Евгений Потапов
генеральный директор
компании ITSumma
Круглоcуточное удаленное
администрирование серверов
и техническая поддержка
сайтов
100 миллионов уникальных
посетителей в сутки
Штат – 50 человек
Более тысячи серверов на
поддержке
3. О нас
Антон Баранов
системный администратор
Linux/Unix компании ITSumma
более 6 лет работы с Linux-
системами и web-проектами
различной сложности
Последние полтора года
тружусь над обеспечением
стабильной работы highload-
проектов для посетителей со
всего мира.
5. Разделы
• Что именно необходимо мониторить в
высоконагруженном (и не только)
проекте 24/7?
• Обзор существующих open-source
(cacti,zabbix,graphite) систем
мониторинга.
• Какие существуют SAAS-решения для
мониторинга?
6. Что нужно мониторить?
• Потребление ресурсов
• Работу серверного ПО
• Бизнес-логика приложения
44. Graphite
carbon - a Twisted (an event-
driven networking engine
written in Python) daemon that
listens for time-series data
45. Graphite
whisper - a simple database
library for storing time-series
data (similar in design to RRD)
graphite webapp - Django
webapp that renders graphs
on-demand using Cairo
46. Graphite
Client-side: любое ПО,
которое сумеет отсылать
данные в нужном формате в
Graphite (Bucky, collectd,
Collectl, Diamond,
Ganglia,Logster, Sensu, statsd
etc.)
54. Graphite
Выводы:
• Конфигурируется только ПО
отсылки данных в graphite.
Сложность зависит от ПО.
Collectd - прост.
• Гибкие настройки уведомлений.
• Автоматизация возможна и не
составит труда.
55. Graphite
Масштабируется горизонтально
Движок хранения данных whisper имеет
недостатки, проявляющиеся на больших
количествах метрик, рекомендуют менять его,
если планируется очень много метрик
graphite-relay (решение, проксирующее
метрики на несколько процессов carbon-cache
для распараллеливания нагрузки) - весьма
требовательно к CPU, что порой требует
отдельного балансера для нескольких relay.
58. ServerDensity
• Добавляем девайс в SD
• Устанавливаем клиента на сервер
тремя командами:
curl -LO
https://www.serverdensity.com/downloads/a
gent-install.sh
chmod +x agent-install.sh
./agent-install.sh -a
https://testrootconf.serverdensity.io -k
454981106adfae9b73cb42991ee05a6c
59. ServerDensity
• Nginx: добавить url к nginx-
статусу в /etc/sd-agent/config.cfg
• MySQL: добавить данные
доступа в config.cfg
• Перезапустить sd-agent
• Добавить метрики в свойствах
девайса в панели SD
62. ServerDensity
• URL для мониторинга добавляется
отдельно, в Services
• Проверка идет с точек со всего
мира (можно выбрать)
• Алерты создаются автоматически
70. Datadog HQ
• Мониторинг сайта добавляется как
http-проверка через /etc/dd-
agent/conf.d/http_check.yaml
• Уведомления настраиваются через
панель, в разделе «Monitors»