Современные тенденции сбора статистики. graphite
DESCRIPTION
Доклад для GeekFestRu 01.11.2014. Рассказ о современном мониторинге на примере graphite.TRANSCRIPT
Современные тенденции сбора статистики
бесперебойная работа
бесперебойная работа
“бутылочные
горлышки”
бесперебойная работа
“бутылочные
горлышки”
планирование
бесперебойная работа
“бутылочные
горлышки”
планирование
реакция пользователей
бесперебойная работа
“бутылочные
горлышки”
планирование
реакция пользователей
бизнес логика
CACTI
ZENOSS
ZABBIX
NAGIOS
Система сбора метрик (идеальная)
Система сбора метрик (идеальная)
unix-way
Система сбора метрик (идеальная)
unix-wayсамообслуживаемой
Система сбора метрик (идеальная)
unix-wayсамообслуживаемой
устойчивой
Система сбора метрик (идеальная)
unix-wayсамообслуживаемой
устойчивойавтоматизированной
Система сбора метрик (идеальная)
unix-wayсамообслуживаемой
устойчивойавтоматизированной
универсальной
Система сбора метрик (идеальная)
unix-wayсамообслуживаемой
устойчивойавтоматизированной
универсальнойкрасивой
CollectD
CodaHale lib
Logstash+Kibana
Reimann
Sensu
Graphite+Grafana
Graphite
carbon graphite webapp
whisper(принимающий демон) (хранилище)
(WEB API)
Graphite
- Каждая метрика хранится в отдельном файле
- Кэширование
- API возвращает данные из памяти и с диска
- Правильная обработка нерегулярных метрик
- Уплотнение записи
- Горизонтально масштабируется
- гибкая система хранения метрик
- API для отрисовки графиков
# график загрузки одного сервера http://graphite/render?target=server.web1.load&height=800&width=600
# средняя загрузка всех веб серверов 12 часов назад http://graphite/render?target=averageSeries(server.web*.load)&from=-12hours
# число пользователей в приложении в "сыром" формате обернутом в jsonhttp://graphite/render?target=app.numUsers&format=json
# число новых пользователей за 1 минутуhttp://graphite/render?target=summarize(derivative(app.numUsers),"1min")&title=New_Users_Per_Minute
API
Graphite
сенсор
приложение
сенсор
демон
сенсор
демон
collectd
cpu
ram
storage
elasticsearch
Grafana
https://github.com/hopsoft/docker-graphite-statsd
Docker Image for Graphite
sudo docker run -d \ --name graphite \ -p 80:80 \ -p 2003:2003 \ -p 8125:8125/udp \ hopsoft/graphite-statsd
Ссылки
- Reimann http://riemann.io
- Metrics https://dropwizard.github.io/
- Logstash http://logstash.net
- Kibana http://www.elasticsearch.org/overview/kibana/
- Sensu http://sensuapp.org
- CollectD https://collectd.org
- Graphite http://graphite.readthedocs.org
- Grafana http://grafana.org
- Блог http://derz.co