現在のライブラリに追加メトリクスを拡張

GitHub - Strech/sidekiq-prometheus-exporter: All the basic metrics of Sidekiq with pluggable contribs prepared for Prometheus · GitHub をプロジェクトに含めるのは有益ではないでしょうか?例えば、このプラグインでは完了したジョブ数や失敗したジョブ数が取得できず、何かが失敗しているかどうかを確認する上で最も重要な指標の一つが欠落しています。

「いいね!」 2

そのプロジェクトは完全にスタンドアロンであり、私たちが統合するものではありません。

メトリクスが不足している場合は、追加するための機能リクエストを作成するか、PR で追加してください。

残念ながら、Ruby は私の得意分野ではありません。そのため、PR を作成するのは私にとって険しい道のように思えます。試してみることはできますが、 steep な学習曲線が待っているでしょう。他方、上記の公式リポジトリではチケットの作成が許可されていないため、新機能のリクエストをできる場所は限られています。つまり、ここだけです。

そこで、以下のメトリクスを現在のライブラリに追加することを提案します。これは偶然ではなく、上記のライブラリに記載されているメトリクスリストと同じものです。既に現在のバージョンで実装されているものはマーク済みです。太字のものは、バックグラウンドで実行されている Sidekiq を完全に監視するために最も明らかに必要なもののようです。

メトリクス タイプ 説明 既に実装されているメトリクス
sidekiq_processed_jobs_total カウンター 処理されたジョブの総数 discourse_sidekiq_job_count
sidekiq_failed_jobs_total カウンター 失敗したジョブの総数
sidekiq_workers ゲージ すべてのプロセスにわたるワーカーの数 discourse_sidekiq_workers
sidekiq_processes ゲージ プロセスの数 discourse_sidekiq_processes
sidekiq_busy_workers ゲージ ジョブを実行中のワーカーの数
sidekiq_enqueued_jobs ゲージ キューイングされたジョブの数 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)

もし見落としや誤解があれば、ぜひご指摘ください。

「いいね!」 1