首页 > 其他 > 详细

prometheus statsd 监控

时间:2017-06-01 18:26:24      阅读:640      评论:0      收藏:0      [点我收藏+]

Prometheus是一套开源的监控&报警&时间序列数据库的组合,起始是由SoundCloud公司开发的。随着发展,越来越多公司和组织接受采用Prometheus,社会也十分活跃,他们便将它独立成开源项目,并且有公司来运作。google SRE的书内也曾提到跟他们BorgMon监控系统相似的实现是Prometheus。现在最常见的Kubernetes容器管理系统中,通常会搭配Prometheus进行监控。

介绍 http://www.cnblogs.com/vovlie/p/Prometheus_CONCEPTS.html

安装配置 http://www.cnblogs.com/vovlie/p/Prometheus_install.html

我们公司的监控系统是statsd + graphite + grafana ,但是最近遇到一个需求,需要将所有id的失败成功打到监控中,同时计算出失败率并进行排序。这个需求通过 graphite 这一套是无法实现的,有两个问题:

1. graphite 对应每个id会生成一个小文件,id多的情况下操作系统文件系统检索很慢。

2. graphite 没有强大的查询表达式支持。

 

纠结之后,选择了Prometheus,目前实现了这个需求,并且可以很好的兼容老的监控系统,业务部门不需要改动代码。

我们在往statsd_expoter写数据的时候发现并不会类似statsd那样定时清理数据,科学上网之后找到了 https://www.robustperception.io/how-does-a-prometheus-counter-work/ ,这里面介绍了prometheus的counter实现方式,获取增长值要用 increase 函数。

获取失败率Top10的id示例查询语句:

topk(10, sort_desc(
    sum(increase(demo_fail[1m]) / (increase(demo_success[1m])+increase(demo_fail[1m])) and increase(demo_fail[1m]) > 10 ) 
     by (id)
))

 

prometheus statsd 监控

原文:http://www.cnblogs.com/raoshaoquan/p/6930140.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!