63 lines
1.7 KiB
Go
63 lines
1.7 KiB
Go
package zabbixagent
|
|
|
|
import (
|
|
"errors"
|
|
"fmt"
|
|
"onvif-agent/config"
|
|
"os"
|
|
|
|
"golang.zabbix.com/sdk/plugin/flag"
|
|
"golang.zabbix.com/sdk/zbxerr"
|
|
)
|
|
|
|
const copyrightMessage = //
|
|
`Copyright 2001-%d imbytecat
|
|
|
|
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
|
|
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the
|
|
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
|
|
permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
|
|
The above copyright notice and this permission notice shall be included in all copies or substantial portions
|
|
of the Software.
|
|
|
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
|
|
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
|
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
|
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
SOFTWARE.
|
|
`
|
|
const (
|
|
pluginVersionMajor = 1
|
|
pluginVersionMinor = 0
|
|
pluginVersionPatch = 0
|
|
pluginVersionRC = "alpha1"
|
|
pluginLicenseYear = 2024
|
|
)
|
|
|
|
func Run() {
|
|
err := flag.HandleFlags(
|
|
config.Conf.Integrations.ZabbixAgent.Plugin.Name,
|
|
os.Args[0],
|
|
fmt.Sprintf(copyrightMessage, pluginLicenseYear),
|
|
pluginVersionRC,
|
|
pluginVersionMajor,
|
|
pluginVersionMinor,
|
|
pluginVersionPatch,
|
|
)
|
|
if err != nil {
|
|
if errors.Is(err, zbxerr.ErrorOSExitZero) {
|
|
return
|
|
}
|
|
|
|
panic(err)
|
|
}
|
|
|
|
err = Launch()
|
|
if err != nil {
|
|
return
|
|
}
|
|
|
|
panic(err)
|
|
}
|