普罗米修斯-监控容器中的命令输出 [英] Prometheus - Monitoring command output in container
本文介绍了普罗米修斯-监控容器中的命令输出的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要监视我的EKS集群中具有nfs装载路径的许多遗留容器。使用nfs-client helm图表映射容器I中的nfs目录。
我需要监视装载路径何时由于某种原因丢失,而我找到的唯一方法就是在容器中执行命令。
#!/bin/bash
df -h | grep ip_of_my_nfs_server | wc -l
如果上面的输出返回1,则我知道我的nfs装载路径是正确的。
有人知道用普罗米修斯监控容器中的输出脚本执行有什么用吗?
谢谢!
推荐答案
正如Matt在评论中指出的:首要任务应该是看看您是否可以简单地从Node_Exporter满足您的监控需求。
下面是有关从任意外壳命令收集度量的更一般答案。
普罗米修斯是一个基于Pull的监控系统。您可以使用&SCRAPE TARGET&来配置它:这些目标实际上只是以特定格式公开指标的HTTP端点。某些目标需要存活足够长的时间才能将其清除。
您有两个最明显的选择:
- 将您的逻辑包装在一个长期运行的流程中,该流程在一个HTTP端点上公开此指标,并将其配置为一个抓取目标
- 启动pushgateway的一个实例,并将其配置为擦除目标,然后让您的命令将其指标推送到那里
根据您提供的少量信息,后一种选择似乎是最明智的。自述文件中的重要和相关说明:
普罗米修斯推送网关的存在允许临时作业和批处理作业将其度量公开给普罗米修斯。由于这些类型的工作可能不会存在足够长的时间,因此它们可以转而将其指标推送到推送网关。然后,推送网关将这些指标暴露给普罗米修斯。
您的命令如下所示:
#!/bin/bash
printf "mount_path_up %d" $(df -h | grep ip_of_my_nfs_server | wc -l) | curl --data-binary @- http://pushgateway.example.org:9091/metrics/job/some_job_name
这篇关于普罗米修斯-监控容器中的命令输出的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文