Statsd+Graphite+Grafana:搭建web监控系统
简单介绍
Statsd:一个nodejs的客户端,用于向graphite的收集器发送数据,使用各类编程语言的客户端响起发送timer,counter等统计数据后,其通过udp定时向graphite发送数据。
- Statsd 早是 2008 年 Flickr 公司用 Perl 写的针对 Graphite、datadog 等监控数据后端存储开发的前端网络应用,2011 年 Etsy 公司用 node.js 重构。
- statsd狭义来讲,其实就是一个监听UDP(默认)或者TCP的守护程序,根据简单的协议收集statsd客户端发送来的数据,聚合之后,定时推送给后端,如graphite和influxdb等,再通过grafana等展示。
Graphite:Graphite 是用 Python 模仿 RRDtools 写的时间序列数据库套件。包括三个部分:
- carbon: 是一个Twisted守护进程,监听处理数据;
- whisper: 存储时间序列的数据库;
- webapp: 一个用 Django 框架实现的网页应用。
- 我们这里使用其接收Statsd收集上来的的数据,并存储监控数据;
Grafana:是一个开源的强有力的数据展示、量化分析工具,数据源包括 graphite、prometheus、mysql、influxdb 等等,可以直接在页面上组装语句,另外还可以对资源实现可用性和性能监控报警,同时还支持集成OpenLDAP;
Statsd
容器启动
docker run -d \ -p 8125:8125/udp \ -p 8126:8126 \ -v /home/statsd/config.js:/usr/src/app/config.js \ statsd
相关文章