node_exporter自定义监控
背景
我们在使用Zabbix的时候,可以自己写自定义脚本。在使用Promethues的时候,有很多的exporter,但是有一些特殊的情况没有,比如,我需要监控进程一启动就告警,但是进程没启动,是使用process_exporter监控不了的,在process_exporter官网找了一圈,也问了一圈,发现还是只有自己动手才行。但是自定义的脚本有一个缺点就是,你不知道他有什么缺点,你光是想要完成这个任务的话,有很多办法,但是想要他至少没有啥副作用,是有挑战的。
步骤
1)自定义脚本并把内容以key:value的形式写入以.prom结尾的文件
2)定时任务执行自定义脚本
3)添加启动参数,node_exporter采集数据(采集频率为定时任务的频率)
1、配置启动
通过textfile采集用户自己生成的指标,参数--collector.textfile.directory
,如下:
./node_exporter --collector.textfile.directory='/path/'
2、输出格式
#HELP example_metric read from /path/example.prom #TYPE example_metric untyped example_metric 1
3、任务执行
一般脚本任务(输出指标到.prom文件)会被放入crontab中,按照需求设置指标采集时间,同时node_exporter采集的时候文件执行写入操作,可能导致文件出现问题。我们可以将任务先转移到一个临时文件,然后通过临时文件的重命名进行操作。
*/2 * * * * sh test.sh && mv /path/example.promm /path/example.prom
4、指标采集
指标采集的时间是根据你的crontab的定时任务的时间来的,可以根据通过这个指标来判断数据是否上报node_textfile_mtime_seconds;也可以对这个指标监控, node_textfile_mtime_seconds这个key值表示的是textfile最后一次采集文件的时间,如
node_textfile_mtime_seconds{file="process_counts.prom"}
写在最后
李先生(Lemon),高级运维工程师(自称),SRE专家(目标),梦想在35岁买一辆保时捷。喜欢钻研底层技术,认为底层基础才是王道。一切新技术都离不开操作系统(CPU、内存、磁盘)、网络等。坚持输入输出,记录自己学习的点滴,在平凡中坚持前行,总有一天会遇见不一样的自己。公众号:运维汪(ID:Leeeee_Li)。
-------------------------------------------
个性签名:在平凡中坚持前行,总有一天会遇见不一样的自己!
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!
万水千山总是情,打赏一分行不行,所以如果你心情还比较高兴,也是可以扫码打赏博主,哈哈哈(っ•̀ω•́)っ✎⁾⁾!



微信公众号 微信打赏 支付宝打赏
posted on 2021-03-29 17:18 Captain_Li 阅读(1696) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架