blog/content/posts/2025-02-02/index.md

3.3 KiB
Raw Permalink Blame History

author draft categories date tags keywords title relpermalink url decription
usbharu true
技術
2025-02-02T14:52:40+09:00
Golang
Misskey
Prometheus
Golang
Misskey
Prometheus
misskeyのPrometheus Exporterを作った posts/2025-02-02/ posts/2025-02-02/ misskeyのPrometheus Exporterを作った

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のレスポンスタイムを測れるようにしたい
  • メディアプロ棋士とか配送用のプロ棋士の監視に対応したい