我需要监控 eks 集群中具有 nfs 挂载路径的许多旧容器。使用 nfs-client helm 图表映射容器 i 中的 nfs 目录。
我需要监视我的安装路径何时由于某种原因丢失,而我发现做到这一点的唯一方法是在容器中执行命令。
#!/bin/bash
df -h | grep ip_of_my_nfs_server | wc -l
如果上面的输出返回 1,我就知道我的 nfs 挂载路径没问题。
有人知道用普罗米修斯监视容器中的输出脚本执行情况的原因吗?
Thanks!
正如 Matt 在评论中指出的那样:首要任务应该是看看您是否可以简单地促进 node_exporter 的监控需求。
下面是关于从任意 shell 命令收集指标的更通用的答案。
Prometheus 是一个基于拉式的监控系统。您可以使用“抓取目标”对其进行配置:这些实际上只是以特定格式公开指标的 HTTP 端点。Some目标需要存活足够长的时间才能被抓取。
您拥有的两个最明显的选择是:
- 将您的逻辑包装在一个长期运行的进程中,该进程在 HTTP 端点上公开此指标,并将其配置为抓取目标
- 启动一个实例推送网关 https://github.com/prometheus/pushgateway,并将其配置为抓取目标,并让您的命令将其指标推送到那里
根据您提供的少量信息,后一种选择似乎是最明智的选择。自述文件中的重要且相关的注释:
Prometheus Pushgateway 的存在是为了允许临时作业和批处理作业将其指标公开给 Prometheus。由于此类工作可能存在的时间不够长而无法被删除,因此他们可以将其指标推送到 Pushgateway。然后 Pushgateway 将这些指标公开给 Prometheus。
你的命令看起来像这样:
#!/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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)