feat: ジョブが失敗しているホストを取得できるように

This commit is contained in:
usbharu 2025-04-20 21:25:18 +09:00
parent 6bb1d7cd0e
commit 9049c07f3a
Signed by: usbharu
GPG Key ID: 8CB1087135660B8D
2 changed files with 37 additions and 0 deletions

View File

@ -45,6 +45,35 @@ func collectJobqueue() {
}
}
func collectDelayed() {
collectDelayedInternal()
for {
time.Sleep(5 * time.Minute)
collectDelayedInternal()
}
}
func collectDelayedInternal() {
delayed, err := client.Admin().Queue().InboxDelayed()
if err != nil {
logrus.WithField("type", "delayed").Warning(err)
} else {
for i := range delayed {
m := delayed[i]
misskeyJobQueueDelayed.WithLabelValues("inbox", m.Host).Set(float64(m.Count))
}
}
deliverDelayed, err := client.Admin().Queue().DeliverDelayed()
if err != nil {
logrus.WithField("type", "delayed").Warning(err)
return
}
for i := range deliverDelayed {
m := deliverDelayed[i]
misskeyJobQueueDelayed.WithLabelValues("deliver", m.Host).Set(float64(m.Count))
}
}
func collectPing() {
for {
time.Sleep(5 * time.Second)

View File

@ -29,6 +29,12 @@ var (
},
[]string{"type", "status"},
)
misskeyJobQueueDelayed = prometheus.NewGaugeVec(
prometheus.GaugeOpts{
Name: "misskey_jobqueue_delayed",
Help: "Delayed Job",
},
[]string{"type", "host"})
misskeyNotesCount = prometheus.NewGauge(
prometheus.GaugeOpts{
Name: "misskey_notes_count",
@ -186,6 +192,7 @@ func main() {
fmt.Println(stats)
prometheus.MustRegister(misskeyJobQueueJobsCount)
prometheus.MustRegister(misskeyJobQueueDelayed)
prometheus.MustRegister(misskeyNotesCount)
prometheus.MustRegister(misskeyUsersCount)
prometheus.MustRegister(misskeyOriginalNotesCount)
@ -219,6 +226,7 @@ func main() {
go func() {
go collectJobqueue()
go collectDelayed()
go collectPing()
go collectStats()
go collectTimeline()