feat: バージョンを表示できるように
This commit is contained in:
parent
f34672c826
commit
2fe3084d80
12
collector.go
12
collector.go
|
@ -69,6 +69,18 @@ func collectPing() {
|
|||
}
|
||||
}
|
||||
|
||||
func collectMeta() {
|
||||
for {
|
||||
time.Sleep(1 * time.Minute)
|
||||
meta, err := client.Meta().InstanceMeta(true)
|
||||
if err != nil {
|
||||
logrus.WithField("type", "meta").Warning(err)
|
||||
continue
|
||||
}
|
||||
misskeyMeta.WithLabelValues(*meta.Version).Set(1)
|
||||
}
|
||||
}
|
||||
|
||||
func collectStats() {
|
||||
for {
|
||||
time.Sleep(30 * time.Second)
|
||||
|
|
450
dashboards.json
450
dashboards.json
|
@ -23,7 +23,6 @@
|
|||
"panels": [
|
||||
{
|
||||
"datasource": {
|
||||
"type": "prometheus",
|
||||
"uid": "cej25be7w5af4e"
|
||||
},
|
||||
"fieldConfig": {
|
||||
|
@ -31,36 +30,23 @@
|
|||
"color": {
|
||||
"mode": "thresholds"
|
||||
},
|
||||
"fieldMinMax": false,
|
||||
"mappings": [
|
||||
{
|
||||
"options": {
|
||||
"0": {
|
||||
"index": 1,
|
||||
"text": "DOWN"
|
||||
"custom": {
|
||||
"align": "auto",
|
||||
"cellOptions": {
|
||||
"type": "auto"
|
||||
},
|
||||
"1": {
|
||||
"index": 0,
|
||||
"text": "UP"
|
||||
}
|
||||
"inspect": false
|
||||
},
|
||||
"type": "value"
|
||||
}
|
||||
],
|
||||
"noValue": "UNKNOWN",
|
||||
"mappings": [],
|
||||
"thresholds": {
|
||||
"mode": "absolute",
|
||||
"steps": [
|
||||
{
|
||||
"color": "red"
|
||||
"color": "green"
|
||||
},
|
||||
{
|
||||
"color": "red",
|
||||
"value": 0
|
||||
},
|
||||
{
|
||||
"color": "green",
|
||||
"value": 1
|
||||
"value": 80
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -68,140 +54,60 @@
|
|||
"overrides": []
|
||||
},
|
||||
"gridPos": {
|
||||
"h": 6,
|
||||
"w": 3,
|
||||
"h": 3,
|
||||
"w": 6,
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"id": 1,
|
||||
"id": 12,
|
||||
"options": {
|
||||
"colorMode": "value",
|
||||
"graphMode": "area",
|
||||
"justifyMode": "auto",
|
||||
"orientation": "auto",
|
||||
"percentChangeColorMode": "standard",
|
||||
"reduceOptions": {
|
||||
"calcs": [
|
||||
"last"
|
||||
],
|
||||
"cellHeight": "sm",
|
||||
"footer": {
|
||||
"countRows": false,
|
||||
"fields": "",
|
||||
"values": false
|
||||
"reducer": [
|
||||
"sum"
|
||||
],
|
||||
"show": false
|
||||
},
|
||||
"showPercentChange": false,
|
||||
"textMode": "auto",
|
||||
"wideLayout": true
|
||||
"showHeader": false
|
||||
},
|
||||
"pluginVersion": "11.6.0",
|
||||
"targets": [
|
||||
{
|
||||
"datasource": {
|
||||
"type": "prometheus",
|
||||
"uid": "cej25be7w5af4e"
|
||||
},
|
||||
"disableTextWrap": false,
|
||||
"editorMode": "builder",
|
||||
"expr": "misskey_health",
|
||||
"exemplar": false,
|
||||
"expr": "misskey_meta{instance=\"$instance\", job=\"$job\"}",
|
||||
"format": "table",
|
||||
"fullMetaSearch": false,
|
||||
"includeNullMetadata": true,
|
||||
"instant": true,
|
||||
"legendFormat": "__auto",
|
||||
"range": true,
|
||||
"range": false,
|
||||
"refId": "A",
|
||||
"useBackend": false
|
||||
}
|
||||
],
|
||||
"title": "Health",
|
||||
"type": "stat"
|
||||
},
|
||||
{
|
||||
"datasource": {
|
||||
"type": "prometheus",
|
||||
"uid": "cej25be7w5af4e"
|
||||
},
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"color": {
|
||||
"mode": "thresholds"
|
||||
},
|
||||
"fieldMinMax": false,
|
||||
"mappings": [
|
||||
"title": "Misskey Version",
|
||||
"transformations": [
|
||||
{
|
||||
"id": "organize",
|
||||
"options": {
|
||||
"0": {
|
||||
"index": 1,
|
||||
"text": "DOWN"
|
||||
"excludeByName": {
|
||||
"Time": true,
|
||||
"Value": true,
|
||||
"__name__": true,
|
||||
"instance": true,
|
||||
"job": true
|
||||
},
|
||||
"1": {
|
||||
"index": 0,
|
||||
"text": "UP"
|
||||
"includeByName": {},
|
||||
"indexByName": {},
|
||||
"renameByName": {}
|
||||
}
|
||||
},
|
||||
"type": "value"
|
||||
}
|
||||
],
|
||||
"noValue": "UNKNOWN",
|
||||
"thresholds": {
|
||||
"mode": "absolute",
|
||||
"steps": [
|
||||
{
|
||||
"color": "red"
|
||||
},
|
||||
{
|
||||
"color": "red",
|
||||
"value": 0
|
||||
},
|
||||
{
|
||||
"color": "green",
|
||||
"value": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"gridPos": {
|
||||
"h": 6,
|
||||
"w": 3,
|
||||
"x": 3,
|
||||
"y": 0
|
||||
},
|
||||
"id": 7,
|
||||
"options": {
|
||||
"colorMode": "value",
|
||||
"graphMode": "area",
|
||||
"justifyMode": "auto",
|
||||
"orientation": "auto",
|
||||
"percentChangeColorMode": "standard",
|
||||
"reduceOptions": {
|
||||
"calcs": [
|
||||
"last"
|
||||
],
|
||||
"fields": "",
|
||||
"values": false
|
||||
},
|
||||
"showPercentChange": false,
|
||||
"textMode": "value",
|
||||
"wideLayout": true
|
||||
},
|
||||
"pluginVersion": "11.6.0",
|
||||
"targets": [
|
||||
{
|
||||
"datasource": {
|
||||
"type": "prometheus",
|
||||
"uid": "cej25be7w5af4e"
|
||||
},
|
||||
"disableTextWrap": false,
|
||||
"editorMode": "builder",
|
||||
"expr": "up",
|
||||
"fullMetaSearch": false,
|
||||
"includeNullMetadata": true,
|
||||
"legendFormat": "__auto",
|
||||
"range": true,
|
||||
"refId": "A",
|
||||
"useBackend": false
|
||||
}
|
||||
],
|
||||
"title": "Exporter Health",
|
||||
"type": "stat"
|
||||
"type": "table"
|
||||
},
|
||||
{
|
||||
"datasource": {
|
||||
|
@ -261,14 +167,18 @@
|
|||
"pluginVersion": "11.6.0",
|
||||
"targets": [
|
||||
{
|
||||
"disableTextWrap": false,
|
||||
"editorMode": "code",
|
||||
"exemplar": false,
|
||||
"expr": "100 * (sum_over_time(misskey_health[30d]) / count_over_time(misskey_health[30d]))",
|
||||
"expr": "100 * (sum_over_time(misskey_health{instance=\"$instance\", job=\"$job\"}[30d]) / count_over_time(misskey_health{instance=\"$instance\", job=\"$job\"}[30d]))",
|
||||
"format": "time_series",
|
||||
"fullMetaSearch": false,
|
||||
"includeNullMetadata": true,
|
||||
"instant": false,
|
||||
"legendFormat": "__auto",
|
||||
"range": true,
|
||||
"refId": "A"
|
||||
"refId": "A",
|
||||
"useBackend": false
|
||||
}
|
||||
],
|
||||
"title": "Availability(30d)",
|
||||
|
@ -311,7 +221,7 @@
|
|||
"percentChangeColorMode": "standard",
|
||||
"reduceOptions": {
|
||||
"calcs": [
|
||||
"lastNotNull"
|
||||
"last"
|
||||
],
|
||||
"fields": "",
|
||||
"values": false
|
||||
|
@ -384,26 +294,34 @@
|
|||
"pluginVersion": "11.6.0",
|
||||
"targets": [
|
||||
{
|
||||
"disableTextWrap": false,
|
||||
"editorMode": "builder",
|
||||
"expr": "misskey_notes_count",
|
||||
"expr": "misskey_notes_count{instance=\"$instance\", job=\"$job\"}",
|
||||
"fullMetaSearch": false,
|
||||
"includeNullMetadata": true,
|
||||
"instant": false,
|
||||
"legendFormat": "All",
|
||||
"range": true,
|
||||
"refId": "A"
|
||||
"refId": "A",
|
||||
"useBackend": false
|
||||
},
|
||||
{
|
||||
"datasource": {
|
||||
"type": "prometheus",
|
||||
"uid": "cej25be7w5af4e"
|
||||
},
|
||||
"disableTextWrap": false,
|
||||
"editorMode": "builder",
|
||||
"exemplar": false,
|
||||
"expr": "misskey_original_notes_count",
|
||||
"expr": "misskey_original_notes_count{instance=\"$instance\", job=\"$job\"}",
|
||||
"fullMetaSearch": false,
|
||||
"hide": false,
|
||||
"includeNullMetadata": true,
|
||||
"instant": false,
|
||||
"legendFormat": "Local",
|
||||
"range": true,
|
||||
"refId": "B"
|
||||
"refId": "B",
|
||||
"useBackend": false
|
||||
}
|
||||
],
|
||||
"title": "Note Count",
|
||||
|
@ -459,29 +377,219 @@
|
|||
"pluginVersion": "11.6.0",
|
||||
"targets": [
|
||||
{
|
||||
"editorMode": "code",
|
||||
"expr": "misskey_users_count",
|
||||
"disableTextWrap": false,
|
||||
"editorMode": "builder",
|
||||
"expr": "misskey_users_count{instance=\"$instance\", job=\"$job\"}",
|
||||
"fullMetaSearch": false,
|
||||
"includeNullMetadata": true,
|
||||
"legendFormat": "All",
|
||||
"range": true,
|
||||
"refId": "A"
|
||||
"refId": "A",
|
||||
"useBackend": false
|
||||
},
|
||||
{
|
||||
"datasource": {
|
||||
"type": "prometheus",
|
||||
"uid": "cej25be7w5af4e"
|
||||
},
|
||||
"editorMode": "code",
|
||||
"expr": "misskey_original_users_count",
|
||||
"disableTextWrap": false,
|
||||
"editorMode": "builder",
|
||||
"expr": "misskey_original_users_count{instance=\"$instance\", job=\"$job\"}",
|
||||
"fullMetaSearch": false,
|
||||
"hide": false,
|
||||
"includeNullMetadata": true,
|
||||
"instant": false,
|
||||
"legendFormat": "Local",
|
||||
"range": true,
|
||||
"refId": "B"
|
||||
"refId": "B",
|
||||
"useBackend": false
|
||||
}
|
||||
],
|
||||
"title": "User Count",
|
||||
"type": "stat"
|
||||
},
|
||||
{
|
||||
"datasource": {
|
||||
"type": "prometheus",
|
||||
"uid": "cej25be7w5af4e"
|
||||
},
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"color": {
|
||||
"mode": "thresholds"
|
||||
},
|
||||
"fieldMinMax": false,
|
||||
"mappings": [
|
||||
{
|
||||
"options": {
|
||||
"0": {
|
||||
"index": 1,
|
||||
"text": "DOWN"
|
||||
},
|
||||
"1": {
|
||||
"index": 0,
|
||||
"text": "UP"
|
||||
}
|
||||
},
|
||||
"type": "value"
|
||||
}
|
||||
],
|
||||
"noValue": "UNKNOWN",
|
||||
"thresholds": {
|
||||
"mode": "absolute",
|
||||
"steps": [
|
||||
{
|
||||
"color": "red"
|
||||
},
|
||||
{
|
||||
"color": "red",
|
||||
"value": 0
|
||||
},
|
||||
{
|
||||
"color": "green",
|
||||
"value": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"gridPos": {
|
||||
"h": 3,
|
||||
"w": 3,
|
||||
"x": 0,
|
||||
"y": 3
|
||||
},
|
||||
"id": 1,
|
||||
"options": {
|
||||
"colorMode": "value",
|
||||
"graphMode": "area",
|
||||
"justifyMode": "auto",
|
||||
"orientation": "auto",
|
||||
"percentChangeColorMode": "standard",
|
||||
"reduceOptions": {
|
||||
"calcs": [
|
||||
"last"
|
||||
],
|
||||
"fields": "",
|
||||
"values": false
|
||||
},
|
||||
"showPercentChange": false,
|
||||
"textMode": "auto",
|
||||
"wideLayout": true
|
||||
},
|
||||
"pluginVersion": "11.6.0",
|
||||
"targets": [
|
||||
{
|
||||
"datasource": {
|
||||
"type": "prometheus",
|
||||
"uid": "cej25be7w5af4e"
|
||||
},
|
||||
"disableTextWrap": false,
|
||||
"editorMode": "builder",
|
||||
"expr": "misskey_health{instance=\"$instance\", job=\"$job\"}",
|
||||
"fullMetaSearch": false,
|
||||
"includeNullMetadata": true,
|
||||
"legendFormat": "__auto",
|
||||
"range": true,
|
||||
"refId": "A",
|
||||
"useBackend": false
|
||||
}
|
||||
],
|
||||
"title": "Health",
|
||||
"type": "stat"
|
||||
},
|
||||
{
|
||||
"datasource": {
|
||||
"type": "prometheus",
|
||||
"uid": "cej25be7w5af4e"
|
||||
},
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"color": {
|
||||
"mode": "thresholds"
|
||||
},
|
||||
"fieldMinMax": false,
|
||||
"mappings": [
|
||||
{
|
||||
"options": {
|
||||
"0": {
|
||||
"index": 1,
|
||||
"text": "DOWN"
|
||||
},
|
||||
"1": {
|
||||
"index": 0,
|
||||
"text": "UP"
|
||||
}
|
||||
},
|
||||
"type": "value"
|
||||
}
|
||||
],
|
||||
"noValue": "UNKNOWN",
|
||||
"thresholds": {
|
||||
"mode": "absolute",
|
||||
"steps": [
|
||||
{
|
||||
"color": "red"
|
||||
},
|
||||
{
|
||||
"color": "red",
|
||||
"value": 0
|
||||
},
|
||||
{
|
||||
"color": "green",
|
||||
"value": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"gridPos": {
|
||||
"h": 3,
|
||||
"w": 3,
|
||||
"x": 3,
|
||||
"y": 3
|
||||
},
|
||||
"id": 7,
|
||||
"options": {
|
||||
"colorMode": "value",
|
||||
"graphMode": "area",
|
||||
"justifyMode": "auto",
|
||||
"orientation": "auto",
|
||||
"percentChangeColorMode": "standard",
|
||||
"reduceOptions": {
|
||||
"calcs": [
|
||||
"last"
|
||||
],
|
||||
"fields": "",
|
||||
"values": false
|
||||
},
|
||||
"showPercentChange": false,
|
||||
"textMode": "value",
|
||||
"wideLayout": true
|
||||
},
|
||||
"pluginVersion": "11.6.0",
|
||||
"targets": [
|
||||
{
|
||||
"datasource": {
|
||||
"type": "prometheus",
|
||||
"uid": "cej25be7w5af4e"
|
||||
},
|
||||
"disableTextWrap": false,
|
||||
"editorMode": "builder",
|
||||
"expr": "up{instance=\"$instance\", job=\"$job\"}",
|
||||
"fullMetaSearch": false,
|
||||
"includeNullMetadata": true,
|
||||
"legendFormat": "__auto",
|
||||
"range": true,
|
||||
"refId": "A",
|
||||
"useBackend": false
|
||||
}
|
||||
],
|
||||
"title": "Exporter Health",
|
||||
"type": "stat"
|
||||
},
|
||||
{
|
||||
"datasource": {
|
||||
"type": "prometheus",
|
||||
|
@ -711,7 +819,7 @@
|
|||
},
|
||||
"disableTextWrap": false,
|
||||
"editorMode": "builder",
|
||||
"expr": "misskey_api_response_time_raw",
|
||||
"expr": "misskey_api_response_time_raw{instance=\"$instance\", job=\"$job\"}",
|
||||
"fullMetaSearch": false,
|
||||
"hide": false,
|
||||
"includeNullMetadata": false,
|
||||
|
@ -780,7 +888,7 @@
|
|||
{
|
||||
"disableTextWrap": false,
|
||||
"editorMode": "builder",
|
||||
"expr": "sum by(status) (misskey_jobqueue_jobs{type=\"deliver\"})",
|
||||
"expr": "sum by(status) (misskey_jobqueue_jobs{type=\"deliver\", instance=\"$instance\", job=\"$job\"})",
|
||||
"fullMetaSearch": false,
|
||||
"includeNullMetadata": true,
|
||||
"legendFormat": "{{type}} {{status}}",
|
||||
|
@ -847,7 +955,7 @@
|
|||
{
|
||||
"disableTextWrap": false,
|
||||
"editorMode": "builder",
|
||||
"expr": "sum by(status) (misskey_jobqueue_jobs{type=\"inbox\"})",
|
||||
"expr": "sum by(status) (misskey_jobqueue_jobs{type=\"inbox\", instance=\"$instance\", job=\"$job\"})",
|
||||
"fullMetaSearch": false,
|
||||
"includeNullMetadata": true,
|
||||
"legendFormat": "{{type}} {{status}}",
|
||||
|
@ -934,9 +1042,7 @@
|
|||
],
|
||||
"displayMode": "table",
|
||||
"placement": "right",
|
||||
"showLegend": true,
|
||||
"sortBy": "Max",
|
||||
"sortDesc": true
|
||||
"showLegend": true
|
||||
},
|
||||
"tooltip": {
|
||||
"hideZeros": false,
|
||||
|
@ -949,7 +1055,7 @@
|
|||
{
|
||||
"disableTextWrap": false,
|
||||
"editorMode": "builder",
|
||||
"expr": "misskey_jobqueue_jobs",
|
||||
"expr": "misskey_jobqueue_jobs{instance=\"$instance\", job=\"$job\"}",
|
||||
"fullMetaSearch": false,
|
||||
"includeNullMetadata": true,
|
||||
"interval": "1",
|
||||
|
@ -964,19 +1070,53 @@
|
|||
}
|
||||
],
|
||||
"preload": false,
|
||||
"refresh": "auto",
|
||||
"schemaVersion": 41,
|
||||
"tags": [],
|
||||
"templating": {
|
||||
"list": []
|
||||
"list": [
|
||||
{
|
||||
"current": {
|
||||
"text": "misskey-exporter:8080",
|
||||
"value": "misskey-exporter:8080"
|
||||
},
|
||||
"definition": "label_values(instance)",
|
||||
"name": "instance",
|
||||
"options": [],
|
||||
"query": {
|
||||
"qryType": 1,
|
||||
"query": "label_values(instance)",
|
||||
"refId": "PrometheusVariableQueryEditor-VariableQuery"
|
||||
},
|
||||
"refresh": 1,
|
||||
"regex": "",
|
||||
"type": "query"
|
||||
},
|
||||
{
|
||||
"current": {
|
||||
"text": "process_exporter",
|
||||
"value": "process_exporter"
|
||||
},
|
||||
"definition": "label_values(job)",
|
||||
"name": "job",
|
||||
"options": [],
|
||||
"query": {
|
||||
"qryType": 1,
|
||||
"query": "label_values(job)",
|
||||
"refId": "PrometheusVariableQueryEditor-VariableQuery"
|
||||
},
|
||||
"refresh": 1,
|
||||
"regex": "",
|
||||
"type": "query"
|
||||
}
|
||||
]
|
||||
},
|
||||
"time": {
|
||||
"from": "now-15m",
|
||||
"from": "now-3h",
|
||||
"to": "now"
|
||||
},
|
||||
"timepicker": {},
|
||||
"timezone": "browser",
|
||||
"title": "New dashboard",
|
||||
"uid": "eej5avfu4yyo0f",
|
||||
"version": 25
|
||||
"version": 26
|
||||
}
|
8
main.go
8
main.go
|
@ -154,6 +154,12 @@ var (
|
|||
Name: "misskey_online_users",
|
||||
Help: "Online Users",
|
||||
})
|
||||
misskeyMeta = prometheus.NewGaugeVec(
|
||||
prometheus.GaugeOpts{
|
||||
Name: "misskey_meta",
|
||||
Help: "Misskey Instance Metadata",
|
||||
},
|
||||
[]string{"version"})
|
||||
)
|
||||
|
||||
func main() {
|
||||
|
@ -202,6 +208,7 @@ func main() {
|
|||
prometheus.MustRegister(misskeyApiResponseTime)
|
||||
prometheus.MustRegister(misskeyApiResponseTimeRaw)
|
||||
prometheus.MustRegister(misskeyOnlineUsers)
|
||||
prometheus.MustRegister(misskeyMeta)
|
||||
|
||||
handler := promhttp.Handler()
|
||||
|
||||
|
@ -216,6 +223,7 @@ func main() {
|
|||
go collectStats()
|
||||
go collectTimeline()
|
||||
go collectOnlineUsers()
|
||||
go collectMeta()
|
||||
}()
|
||||
|
||||
logrus.Error(server.ListenAndServe())
|
||||
|
|
Loading…
Reference in New Issue