Разве не было бы полезно включить GitHub - Strech/sidekiq-prometheus-exporter: All the basic metrics of Sidekiq with pluggable contribs prepared for Prometheus · GitHub в проект? Например, мне не хватает счётчиков завершённых и неудачных задач с этим плагином, а это один из самых важных показателей, чтобы понять, что что-то идёт не так…
Этот проект полностью автономный, и мы не планируем его интеграцию.
Если у вас отсутствуют метрики, создайте запрос на добавление функции в #feature или внесите изменения через PR.
К сожалению, Ruby — не совсем моё, поэтому создание PR кажется для меня сложной задачей. Я могу попробовать, но мне предстоит крутая кривая обучения. С другой стороны, в официальном репозитории, упомянутом выше, нельзя создавать задачи, поэтому у меня ограниченный круг мест, где можно запросить новые функции. А именно — здесь.
Поэтому я прошу расширить текущую библиотеку метриками, перечисленными ниже. Это, не случайно, список метрик из упомянутой выше библиотеки. Я уже отметил те, которые уже реализованы в текущей версии. Те, что выделены жирным, кажутся наиболее очевидными для полноценного мониторинга Sidekiq, работающего в фоновом режиме.
| Метрика | Тип | Описание | Уже реализованная метрика |
|---|---|---|---|
| счётчик | Общее количество обработанных задач | discourse_sidekiq_job_count | |
| sidekiq_failed_jobs_total | счётчик | Общее количество неудачных задач | |
| индикатор | Количество воркеров во всех процессах | discourse_sidekiq_workers | |
| индикатор | Количество процессов | discourse_sidekiq_processes | |
| sidekiq_busy_workers | индикатор | Количество воркеров, выполняющих задачи | |
| индикатор | Количество поставленных в очередь задач | discourse_sidekiq_jobs_enqueued | |
| sidekiq_scheduled_jobs | индикатор | Количество задач, запланированных на будущее выполнение | |
| sidekiq_retry_jobs | индикатор | Количество задач, запланированных на следующую попытку | |
| sidekiq_dead_jobs | индикатор | Количество мёртвых задач | |
| sidekiq_queue_latency_seconds | индикатор | Количество секунд между моментом добавления самой старой задачи в очередь и текущим временем (метки: name) | |
| sidekiq_queue_max_processing_time_seconds | индикатор | Количество секунд между моментом начала выполнения самой старой задачи в очереди и текущим временем (метки: name) | |
| sidekiq_queue_enqueued_jobs | индикатор | Количество задач в очереди (метки: name) |
Пожалуйста, поправьте меня, если я что-то упустил или неправильно понял.