メインコンテンツへスキップ

misskeyのPrometheus Exporterを作った

·54 文字·1 分 下書き
技術 Golang Misskey Prometheus
目次

usbharu/misskey-exporter - misskey-exporter - Gitea for usbharu

misskey-exporter - Gitea for usbharu

皆さん監視 やってますか? 僕はkube-prometheus-stackを動かし始めたは良いものの微妙に面倒くさくて放置してます。k8sの監視は色々ややこしくてよくわからん ということでとりあえずPrometheusから理解していくことにしました。Prometheusがpull型とか言うのは知ってたんですが、それ以外は知らなかったので手始めに自分でexporterを作ってみることにしました。ちょうどこの記事で

2025年1月11日0時頃から同1時頃までの障害について · usbharu - blog

今後の対応 ジョブキューの監視をおこない早期に対処できるようにします。 GTLの監視をおこないInboxの問題を早期に対処できるようにします。

って言っちゃったのでMisskeyのExporterを作りました。

使用技術
#

  • Golang
  • PrometheusのGolang公式Client Library
  • go-misskey

yitsushi/go-misskey: Misskey Go SDK

特筆すべき技術的な特徴なんかは1ミリも無く、ただ愚直に実装しただけなのでコードの紹介なんかはないです。

出来上がったもの
#

usbharu/misskey-exporter - misskey-exporter - Gitea for usbharu

とりあえずジョブキュー、GTL/LTLのレスポンスタイムとそのHistogram(〇〇パーセンタイル計算用)、ユーザー/ノート数を取得できるようになりました。今後オンラインユーザーとかも計測できるようにしたいな~って感じです。Misskeyは最近自動で閉鎖サーバーへの配送停止するようになったのでJobのDelayedがほぼ無くてさみしいですね(?)

あとまだexporter作っただけでPrometheusとかGrafanaがよくわかってないので本番運用はしていません。

次に向けて
#

  • Prometheusのアラートを作れるようになりたい
  • オンラインユーザーを取得できるようにしたい
  • メディア等の情報を取れるようにしたい(オブジェクトストレージ/ローカルストレージ等も)
  • 投稿のAPIのレスポンスタイムを測れるようにしたい
  • メディアプロ棋士とか配送用のプロ棋士の監視に対応したい