
自动化运维
mingkai_beijing
这个作者很懒,什么都没留下…
展开
-
使用golang编写Prometheus Exporter
Exporter是基于Prometheus实施的监控系统中重要的组成部分,承担数据指标的采集工作,官方的exporter列表中已经包含了常见的绝大多数的系统指标监控,比如用于机器性能监控的node_exporter, 用于网络设备监控的snmp_exporter等等。这些已有的exporter对于监控来说,仅仅需要很少的配置工作就能提供完善的数据指标采集。有时我们需要自己去写一些与业务逻辑...原创 2018-04-19 10:32:39 · 26196 阅读 · 1 评论 -
blackbox_exporter源码阅读
blackbox_exporter是Prometheus监控系统中用于在agent机器上采集http,DNS,ICMP相关信息,通过prometheus传递的参数和target,映射到对应的agent的web接口上进行处理。比如下面的采集配置来自于prometheus的配置文件 scrape_configs: - job_name: 'blackbox' metrics_path:...原创 2018-04-19 10:59:37 · 3144 阅读 · 3 评论 -
Prometheus AlertManager代码阅读笔记
AlertManager用于接收Prometheus发送的告警并对于告警进行一系列的处理后发送给指定的用户。系统的整体设计图如下面所示,并且支持HA高可用部署。AlertManager接收告警Prometheus或者告警发送系统可以通过API的方式发送给Alertmanager,收到告警后将告警分别存储在AlertProvider中(当前实现是存储在内存中,可以通过接口的方式自行实现其...原创 2018-06-11 16:59:02 · 3357 阅读 · 1 评论 -
Prometheus AlertManager代码阅读笔记 Notify组件
Notify组件定义了路由处理过程中的receiver pipeline(本文不包含Silence和Inhibit部分), 包含等待间隔的WaitState,去重处理DedupStage,重试处理RetryStage和SetNotifyStage,实现上类似于中间件的方式,一层层的顺序处理。创建pipeline的函数定义如下:// createStage creates a pipeline...原创 2018-06-12 11:29:46 · 2739 阅读 · 0 评论 -
使用textfile收集监控指标
node_exporter本身除了收集系统指标以外,还可以通过textfile模块来采集用户自己生成的指标,这对于系统监控提供了更多的使用空间和场景. 比如我们通过shell脚本采集的数据结果就可以通过该途径传递出去,用于绘图或告警等. 默认情况下node_exporter将启用textfile组建,但是需要设置一个采集的路径,所有的生成的监控指标将放在该目录下,并以.prom文件名结尾. 同...翻译 2018-08-08 14:29:27 · 4880 阅读 · 0 评论