1、解释
所有可以向prometheus提供特定格式的监控数据的程序都可以被称为一个Exporter。
Exporter就是一个运行在节点上,负责采集指标并按照确定格式提供给prometheus获取的后台agent服务。
2、为什么需要exporter
1、服务年代比较久远,非云原生的 ;
2、服务功能上未考虑,例如redis、mysql本身是没有考虑这些东西的;
3、监控代码不容易加入 ;
基于以上三点,所以需要单独整理一个exporter。
3、exporter采集方式
1、HTTP/HTTPS协议 ;
2、读取本地文件信息 ;
3、其他标准协议,例如SNMP;
4、调用命令。
4、exporter来源
4.1 社区提供的
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:样本的类型注释信息
最后一行是样本,也就是真正的数据记录
示例:
注意:TYPE 注释行必须出现在指标的第一个样本之前。
如果没有明确的指标类型需要返回为untyped。
除了# 开头的所有行都会被视为是监控样本数据。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容