产品的需求与实现系列:
论产品的需求与实现系列之监控系统
论产品的需求与实现系列之数据平台
说到监控,这是一个老生常谈的话题,常见的nagios,zabbix,openfalcon,zenoss,hyperic HQ, cacti,graphite ,grafana,oneapm........大家都会列举一堆出来。这期是就我做过的监控需求项,做一个汇总。
常见的安例:
influxDB+graphite+grafana+stats+collect+elasticserach+zabbix
使用StatsD, Graphite, Grafana, Kamon搭建可用于JVM项目的可视化性能监控系统
基于Lua+Kafka+Heka的Nginx Log实时监控系统
可见监控方案如此之多,没有最优,只有更适合的场景。
需求一:监控web或api的健康度。
解决需求一: zabbix+mail+微信+短信(这个不太好搞,毕竟要收费)
需求二:监控网站的qbs,zookeeper
解决需求二:zabbix+nginx的stub_status,nc
location /ns {
stub_status on;
allow xx;
deny all;
}
count=`echo stat|nc $IP $PORT |grep Received |awk -F ":" '{print $2}'`
需求三:监控应用的jvm
解决需求三:zabbix+jmx
需求四:api,socket,ws,线程池等数扰
解决需求四:kamon+statsd+graphite+grafana+zabbix(alert)
报警系列还没做起来,目前是先有规划。
总结:做到需求四的时候是最累的,研究了statsd五种发送原理及摸拟测试,graphite参数优化及摸拟测试,到最后grafana报表展示。在这过程如何去核对采集过来数据的有效性,还是很折磨人。
成功的产品是要产生价值的。