MàJ exemple plugin SNMP

This commit is contained in:
jdubois 2024-04-30 16:13:11 +02:00
parent cb3f92fe76
commit 39dec74b2b

View file

@ -155,7 +155,12 @@ PUTVAL $(hostname)/bgp_prefixes/count-${PEER} N:${CURRENT_PREFIXES}
Le plugin [snmp](https://collectd.org/documentation/manpages/collectd-snmp.5.shtml) permet de faire des requêtes SNMP à des machines spécifiques.
Un block `Data` définit l'OID et sous quel format stocker les valeurs récupérées, et un block `Host` définit quelles machines interroger ainsi que la configuration SNMP.
Exemple pour récupérer le débit et le nombre de paquets unicast d'un switch, la charge d'un APC, et la fréquence, la tension, l'intensité, la source préférée et le statut d'un ATS.
Exemple pour récupérer :
* Pour un switch : le débit, le nombre de paquets unicast/multicast/broadcast, le nombre d'erreurs, les données des capteurs des SFP, la charge CPU, la RAM utilisée, l'uptime
* Pour un APC : la charge
* Pour un ATS : la fréquence, la tension, l'intensité, la source préférée et le statut
Sous debian, le paquet `snmp` est nécessaire.
~~~
@ -170,62 +175,84 @@ LoadPlugin snmp
<Data "ifmib_if_octets64">
Type "if_octets"
Table true
Instance "1.3.6.1.2.1.31.1.1.1.18"
TypeInstanceOID "1.3.6.1.2.1.31.1.1.1.18"
Values "1.3.6.1.2.1.31.1.1.1.6" "1.3.6.1.2.1.31.1.1.1.10"
</Data>
<Data "ifmib_if_packets64">
Type "if_packets"
Table true
Instance "1.3.6.1.2.1.31.1.1.1.18"
TypeInstanceOID "1.3.6.1.2.1.31.1.1.1.1"
Values "1.3.6.1.2.1.31.1.1.1.7" "1.3.6.1.2.1.31.1.1.1.11"
</Data>
<Data "ifmib_if_multicast_packets64">
Type "if_packets"
Table true
TypeInstanceOID "1.3.6.1.2.1.31.1.1.1.18"
TypeInstancePrefix "multicast-"
Values "1.3.6.1.2.1.31.1.1.1.8" "1.3.6.1.2.1.31.1.1.1.12"
</Data>
<Data "ifmib_if_broadcast_packets64">
Type "if_packets"
Table true
TypeInstanceOID "IF-MIB::ifAlias"
TypeInstancePrefix "broadcast-"
Values "1.3.6.1.2.1.31.1.1.1.9" "1.3.6.1.2.1.31.1.1.1.13"
</Data>
<Data "ifmib_if_errors">
Type "if_errors"
Table true
Instance "1.3.6.1.2.1.31.1.1.1.18"
TypeInstanceOID "1.3.6.1.2.1.31.1.1.1.1"
Values "1.3.6.1.2.1.2.2.1.14" "1.3.6.1.2.1.2.2.1.20"
</Data>
<Data "ifmib_if_dropped">
Type "if_dropped"
Table true
Instance "1.3.6.1.2.1.31.1.1.1.18"
TypeInstanceOID "1.3.6.1.2.1.31.1.1.1.1"
Values "1.3.6.1.2.1.2.2.1.13" "1.3.6.1.2.1.2.2.1.19"
</Data>
# Capteurs des SFP fibre pour Cisco Nexus
<Data "sfp_sensors">
Type "gauge"
Scale 0.001
Table true
TypeInstanceOID ".1.3.6.1.2.1.47.1.1.1.1.2"
Values ".1.3.6.1.4.1.9.9.91.1.1.1.1.4"
</Data>
# https://www.cisco.com/c/en/us/support/docs/ip/simple-network-management-protocol-snmp/15215-collect-cpu-util-snmp.html
<Data "cpu_5s">
Type "cpufreq"
Instance "cpu_5s"
TypeInstance "cpu_5s"
Values "1.3.6.1.4.1.9.9.109.1.1.1.1.6.1"
</Data>
<Data "cpu_1m">
Type "cpufreq"
Instance "cpu_1m"
TypeInstance "cpu_1m"
Values "1.3.6.1.4.1.9.9.109.1.1.1.1.7.1"
</Data>
<Data "cpu_5m">
Type "cpufreq"
Instance "cpu_5m"
TypeInstance "cpu_5m"
Values "1.3.6.1.4.1.9.9.109.1.1.1.1.8.1"
</Data>
# https://community.ipswitch.com/s/article/What-SNMP-OID-does-WhatsUp-Use-for-Cisco-Memory-and-CPU
<Data "memory_used">
Type "memory"
Table true
Instance "1.3.6.1.4.1.9.9.48.1.1.1.2"
InstancePrefix "Used - "
TypeInstanceOID "1.3.6.1.4.1.9.9.48.1.1.1.2"
TypeInstancePrefix "Used - "
Values "1.3.6.1.4.1.9.9.48.1.1.1.5"
</Data>
<Data "memory_free">
Type "memory"
Table true
Instance "1.3.6.1.4.1.9.9.48.1.1.1.2"
InstancePrefix "Free - "
TypeInstanceOID "1.3.6.1.4.1.9.9.48.1.1.1.2"
Type InstancePrefix "Free - "
Values "1.3.6.1.4.1.9.9.48.1.1.1.6"
</Data>
# https://community.cisco.com/t5/switching/snmp-uptime/td-p/939932
<Data "uptime">
Type "uptime"
Instance "uptime"
TypeInstance "uptime"
Values ".1.3.6.1.6.3.10.2.1.3.0"
</Data>
@ -233,49 +260,49 @@ LoadPlugin snmp
Address "192.0.2.1"
Version 2
Community "public"
Collect "ifmib_if_octets64" "ifmib_if_packets64" "ifmib_if_errors" "ifmib_if_dropped" "memory_used" "memory_free" "uptime"
Collect "ifmib_if_octets64" "ifmib_if_packets64" "ifmib_if_multicast_packets64" "ifmib_if_broadcast_packets64" "ifmib_if_errors" "ifmib_if_dropped" "sfp_sensors" "cpu_5s" "cpu_1m" "cpu_5m" "memory_used" "memory_free" "uptime"
</Host>
# APC
<Data "apc_current_load">
Type "current"
Instance "apc_current_load"
TypeInstance "apc_current_load"
Scale 0.1
Values ".1.3.6.1.4.1.318.1.1.12.2.3.1.1.2.1"
</Data>
<Data "apc_current_low">
Type "current"
Instance "apc_current_low"
TypeInstance "apc_current_low"
Values ".1.3.6.1.4.1.318.1.1.12.2.2.1.1.2.1"
</Data>
<Data "apc_current_near">
Type "current"
Instance "apc_current_near"
TypeInstance "apc_current_near"
Values ".1.3.6.1.4.1.318.1.1.12.2.2.1.1.3.1"
</Data>
<Data "apc_current_overload">
Type "current"
Instance "apc_current_overload"
TypeInstance "apc_current_overload"
Values ".1.3.6.1.4.1.318.1.1.12.2.2.1.1.4.1"
</Data>
# Pour les APCs avec compteurs par prises
<Data "apc_outlet_current">
Type "current"
Table true
Instance ".1.3.6.1.4.1.318.1.1.26.9.4.3.1.1"
TypeInstanceOID ".1.3.6.1.4.1.318.1.1.26.9.4.3.1.1"
Scale 0.1
Values ".1.3.6.1.4.1.318.1.1.26.9.4.3.1.6"
</Data>
<Data "apc_outlet_watt">
Type "energy"
Table true
Instance ".1.3.6.1.4.1.318.1.1.26.9.4.3.1.1"
TypeInstanceOID ".1.3.6.1.4.1.318.1.1.26.9.4.3.1.1"
Values ".1.3.6.1.4.1.318.1.1.26.9.4.3.1.7"
</Data>
<Data "apc_outlet_total_energy">
Type "energy_wh"
Table true
Instance ".1.3.6.1.4.1.318.1.1.26.9.4.3.1.1"
TypeInstanceOID ".1.3.6.1.4.1.318.1.1.26.9.4.3.1.1"
Scale 0.1
Values ".1.3.6.1.4.1.318.1.1.26.9.4.3.1.11"
</Data>
@ -299,66 +326,66 @@ LoadPlugin snmp
# ATS
<Data "ats_input_freq_a">
Type "frequency"
Instance "ats_input_freq_a"
TypeInstance "ats_input_freq_a"
Values ".1.3.6.1.4.1.318.1.1.8.5.3.2.1.4.1"
</Data>
<Data "ats_input_volt_a">
Type "voltage"
Instance "ats_input_volt_a"
TypeInstance "ats_input_volt_a"
Values ".1.3.6.1.4.1.318.1.1.8.5.3.3.1.3.1.1.1"
</Data>
<Data "ats_input_freq_b">
Type "frequency"
Instance "ats_input_freq_b"
TypeInstance "ats_input_freq_b"
Values ".1.3.6.1.4.1.318.1.1.8.5.3.2.1.4.2"
</Data>
<Data "ats_input_volt_b">
Type "voltage"
Instance "ats_input_volt_b"
TypeInstance "ats_input_volt_b"
Values ".1.3.6.1.4.1.318.1.1.8.5.3.3.1.3.2.1.1"
</Data>
<Data "ats_output_volt">
Type "voltage"
Instance "ats_output_volt"
TypeInstance "ats_output_volt"
Values ".1.3.6.1.4.1.318.1.1.8.5.4.3.1.3.1.1.1"
</Data>
<Data "ats_output_current">
Type "current"
Instance "ats_output_current"
TypeInstance "ats_output_current"
Scale 0.1
Values ".1.3.6.1.4.1.318.1.1.8.5.4.3.1.4.1.1.1"
</Data>
<Data "ats_output_freq">
Type "frequency"
Instance "ats_output_freq"
TypeInstance "ats_output_freq"
Values ".1.3.6.1.4.1.318.1.1.8.5.4.2.1.4.1"
</Data>
<Data "ats_source_preferred">
Type "count"
Instance "ats_source_preferred"
TypeInstance "ats_source_preferred"
Values ".1.3.6.1.4.1.318.1.1.8.4.2.0"
</Data>
<Data "ats_source_status">
Type "count"
Instance "ats_source_status"
TypeInstance "ats_source_status"
Values ".1.3.6.1.4.1.318.1.1.8.5.1.2.0"
</Data>
<Data "ats_status_redundancy">
Type "count"
Instance "ats_status_redundancy"
TypeInstance "ats_status_redundancy"
Values ".1.3.6.1.4.1.318.1.1.8.5.1.3.0"
</Data>
<Data "ats_status_current_state">
Type "current"
Instance "ats_status_current_state"
TypeInstance "ats_status_current_state"
Values ".1.3.6.1.4.1.318.1.1.8.5.1.4.0"
</Data>
<Data "ats_status_current_limit">
Type "current"
Instance "ats_status_current_limit"
TypeInstance "ats_status_current_limit"
Values ".1.3.6.1.4.1.318.1.1.8.4.6.0"
</Data>