Правила Prometheus - проверьте количество файлов в каталоге контейнера приложения
Я хочу написать правило Прометея, чтобы постоянно проверять длину очереди сообщений (почтовый ретранслятор exim), которая представляет собой общее количество файлов в каталоге в контейнере приложения, и предупреждать канал о резерве через диспетчер предупреждений. Возможно ли это вообще с Prometheus / Alert manager?
2 ответа
Да, это можно сделать с помощью Prometheus и Alert manager, но у вас будет что-то для экспорта метрики, которую вы хотите отслеживать, в 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