首页 > 编程语言 >通过pushgateway 推送的一批机器的nodeexporter,怎么判断这批机器是否有宕机的,已解决

通过pushgateway 推送的一批机器的nodeexporter,怎么判断这批机器是否有宕机的,已解决

时间:2024-07-19 14:29:00浏览次数:8  
标签:node exporter 机器 宕机 up 这批 pwd test

上回说到,即使你的监控已经下线,prometheus 还会拉取到旧的监控数据,需要手动清理 pushgateway 不要的数据。
但是这样并不符合我们监控的预期,尤其是对于pushgateway获取的机器如果宕机的话,就会收不到告警,本文针对此问题做一个处理

给node-exporter增加一个告警项,unix时间戳,这里采用node-exporter的文件扩展方式,详情参考:
https://www.cnblogs.com/jasmine456/p/18305866
这里不再赘述,
node-exporter --collector.textfile.directory=/host/data/exporter/key/

1. 定义unix时间戳监控项,test_pwd_node_exporter_up

cat /opt/workerdir/node_exporter/key/test_runner

#!/bin/bash

echo test_pwd_node_exporter_up `date +%s`

2. 定义一个定时任务,每分钟执行一次

echo "* * * * * /bin/bash /opt/workerdir/node_exporter/key/test_runner > /opt/workerdir/node_exporter/key/test.prom" >> /var/spool/cron/crontabs/root

3. 查询node-exporter是否拿到该数据

curl -s 127.0.0.1:9100/metrics| grep test

node_textfile_mtime_seconds{file="/host/opt/workerdir/node_exporter/key/test.prom"} 1.721370181e+09
# HELP test_pwd_node_exporter_up Metric read from /host/opt/workerdir/node_exporter/key/test.prom
# TYPE test_pwd_node_exporter_up untyped
test_pwd_node_exporter_up 1.721370181e+09

确定拿到之后,可以去prometheus去验证下,

4. 再rule配置告警rule文件

表达式:
time() - test_pwd_node_exporter_up > 300 or up ==0
获取到时间戳大于5min,告警或者 prometheus自定义的up函数 为0,告警

groups:
- name: 实例存活报警
  rules:
  - alert: 服务器宕机报警
    #    expr: up == 0
    expr: time() - test_pwd_node_exporter_up > 300 or up ==0 
    for: 1m
    labels:
      severity: emergency
      level: critical 
    annotations:
      # description: '服务器 {{ $labels.instance }}宕机'
      summary: "Node {{ $labels.instance }} down"
      description: "Node {{ $labels.instance }} has been down for more than 5 minutes."

5. 重载prometheus配置

curl -X POST http://10.20.6.115:9090/-/reload

收到告警,至此解决了pushgateway 推送后端的nodeexporter,不能监控宕机的问题。
之前一直在纠结不能使用up函数,官方其实也知道这个问题,但是搜了一圈没有好的解决方案,
官方讨论链接:https://github.com/prometheus/pushgateway/discussions/543
有兴趣的小伙伴可以参与讨论下

标签:node,exporter,机器,宕机,up,这批,pwd,test
From: https://www.cnblogs.com/jasmine456/p/18311400

相关文章

  • 机器学习中常用的数据类型
    常用的数据类型有FP64、FP32、FP16、BFLOAT16等FP64FP64表示64位浮点数,通常为IEEE754定义的双精度二进制浮点格式,由1位符号位、11位指数位、52位小数位组成表示范围:正数范围:约4.9x10e-324~1.8x10e308负数范围:约-1.8x10e308~-4.9x10e-324通常用于精度要求......
  • 计算机毕业设计PySpark+Django高考志愿填报推荐系统 高考预测 高考大数据分析 Hadoop
    摘要本文旨在设计与实现一个基于Spark的高考志愿填报推荐系统,旨在帮助高考生根据自身成绩和兴趣,精准推荐合适的大学和专业。系统采用大数据处理框架Spark,结合机器学习算法,实现了对高考数据的深度挖掘和分析,为考生提供科学、有效的志愿填报建议。系统捕捉考生个人特征、......
  • Java基础-Java代码变成机器可执行代码过程
    1Javac编译因为JVM把Javac把Java代码编译成字节码,即把.java文件变成.class文件,JVM(Java虚拟机)可以理解字节码文件,将其转换为机器可以执行的代码,所以只要安装了JVM的平台,都可以运行Java程序。2JVMJavac编译后,Java文件就变成了字节码文件,JVM类加载器会去加载字节码文件,然后由解......
  • XGBoost模型构建+SHAP解析-Python代码——用XGBoost模型实现机器学习并进行黑箱过程解
    一、XGBoost模型简介1.1适用范围XGBoost(ExtremeGradientBoosting)是一个基于梯度提升(GradientBoosting)框架的增强算法,广泛应用于分类、回归、排序等任务。常见的应用包括:信用风险评估销售预测病毒检测图像识别1.2原理XGBoost是梯度提升树(GradientBoostedDecisionTree......
  • 决策树模型构建+调参Python代码——用决策树模型实现机器学习
    一、决策树模型简介1.1适用范围决策树模型(DecisionTree)可以用于分类和回归任务,广泛应用于以下领域:客户细分信用风险评估医疗诊断营销策略优化1.2原理决策树是一种树形结构的预测模型,通过一系列的特征测试(即节点的分裂)将数据集逐步划分,从而形成一个树状的决策路径。每个节......
  • 智能结合:信息推送与供需发布机器人
    摘要在数字化浪潮中,信息的快速传递与资源的高效匹配是企业与用户互动的关键。本文将探讨信息推送机器人与供需发布机器人的智能结合,旨在通过技术创新提升用户体验和企业效率。引言随着技术的进步,信息推送和资源匹配的方式也在不断演变。传统的手动推送和资源发布不仅效率低......
  • TG群导航机器人:深度检索技术的创新应用
    关键词TG群导航机器人,深度检索,信息检索,智能助手1.引言TG群导航机器人是一种运行在TG平台上的智能助手,能够根据用户的需求,自动检索并推送相关信息。通过深度检索技术的应用,机器人能够提供更加精准和个性化的信息服务。在信息泛滥的今天,精准的信息检索变得尤为重要。TG群导......
  • MiniRHex:一种开源的六足机器人 by DYNAMIXEL Robotis
    原文链接:https://www.youtube.com/watch?v=ldLXVDNCCzc  At#IROS 2023,weranintotheCarnegieMellonUniversity RobomechanicsLab.TheyhadsomereallycoolrobotstherethatwerePoweredby#DYNAMIXEL XLseriesmotors.Oneoftherobotstheyhadfeat......
  • 【终极指南】从零开始征服机器学习:初学者的黄金路线图
       踏入机器学习的世界,对许多初学者而言,无疑是一场既兴奋又略带忐忑的冒险。尤其对于那些非数学或计算机专业背景的同学,或是已经在职场打拼的朋友们,寻找一条适合自己的入门路径,显得尤为重要。鉴于此,本文将结合个人经验与导师建议,精心整理一份机器学习学习指南,希望能为渴......
  • 机器学习:详解迁移学习(Transfer learning)
    详解迁移学习深度学习中,最强大的理念之一就是,有的时候神经网络可以从一个任务中习得知识,并将这些知识应用到另一个独立的任务中。所以例如,也许已经训练好一个神经网络,能够识别像猫这样的对象,然后使用那些知识,或者部分习得的知识去帮助您更好地阅读x射线扫描图,这就是所谓的迁移学......