【问题标题】:Monitor backup script with Prometheus使用 Prometheus 监控备份脚本
【发布时间】:2020-05-30 13:30:44
【问题描述】:

我想监控我的简单 bash 脚本以备份 cassandra,所以这是我的脚本

!/bin/bash

### Check for incomplete backups

if medusa list-backups  | grep Incomplete 
then
echo cassandra_backup_status{status='"success"'} 0  > /var/lib/node_exporter/textfile_collector/cassandra_backup_status.prom
else
echo "all is ok tho"
fi

所以你可以在这里看到,我使用文本文件收集器,其中 node_exporter 内置 然后我想像这样使用警报管理器来选择它 cassandra_backup_status =! 0;然后 alert_to_telegram

这个场景对吗?

【问题讨论】:

标签: prometheus prometheus-node-exporter


【解决方案1】:

超出公开指标的方法(文本文件或推送网关)。该方法不正确,因为:

  • 指标只会出现在一种状态(即失败时),这意味着您将无法检测脚本是否/何时运行
  • 在另一种情况下或您的 if 中,您不会删除文本文件,这意味着它将始终保持(处于失败状态)

最后,标签并不意味着传递一个状态,而只有值应该报告它。在确定什么是最后一个状态时,它还会为您节省很多痛苦;每当标签更改时,都会创建一个新指标,而旧指标仍在 prometheus 中,直到它变得陈旧(5 分钟)。

作为结论,脚本应该:

  • 使用值为 0 表示失败和 1 表示成功的指标
  • 添加一个指标来指示脚本最后一次运行的日期(以检测扁平化)

除此之外,我建议您使用临时文件或使用sponge 原子地写入文件。

【讨论】:

    猜你喜欢
    • 2022-11-04
    • 2021-12-16
    • 2018-05-22
    • 1970-01-01
    • 1970-01-01
    • 2019-10-23
    • 1970-01-01
    • 1970-01-01
    • 2020-09-08
    相关资源
    最近更新 更多