【发布时间】:2026-01-30 09:25:02
【问题描述】:
我希望编写一个 prometheus 规则来不断检查消息队列长度(exim 邮件中继),即应用程序容器中目录中的文件总数,并通过警报管理器提醒松弛通道。 Prometheus/Alert manager 有可能吗?
【问题讨论】:
标签: prometheus prometheus-alertmanager exim sre
我希望编写一个 prometheus 规则来不断检查消息队列长度(exim 邮件中继),即应用程序容器中目录中的文件总数,并通过警报管理器提醒松弛通道。 Prometheus/Alert manager 有可能吗?
【问题讨论】:
标签: prometheus prometheus-alertmanager exim sre
是的,可以使用 Prometheus 和警报管理器来完成,但您需要将要监控的指标导出到 promethes。在您的情况下 script_exporter 将起作用。您必须在该容器内设置导出器并将其配置为在您要监控的文件夹中执行类似ls | wc -l 的内容。
【讨论】:
Prometheus/Alert manager 是否可以做到这一点?
是的。
但首先,您需要公开指标(文件数)。可以使用 Prometheus 客户端库 (https://prometheus.io/docs/instrumenting/clientlibs/) 来完成。
它支持多种编程语言:
Go
Java or Scala
Python
Ruby
Bash
C
C++
Common Lisp
Dart
Elixir
Erlang
Haskell
Lua for Nginx
Lua for Tarantool
.NET / C#
Node.js
Perl
PHP
R
Rust
我更喜欢 Python (https://github.com/prometheus/client_python)。 如果您需要一个示例,这里是我的导出器,它公开了我需要的指标(卷曲到 http 端点以获取值):https://github.com/tinhgin/eos-last-irreversible-block-num-exporter/blob/master/exporter.py
【讨论】: