高级主题
Prometheus
登录后可跨设备保存划线和私人笔记登录
GORM 提供了 Prometheus 插件,用于收集 DBStats 或用户自定义指标
https://github.com/go-gorm/prometheus
使用方法
import (
"gorm.io/gorm"
"gorm.io/driver/sqlite"
"gorm.io/plugin/prometheus"
)
db, err := gorm.Open(sqlite.Open("gorm.db"), &gorm.Config{})
db.Use(prometheus.New(prometheus.Config{
DBName: "db1",
RefreshInterval: 15,
PushAddr: "prometheus pusher address",
StartServer: true,
HTTPServerPort: 8080,
MetricsCollector: []prometheus.MetricsCollector {
&prometheus.MySQL{
VariableNames: []string{"Threads_running"},
},
},
}))自定义指标
您可以定义自己的指标,并通过 GORM Prometheus 插件进行收集,这需要实现 MetricsCollector 接口
type MetricsCollector interface {
Metrics(*Prometheus) []prometheus.Collector
}MySQL
GORM 提供了一个示例,展示如何收集 MySQL 状态作为指标,请参阅 prometheus.MySQL
&prometheus.MySQL{
Prefix: "gorm_status_",
Interval: 100,
VariableNames: []string{"Threads_running"},
}评论
登录后参与评论
正在加载评论…
KnowForge