什么是prometheus中的exporter

1、解释

所有可以向prometheus提供特定格式的监控数据的程序都可以被称为一个Exporter。

Exporter就是一个运行在节点上,负责采集指标并按照确定格式提供给prometheus获取的后台agent服务。

图片[1]-什么是prometheus中的exporter-编程社

2、为什么需要exporter

1、服务年代比较久远,非云原生的 ;

2、服务功能上未考虑,例如redis、mysql本身是没有考虑这些东西的; 

3、监控代码不容易加入 ;

基于以上三点,所以需要单独整理一个exporter。

3、exporter采集方式

1、HTTP/HTTPS协议 ;

2、读取本地文件信息 ;

3、其他标准协议,例如SNMP; 

4、调用命令。

4、exporter来源

4.1 社区提供的

图片[2]-什么是prometheus中的exporter-编程社

4.2 用户自定义的

除了直接使用社区提供的Exporter程序以外,用户还可以基于Prometheus提供的Client Library创建自己的Exporter程序,目前Promthues社区官方提供了对以下编程语言的支持:Go、Java/Scala、Python、Ruby。

同时还有第三方实现的如:Bash、C++、Common Lisp、Erlang,、Haskeel、Lua、Node.js、PHP、Rust等。

5、exporter的信息规范

# HELP <metrics_name> <doc_string>
# TYPE <metrics_name> <metrics_type>
Name{Label="value"} value  #这里是真正的数据记录
解释:
HELP:注释信息
TYPE:样本的类型注释信息
最后一行是样本,也就是真正的数据记录

示例:

图片[3]-什么是prometheus中的exporter-编程社

注意:TYPE 注释行必须出现在指标的第一个样本之前。

如果没有明确的指标类型需要返回为untyped。

除了# 开头的所有行都会被视为是监控样本数据。

© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称

    暂无评论内容