131 lines
3.5 KiB
Markdown
131 lines
3.5 KiB
Markdown
# SNMP Plugin
|
|
|
|
The SNMP input plugin gathers metrics from SNMP agents.
|
|
It is an alternative to the SNMP plugin with significantly different configuration & behavior.
|
|
|
|
## Configuration:
|
|
|
|
### Example:
|
|
|
|
SNMP data:
|
|
```
|
|
.1.2.3.0.0.1.0 octet_str "foo"
|
|
.1.2.3.0.0.1.1 octet_str "bar"
|
|
.1.2.3.0.0.102 octet_str "bad"
|
|
.1.2.3.0.0.2.0 integer 1
|
|
.1.2.3.0.0.2.1 integer 2
|
|
.1.2.3.0.0.3.0 octet_str "0.123"
|
|
.1.2.3.0.0.3.1 octet_str "0.456"
|
|
.1.2.3.0.0.3.2 octet_str "9.999"
|
|
.1.2.3.0.1 octet_str "baz"
|
|
.1.2.3.0.2 uinteger 54321
|
|
.1.2.3.0.3 uinteger 234
|
|
```
|
|
|
|
Telegraf config:
|
|
```toml
|
|
[[inputs.snmp]]
|
|
agents = [ "127.0.0.1:161" ]
|
|
version = 2
|
|
community = "public"
|
|
|
|
name = "system"
|
|
[[inputs.snmp.field]]
|
|
name = "hostname"
|
|
oid = ".1.2.3.0.1"
|
|
is_tag = true
|
|
[[inputs.snmp.field]]
|
|
name = "uptime"
|
|
oid = ".1.2.3.0.2"
|
|
[[inputs.snmp.field]]
|
|
name = "loadavg"
|
|
oid = ".1.2.3.0.3"
|
|
conversion = "float(2)"
|
|
|
|
[[inputs.snmp.table]]
|
|
name = "remote_servers"
|
|
inherit_tags = [ "hostname" ]
|
|
[[inputs.snmp.table.field]]
|
|
name = "server"
|
|
oid = ".1.2.3.0.0.1"
|
|
is_tag = true
|
|
[[inputs.snmp.table.field]]
|
|
name = "connections"
|
|
oid = ".1.2.3.0.0.2"
|
|
[[inputs.snmp.table.field]]
|
|
name = "latency"
|
|
oid = ".1.2.3.0.0.3"
|
|
conversion = "float"
|
|
```
|
|
|
|
Resulting output:
|
|
```
|
|
* Plugin: snmp, Collection 1
|
|
> system,agent_host=127.0.0.1,host=mylocalhost,hostname=baz loadavg=2.34,uptime=54321i 1468953135000000000
|
|
> remote_servers,agent_host=127.0.0.1,host=mylocalhost,hostname=baz,server=foo connections=1i,latency=0.123 1468953135000000000
|
|
> remote_servers,agent_host=127.0.0.1,host=mylocalhost,hostname=baz,server=bar connections=2i,latency=0.456 1468953135000000000
|
|
```
|
|
|
|
### Config parameters
|
|
|
|
* `agents`: Default: `[]`
|
|
List of SNMP agents to connect to in the form of `IP[:PORT]`. If `:PORT` is unspecified, it defaults to `161`.
|
|
|
|
* `version`: Default: `2`
|
|
SNMP protocol version to use.
|
|
|
|
* `community`: Default: `"public"`
|
|
SNMP community to use.
|
|
|
|
* `max_repetitions`: Default: `50`
|
|
Maximum number of iterations for repeating variables.
|
|
|
|
* `sec_name`:
|
|
Security name for authenticated SNMPv3 requests.
|
|
|
|
* `auth_protocol`: Values: `"MD5"`,`"SHA"`,`""`. Default: `""`
|
|
Authentication protocol for authenticated SNMPv3 requests.
|
|
|
|
* `auth_password`:
|
|
Authentication password for authenticated SNMPv3 requests.
|
|
|
|
* `sec_level`: Values: `"noAuthNoPriv"`,`"authNoPriv"`,`"authPriv"`. Default: `"noAuthNoPriv"`
|
|
Security level used for SNMPv3 messages.
|
|
|
|
* `context_name`:
|
|
Context name used for SNMPv3 requests.
|
|
|
|
* `priv_protocol`: Values: `"DES"`,`"AES"`,`""`. Default: `""`
|
|
Privacy protocol used for encrypted SNMPv3 messages.
|
|
|
|
* `priv_password`:
|
|
Privacy password used for encrypted SNMPv3 messages.
|
|
|
|
|
|
* `name`:
|
|
Output measurement name.
|
|
|
|
#### Field parameters:
|
|
* `name`:
|
|
Output field/tag name.
|
|
|
|
* `oid`:
|
|
OID to get. Must be in dotted notation, not textual.
|
|
|
|
* `is_tag`:
|
|
Output this field as a tag.
|
|
|
|
* `conversion`: Values: `"float(X)"`,`"float"`,`"int"`,`""`. Default: `""`
|
|
Converts the value according to the given specification.
|
|
|
|
- `float(X)`: Converts the input value into a float and divides by the Xth power of 10. Efficively just moves the decimal left X places. For example a value of `123` with `float(2)` will result in `1.23`.
|
|
- `float`: Converts the value into a float with no adjustment. Same as `float(0)`.
|
|
- `int`: Convertes the value into an integer.
|
|
|
|
#### Table parameters:
|
|
* `name`:
|
|
Output measurement name.
|
|
|
|
* `inherit_tags`:
|
|
Which tags to inherit from the top-level config and to use in the output of this table's measurement.
|