54 lines
1.5 KiB
Go
54 lines
1.5 KiB
Go
|
package snmp
|
||
|
|
||
|
import (
|
||
|
"time"
|
||
|
|
||
|
"github.com/influxdata/telegraf/config"
|
||
|
)
|
||
|
|
||
|
type ClientConfig struct {
|
||
|
// Timeout to wait for a response.
|
||
|
Timeout config.Duration `toml:"timeout"`
|
||
|
Retries int `toml:"retries"`
|
||
|
Version uint8 `toml:"version"`
|
||
|
UnconnectedUDPSocket bool `toml:"unconnected_udp_socket"`
|
||
|
|
||
|
// Parameters for Version 1 & 2
|
||
|
Community string `toml:"community"`
|
||
|
|
||
|
// Parameters for Version 2 & 3
|
||
|
MaxRepetitions uint32 `toml:"max_repetitions"`
|
||
|
|
||
|
// Parameters for Version 3
|
||
|
ContextName string `toml:"context_name"`
|
||
|
SecLevel string `toml:"sec_level"`
|
||
|
SecName string `toml:"sec_name"`
|
||
|
AuthProtocol string `toml:"auth_protocol"`
|
||
|
AuthPassword config.Secret `toml:"auth_password"`
|
||
|
PrivProtocol string `toml:"priv_protocol"`
|
||
|
PrivPassword config.Secret `toml:"priv_password"`
|
||
|
EngineID string `toml:"-"`
|
||
|
EngineBoots uint32 `toml:"-"`
|
||
|
EngineTime uint32 `toml:"-"`
|
||
|
|
||
|
// Path to mib files
|
||
|
Path []string `toml:"path"`
|
||
|
Translator string `toml:"-"`
|
||
|
}
|
||
|
|
||
|
func DefaultClientConfig() *ClientConfig {
|
||
|
return &ClientConfig{
|
||
|
Timeout: config.Duration(5 * time.Second),
|
||
|
Retries: 3,
|
||
|
Version: 2,
|
||
|
Path: []string{"/usr/share/snmp/mibs"},
|
||
|
Translator: "gosmi",
|
||
|
Community: "public",
|
||
|
MaxRepetitions: 10,
|
||
|
SecLevel: "authNoPriv",
|
||
|
SecName: "myuser",
|
||
|
AuthProtocol: "MD5",
|
||
|
AuthPassword: config.NewSecret([]byte("pass")),
|
||
|
}
|
||
|
}
|