zoukankan      html  css  js  c++  java
  • prometheus statsd 监控

    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)
    ))
  • 相关阅读:
    ios常见面试题
    UIButton 头文件常见属性和方法
    UILabel头文件常见属性
    UIButton 文档翻译(持续更新)
    UITextView
    iOS国际化
    55分钟学会正则表达式
    提示框的使用UIAlertController(UIAlertView和UIActionSheet二合一,包含通知中心的使用)
    macbook恢复Finder消失的个人收藏:桌面、文稿、下载、图片
    Socket
  • 原文地址:https://www.cnblogs.com/raoshaoquan/p/6930140.html
Copyright © 2011-2022 走看看