zoukankan      html  css  js  c++  java
  • 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)。

    作者:李先生

    -------------------------------------------

    个性签名:在平凡中坚持前行,总有一天会遇见不一样的自己!

    如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!

    万水千山总是情,打赏一分行不行,所以如果你心情还比较高兴,也是可以扫码打赏博主,哈哈哈(っ•̀ω•́)っ✎⁾⁾!

    微信公众号 微信打赏 微信打赏

       微信公众号        微信打赏       支付宝打赏

  • 相关阅读:
    DAS,NAS,SAN在数据库存储上的应用
    ASP.NET4.5Web API及非同步程序开发系列3
    WCFRESTFul服务搭建及实现增删改查
    Workflow:自定义工作流 之 模型选择
    结构变量作为方法的参数调用
    C语言复习笔记-17种小算法-解决实际问题
    构建RESTful风格的WCF服务
    进程状态转换、CPU调度算法
    Excel 开发概述
    jQuery 1.10.2 and 2.0.3 Released
  • 原文地址:https://www.cnblogs.com/lemon-le/p/14593297.html
Copyright © 2011-2022 走看看