首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Centreon (nagios) to Prometheus : bash自定义检查

Centreon (nagios) to Prometheus : bash自定义检查
EN

Stack Overflow用户
提问于 2022-04-15 14:19:57
回答 1查看 114关注 0票数 0

我们有一个中心服务器(基于nagios),它在bash中具有不同的自定义签入。

例如,如果CSV文件中有错误,每2分钟检查一次的脚本:

  • 如果有超过0的错误,检查会发出警告。
  • 否则,好的

类似于:

代码语言:javascript
复制
count_files=$(find $1 -name "*.csv" | wc -l)

if [[ $count_files -ne 0 ]]
then
    echo "WARNING - Error files found"
    exit 1
else
    echo "OK - No error file found"
    exit 0
fi

我们计划将中心改为Prometheus/Grafana,但我想知道如何在Prometheus进行自定义bash检查。

我应该将脚本放在这些VM上并以Prometheus格式公开结果吗?就像这样:

代码语言:javascript
复制
# HELP csv_checker Check error in csv files
# TYPE csv_checker gauge
csv_checker 20

如果是的话,我该怎么做?

普罗米修斯会定期检查这个端点吗?我怎样才能用300虚拟机来解决这个问题呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-20 19:48:24

我建议您使用NodeExporter的特性Textfile收集器

  1. 在每个VM上设置节点导出程序,并添加一个调用bash脚本的cron作业,每2分钟收集一次数据(*/2 * * * *): #!/usr/bin/env -euo pipefail csv_files=$(查找/mnt -name "*.csv“env wc -l)回显"# HELP csv_files -l# TYPE csv_files{} $csv_files”> /opt/node_exporter/textfile_collector/csv_files.prom.$$ /opt/node_exporter/textfile_collector/csv_files.prom mv
  2. 设置Prometheus,从VM中收集度量
  3. 设置警报程序
  4. 添加警告规则,如:
    • 警告: CSV文件中的错误expr: csv_files != 0用于: 1m标签:严重性:警告注释:摘要:实例{ $labels.instance }}描述上的CSV文件中的错误:“值= {{ $value }\n标签= {{ $labels }}”

Prometheus将以给定的间隔检查所有主机,并通知/target_folder中包含/target_folder文件的每个实例。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71885195

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档