refactor(zabbix): 使 zabbix agent 插件集成独立化

This commit is contained in:
2024-08-23 13:28:48 +08:00
parent c6803285fe
commit a5f6c3b1d9
12 changed files with 78 additions and 68 deletions

View File

@ -7,12 +7,9 @@ import (
"golang.zabbix.com/sdk/plugin"
"golang.zabbix.com/sdk/plugin/container"
"golang.zabbix.com/sdk/zbxerr"
"onvif-agent/config"
"time"
)
var Name = config.Conf.Integrations.ZabbixAgent.Plugin.Name
type metricKey string
type metricBinding struct {
@ -34,7 +31,7 @@ func Launch() error {
return err
}
h, err := container.NewHandler(Name)
h, err := container.NewHandler(PluginName)
if err != nil {
return errs.Wrap(err, "failed to create new handler")
}
@ -81,11 +78,11 @@ func (p *zabbixAgentPlugin) registerMetrics() error {
p.metrics = map[metricKey]*metricBinding{
"onvif.version": {
metric: metric.New(
"ONVIF plugin version",
"ONVIF app version",
nil,
false,
),
handler: h.GetPluginVersion,
handler: h.GetAppVersion,
},
"onvif.client": {
metric: metric.New(
@ -107,7 +104,7 @@ func (p *zabbixAgentPlugin) registerMetrics() error {
metricSet[string(k)] = m.metric
}
err := plugin.RegisterMetrics(p, Name, metricSet.List()...)
err := plugin.RegisterMetrics(p, PluginName, metricSet.List()...)
if err != nil {
return errs.Wrap(err, "failed to register metrics")
}