Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
centos:web_c7:icinga:snmp [30.05.2020 21:20. ] – [snmpget (Version 3)] djangocentos:web_c7:icinga:snmp [01.06.2020 11:51. ] (aktuell) – [check_snmp] django
Zeile 8: Zeile 8:
 In diesem Konfigurationsbeispiel werden wir an einem **[[https://www.tp-link.com/de/business-networking/smart-switch/t1600g-52ps/|tp-link Jetstream-48-Port-Gigabit-Smart-PoE+-Switch T1600G-52PS]]** zuerst einmal die Einstellungen für den SNMP-Zugriff einrichten. Wichtige Hinweise finden sich hierzu in der {{:centos:web_c7:icinga:1910012764_t1600gseries_ug.pdf|User Guide}} des Switches. In diesem Konfigurationsbeispiel werden wir an einem **[[https://www.tp-link.com/de/business-networking/smart-switch/t1600g-52ps/|tp-link Jetstream-48-Port-Gigabit-Smart-PoE+-Switch T1600G-52PS]]** zuerst einmal die Einstellungen für den SNMP-Zugriff einrichten. Wichtige Hinweise finden sich hierzu in der {{:centos:web_c7:icinga:1910012764_t1600gseries_ug.pdf|User Guide}} des Switches.
  
-Entsprechend der Dokumentation erstellen wir die beiden **''Engine IDs''** und aktivieren **''SNMP''** in der **Global Config**. +Entsprechend der Dokumentation erstellen wir die beiden **''Engine IDs''** und aktivieren **''SNMP''** in der **Global Config**, die zur eindeutigen Identifikation der betreffenden Kommunikationspartner dient und vor der nachfolgenden Konfiguration von **SNMP v3** erfolgen muss
  
 {{ :centos:web_c7:icinga:tp-link_1.png?direct&555 |Bild: SNMP Konfiguration T1600G-52PS}} {{ :centos:web_c7:icinga:tp-link_1.png?direct&555 |Bild: SNMP Konfiguration T1600G-52PS}}
 /* {{ :centos:web_c7:icinga:tp-link_2.png?direct&555 |Bild: SNMP Konfiguration T1600G-52PS}} */ /* {{ :centos:web_c7:icinga:tp-link_2.png?direct&555 |Bild: SNMP Konfiguration T1600G-52PS}} */
  
-Als nächstes definieren wir uns eine SNMP-Gruppe mit Security-Level v3.+<WRAP center round alert 90%> 
 +**Standardmäßig ist SNMP unverschlüsselt und wird als Klartext über das Netzwerk übertragen, also für unser Sicherheitsniveau alles andere als nutzbar!** 
 +</WRAP> 
 + 
 +Daher werden wir SNMP-Gruppe mit Security-Level v3 verwenden, welches die Möglichkeit der Verschlüsselung und echten Authentifizierung bietet. Hierfür ist natürlich auch eine gesonderte Konfiguration von Nöten. 
 + 
 +SNMP v3 kennt verschiedene Sicherheitsstufen: 
 +  * **noAuthNoPriv** : Hier kommt keine echte benutzerbasierte Authentifizierung und auch keine Verschlüsselung zum Einsatz. Der Vorteil gegenüber v2c ist jedoch, dass das Passwort nicht mehr im Klartext sondern als Passworthash übertragen wird. 
 +  * **authNoPriv** : Benutzerbasierte Authentifizierung erfolgt mit einem Namen (Sicherheitsname) und einem Passwort. Die Anmeldedaten werden jedoch unverschlüsselt übertragen! 
 +  * **authPriv** : Benutzerbasierte Authentifizierung wie auch bei authNoPriv, zusätzlich werden alle Daten verschlüsselt. Hier müssen Sie einen Schlüssel manuell austauschen, d.h. den Schlüssel sowohl im zu überwachenden Gerät als auch in Client/Host hinterlegen, der die Anfragen initiieren wird. 
 +   
 +Als nächstes definieren wir uns eine SNMP-Gruppe mit Security-Level v3. Mit SNMPv3-Gruppen können Benutzer in Gruppen mit unterschiedlichen Berechtigungen und Zugriffsrechten zusammenfassen werden
  
 {{ :centos:web_c7:icinga:tp-link_3.png?direct&555 |Bild: SNMP Konfiguration T1600G-52PS}} {{ :centos:web_c7:icinga:tp-link_3.png?direct&555 |Bild: SNMP Konfiguration T1600G-52PS}}
Zeile 23: Zeile 34:
  
 ===== SNMP-Clientkonfiguration des CentOS 7 Hosts ===== ===== SNMP-Clientkonfiguration des CentOS 7 Hosts =====
-Zur Abfrage unseres Netzwerkswitchs auf der Konsole unseres **[[https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system_administrators_guide/sect-system_monitoring_tools-net-snmp|CentOS 7 Hosts]** werden wir die beiden Befehle **''snmpwalk''** und **''snmpget''** verwenden. Diese finden sich in dem **RPM** **net-snmp-utils**.+Zur Abfrage unseres Netzwerkswitchs auf der Konsole unseres **[[https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system_administrators_guide/sect-system_monitoring_tools-net-snmp|CentOS 7 Hosts]]** werden wir die beiden Befehle **''snmpwalk''** und **''snmpget''** verwenden. Diese finden sich in dem **RPM** **net-snmp-utils**.
  
 Wir installieren also dieses Paket mit Hilfe des Paketverwaltungstool **YUM**. Wir installieren also dieses Paket mit Hilfe des Paketverwaltungstool **YUM**.
Zeile 110: Zeile 121:
 V5.7.2                                                       28 May 2007                                                  SNMPWALK(1)</code> V5.7.2                                                       28 May 2007                                                  SNMPWALK(1)</code>
  
-   # snmpwalk -v3 -l authPriv -u monwalk -a SHA -A 1mi55MY8357fr13nd511V14 -x DES -X 1mi55MY8357fr13nd511V14 10.10.10.106+   # snmpwalk -v3 -l authPriv -u monwalk -a SHA -A 1mi55MY8F511V14 -x DES -X 1mi55MY8F511V14 10.10.10.106
  
 <code>SNMPv2-MIB::sysDescr.0 = STRING: JetStream 48-Port Gigabit Smart PoE Switch with 4 SFP Slots <code>SNMPv2-MIB::sysDescr.0 = STRING: JetStream 48-Port Gigabit Smart PoE Switch with 4 SFP Slots
Zeile 200: Zeile 211:
  
 In folgendem Beispiel wollen wir den Hostnamen des Switchs erfragen. Hierzu nutzen wir den Parameter **''sysName.0''**. In folgendem Beispiel wollen wir den Hostnamen des Switchs erfragen. Hierzu nutzen wir den Parameter **''sysName.0''**.
-   # snmpget -v3  -l authPriv -u monwalk -a SHA -A 1mi55MY8357fr13nd511V14 -x DES -X 1mi55MY8357fr13nd511V14 10.10.10.106 sysName.0+   # snmpget -v3  -l authPriv -u monwalk -a SHA -A 1mi55MY8F511V14 -x DES -X 1mi55MY8F511V14 10.10.10.106 sysName.0
  
   SNMPv2-MIB::sysName.0 = STRING: switch_ug   SNMPv2-MIB::sysName.0 = STRING: switch_ug
  
 Natürlich können wir auch mehrere Werte abfragen, wie z.B. den Einbauort mit **''sysLocation.0''** und die Updime des Switch mit **''system.sysUpTime.0''**. Natürlich können wir auch mehrere Werte abfragen, wie z.B. den Einbauort mit **''sysLocation.0''** und die Updime des Switch mit **''system.sysUpTime.0''**.
-   # snmpget -v3  -l authPriv -u monwalk -a SHA -A 1mi55MY8357fr13nd511V14 -x DES -X 1mi55MY8357fr13nd511V14 \+   # snmpget -v3  -l authPriv -u monwalk -a SHA -A 1mi55MY8F511V14 -x DES -X 1mi55MY8F511V14 \
      10.10.10.106 sysLocation.0 system.sysUpTime.0      10.10.10.106 sysLocation.0 system.sysUpTime.0
  
   SNMPv2-MIB::sysLocation.0 = STRING: 933k - HE 07   SNMPv2-MIB::sysLocation.0 = STRING: 933k - HE 07
   DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (1690245443) 195 days, 15:07:34.43   DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (1690245443) 195 days, 15:07:34.43
 +
 +==== check_snmp ====
 +Für die Checks verwenden wir **''check_snmp''**, welches unter CentOS 7 in dem RPM **nagios-plugins-snmp** enthalten ist. Dieses Paket installieren wir uns nun noch.
 +   # yum install nagios-plugins-snmp -y
 +
 +Die zum Plugin gehörigen Option können wir wie folgt abfragen.
 +   # /usr/lib64/nagios/plugins/check_snmp -h
 +
 +<code>check_snmp v2.3.3 (nagios-plugins 2.3.3)
 +Copyright (c) 1999-2018 Nagios Plugin Development Team
 + <devel@nagios-plugins.org>
 +
 +Check status of remote machines and obtain system information via SNMP
 +
 +
 +Usage:
 +check_snmp -H <ip_address> -o <OID> [-w warn_range] [-c crit_range]
 +[-C community] [-s string] [-r regex] [-R regexi] [-t timeout] [-e retries]
 +[-l label] [-u units] [-p port-number] [-d delimiter] [-D output-delimiter]
 +[-m miblist] [-P snmp version] [-N context] [-L seclevel] [-U secname]
 +[-a authproto] [-A authpasswd] [-x privproto] [-X privpasswd] [--strict]
 +
 +Options:
 + -h, --help
 +    Print detailed help screen
 + -V, --version
 +    Print version information
 + --extra-opts=[section][@file]
 +    Read options from an ini file. See
 +    https://www.nagios-plugins.org/doc/extra-opts.html
 +    for usage and examples.
 + -4, --use-ipv4
 +    Use IPv4 connection
 + -6, --use-ipv6
 +    Use IPv6 connection
 + -H, --hostname=ADDRESS
 +    Host name, IP Address, or unix socket (must be an absolute path)
 + -p, --port=INTEGER
 +    Port number (default: 161)
 + -n, --next
 +    Use SNMP GETNEXT instead of SNMP GET
 + -P, --protocol=[1|2c|3]
 +    SNMP protocol version
 + -N, --context=CONTEXT
 +    SNMPv3 context
 + -L, --seclevel=[noAuthNoPriv|authNoPriv|authPriv]
 +    SNMPv3 securityLevel
 + -a, --authproto=[MD5|SHA]
 +    SNMPv3 auth proto
 + -x, --privproto=[DES|AES]
 +    SNMPv3 priv proto (default DES)
 + -C, --community=STRING
 +    Optional community string for SNMP communication (default is "public")
 + -U, --secname=USERNAME
 +    SNMPv3 username
 + -A, --authpasswd=PASSWORD
 +    SNMPv3 authentication password
 + -X, --privpasswd=PASSWORD
 +    SNMPv3 privacy password
 + -o, --oid=OID(s)
 +    Object identifier(s) or SNMP variables whose value you wish to query
 + -m, --miblist=STRING
 +    List of MIBS to be loaded (default = none if using numeric OIDs or 'ALL'
 +    for symbolic OIDs.)
 + -d, --delimiter=STRING
 +    Delimiter to use when parsing returned data. Default is "="
 +    Any data on the right hand side of the delimiter is considered
 +    to be the data that should be used in the evaluation.
 + -w, --warning=THRESHOLD(s)
 +    Warning threshold range(s)
 + -c, --critical=THRESHOLD(s)
 +    Critical threshold range(s)
 + --rate
 +    Enable rate calculation. See 'Rate Calculation' below
 + --rate-multiplier
 +    Converts rate per second. For example, set to 60 to convert to per minute
 + --offset=OFFSET
 +    Add/subtract the specified OFFSET to numeric sensor data
 + -s, --string=STRING
 +    Return OK state (for that OID) if STRING is an exact match
 + -r, --ereg=REGEX
 +    Return OK state (for that OID) if extended regular expression REGEX matches
 + -R, --eregi=REGEX
 +    Return OK state (for that OID) if case-insensitive extended REGEX matches
 + --invert-search
 +    Invert search result (CRITICAL if found)
 + -l, --label=STRING
 +    Prefix label for output from plugin
 + -u, --units=STRING
 +    Units label(s) for output data (e.g., 'sec.').
 + -D, --output-delimiter=STRING
 +    Separates output on multiple OID requests
 + -t, --timeout=INTEGER:<timeout state>
 +    Seconds before connection times out (default: 10)
 +    Optional ":<timeout state>" can be a state integer (0,1,2,3) or a state STRING
 + -e, --retries=INTEGER
 +    Number of retries to be used in the requests
 + -O, --perf-oids
 +    Label performance data with OIDs instead of --label's
 + --strict
 +    Enable strict mode: arguments to -o will be checked against the OID
 +    returned by snmpget. If they don't match, the plugin returns UNKNOWN.
 + -v, --verbose
 +    Show details for command-line debugging (Nagios may truncate output)
 +
 +This plugin uses the 'snmpget' command included with the NET-SNMP package.
 +if you don't have the package installed, you will need to download it from
 +http://net-snmp.sourceforge.net before you can use this plugin.
 +
 +Notes:
 + - Multiple OIDs (and labels) may be indicated by a comma or space-delimited  
 +   list (lists with internal spaces must be quoted).
 + - See:
 + https://www.nagios-plugins.org/doc/guidelines.html#THRESHOLDFORMAT
 + for THRESHOLD format and examples.
 + - When checking multiple OIDs, separate ranges by commas like '-w 1:10,1:,:20'
 + - Note that only one string and one regex may be checked at present
 + - All evaluation methods other than PR, STR, and SUBSTR expect that the value
 +   returned from the SNMP query is an unsigned integer.
 +
 +Rate Calculation:
 + In many places, SNMP returns counters that are only meaningful when
 + calculating the counter difference since the last check. check_snmp
 + saves the last state information in a file so that the rate per second
 + can be calculated. Use the --rate option to save state information.
 + On the first run, there will be no prior state - this will return with OK.
 + The state is uniquely determined by the arguments to the plugin, so
 + changing the arguments will create a new state file.
 +
 +Send email to help@nagios-plugins.org if you have questions regarding use
 +of this software. To submit patches or suggest improvements, send email to
 +devel@nagios-plugins.org
 +
 +</code>
 +
 +Analog dem vorherigen Beispiel mit **[[#snmpget_version_3|snmpget]]** wollen wir auch hier die Uptime des Switches mit Hilfe von **''check_snmp''** abfragen. Die **''OID''** für **''sysUpTime''** lautet gemäß der  **[[https://www.tp-link.com/us/configuration-guides/q_a_supported_public_mibs_for_tp-link_switches/?configurationId=2963#|Supported Public MIBs for TP-Link Switches]]** __**''1.3.6.1.2.1.1.3.0''**__.
 +/* # ./check_snmp -4 -P 3 -H 10.0.10.6 -L authPriv -a SHA -x DES -U monwalker -A "yaq12wsx" -X "yaq12wsx" -o .1.3.6.1.2.1.1.3.0 */
 +   # /usr/lib64/nagios/plugins/check_snmp -4 -P 3 -H 10.10.10.106 -L authPriv -a SHA -x DES -U monwalk -A "1mi55MY8F511V14" \
 +                                          -X "1mi55MY8F511V14" -o .1.3.6.1.2.1.1.3.0
 +
 +  SNMP OK - Timeticks: (1696245576) 196 days, 7:47:35.76 | iso.3.6.1.2.1.1.3.0=1696245576
 +
 +In der nachfolgenden Tabelle sind ein paar der gängigen **[[https://www.tp-link.com/us/configuration-guides/q_a_supported_public_mibs_for_tp-link_switches/?configurationId=2963#|Supported Public MIBs for TP-Link Switches]]** aufgeführt.
 +
 +^ Node      ^ OID                 ^ check-command        ^
 +| sysDescr  | .1.3.6.1.2.1.1.1.0  | <code># /usr/lib64/nagios/plugins/check_snmp -4 -P 3 -H 10.10.10.106 -L authPriv -a SHA -x DES -U monwalk \
 +                   -A "1mi55MY8F511V14" -X "1mi55MY8F511V14" -o .1.3.6.1.2.1.1.1.0</code><code>SNMP OK - "JetStream 48-Port Gigabit Smart PoE Switch with 4 SFP Slots" |</code>         |
 +| sysUpTime  | .1.3.6.1.2.1.1.3.0  | <code># /usr/lib64/nagios/plugins/check_snmp -4 -P 3 -H 10.10.10.106 -L authPriv -a SHA -x DES -U monwalk \
 +                   -A "1mi55MY8F511V14" -X "1mi55MY8F511V14" -o .1.3.6.1.2.1.1.3.0</code><code>SNMP OK - Timeticks: (1697971242) 196 days, 12:35:12.42 | iso.3.6.1.2.1.1.3.0=1697971242</code>         |
 +| sysContact  | .1.3.6.1.2.1.1.4.0  | <code># /usr/lib64/nagios/plugins/check_snmp -4 -P 3 -H 10.10.10.106 -L authPriv -a SHA -x DES -U monwalk \
 +                   -A "1mi55MY8F511V14" -X "1mi55MY8F511V14" -o .1.3.6.1.2.1.1.4.0</code><code>SNMP OK - "django@mailserver.guru" |</code>         |
 +| sysName  | .1.3.6.1.2.1.1.5.0  | <code># /usr/lib64/nagios/plugins/check_snmp -4 -P 3 -H 10.10.10.106 -L authPriv -a SHA -x DES -U monwalk \
 +                   -A "1mi55MY8F511V14" -X "1mi55MY8F511V14" -o .1.3.6.1.2.1.1.5.0</code><code>SNMP OK - "switch_intranet" |</code>         |
 +| sysLocation  | .1.3.6.1.2.1.1.6.0  | <code># /usr/lib64/nagios/plugins/check_snmp -4 -P 3 -H 10.10.10.106 -L authPriv -a SHA -x DES -U monwalk \
 +                   -A "1mi55MY8F511V14" -X "1mi55MY8F511V14" -o .1.3.6.1.2.1.1.6.0</code><code>SNMP OK - "Rack: 933k - HE 07" |</code>         |
 +
 +Nun wollen wir den Zustand einzelner Ports unseres Switchs abfragen. In der Administrations-WEB-GUI sehen wir z.B. folgende Übersicht. 
 +
 +{{ :centos:web_c7:icinga:tp-link_6.png?direct&750 |Bild: Portübersicht der Web-Admin GUI des T1600G-52PS Switch}}
 +
 +Die blau markierten Ports sind **down** und die gelb und grün markierten Ports sind up, also in Verwendung.
 +Mit **''snmpwalk''** können wir entsprechend auch die Anzeige der verwendeten Ports auf der Konsole darstellen.
 +   # snmpwalk -v3 -l authPriv -u monwalk -a SHA -A 1mi55MY8F511V14 -x DES -X 1mi55MY8F511V14 \ 
 +               10.10.10.106 | grep ifOperStatus.
 +<code>IF-MIB::ifOperStatus.1 = INTEGER: up(1)
 +IF-MIB::ifOperStatus.49153 = INTEGER: up(1)
 +IF-MIB::ifOperStatus.49154 = INTEGER: up(1)
 +IF-MIB::ifOperStatus.49155 = INTEGER: up(1)
 +IF-MIB::ifOperStatus.49156 = INTEGER: up(1)
 +IF-MIB::ifOperStatus.49157 = INTEGER: up(1)
 +IF-MIB::ifOperStatus.49158 = INTEGER: down(2)
 +IF-MIB::ifOperStatus.49159 = INTEGER: up(1)
 +IF-MIB::ifOperStatus.49160 = INTEGER: up(1)
 +IF-MIB::ifOperStatus.49161 = INTEGER: down(2)
 +IF-MIB::ifOperStatus.49162 = INTEGER: up(1)
 +IF-MIB::ifOperStatus.49163 = INTEGER: up(1)
 +IF-MIB::ifOperStatus.49164 = INTEGER: down(2)
 +IF-MIB::ifOperStatus.49165 = INTEGER: up(1)
 +IF-MIB::ifOperStatus.49166 = INTEGER: down(2)
 +IF-MIB::ifOperStatus.49167 = INTEGER: down(2)
 +IF-MIB::ifOperStatus.49168 = INTEGER: up(1)
 +IF-MIB::ifOperStatus.49169 = INTEGER: up(1)
 +IF-MIB::ifOperStatus.49170 = INTEGER: up(1)
 +IF-MIB::ifOperStatus.49171 = INTEGER: down(2)
 +IF-MIB::ifOperStatus.49172 = INTEGER: up(1)
 +IF-MIB::ifOperStatus.49173 = INTEGER: down(2)
 +IF-MIB::ifOperStatus.49174 = INTEGER: down(2)
 +IF-MIB::ifOperStatus.49175 = INTEGER: up(1)
 +IF-MIB::ifOperStatus.49176 = INTEGER: up(1)
 +IF-MIB::ifOperStatus.49177 = INTEGER: up(1)
 +IF-MIB::ifOperStatus.49178 = INTEGER: up(1)
 +IF-MIB::ifOperStatus.49179 = INTEGER: down(2)
 +IF-MIB::ifOperStatus.49180 = INTEGER: down(2)
 +IF-MIB::ifOperStatus.49181 = INTEGER: up(1)
 +IF-MIB::ifOperStatus.49182 = INTEGER: up(1)
 +IF-MIB::ifOperStatus.49183 = INTEGER: up(1)
 +IF-MIB::ifOperStatus.49184 = INTEGER: down(2)
 +IF-MIB::ifOperStatus.49185 = INTEGER: down(2)
 +IF-MIB::ifOperStatus.49186 = INTEGER: up(1)
 +IF-MIB::ifOperStatus.49187 = INTEGER: down(2)
 +IF-MIB::ifOperStatus.49188 = INTEGER: down(2)
 +IF-MIB::ifOperStatus.49189 = INTEGER: down(2)
 +IF-MIB::ifOperStatus.49190 = INTEGER: down(2)
 +IF-MIB::ifOperStatus.49191 = INTEGER: up(1)
 +IF-MIB::ifOperStatus.49192 = INTEGER: up(1)
 +IF-MIB::ifOperStatus.49193 = INTEGER: up(1)
 +IF-MIB::ifOperStatus.49194 = INTEGER: up(1)
 +IF-MIB::ifOperStatus.49195 = INTEGER: up(1)
 +IF-MIB::ifOperStatus.49196 = INTEGER: down(2)
 +IF-MIB::ifOperStatus.49197 = INTEGER: up(1)
 +IF-MIB::ifOperStatus.49198 = INTEGER: down(2)
 +IF-MIB::ifOperStatus.49199 = INTEGER: up(1)
 +IF-MIB::ifOperStatus.49200 = INTEGER: up(1)
 +IF-MIB::ifOperStatus.49201 = INTEGER: down(2)
 +IF-MIB::ifOperStatus.49202 = INTEGER: down(2)
 +IF-MIB::ifOperStatus.49203 = INTEGER: down(2)
 +IF-MIB::ifOperStatus.49204 = INTEGER: down(2)
 +Error: OID not increasing: IP-MIB::ipNetToMediaIfIndex.1.10.0.10.92
 + >= IP-MIB::ipNetToMediaIfIndex.1.10.0.10.66</code>
 +
 +Wollen wir nun gezielt einen Netzwerkport überprüfen verwenden wir nachfolgenden check-Optionen. In dem Beispiel bezieht sich das "-o ifOperStatus.49200" auf die OID für den Betriebsstatus von Port **48** am Switch. Die Option "-r 1" weist das check_snmp-Plugin an, einen OK-Status zurückzugeben, sofern "1" im SNMP-Ergebnis gefunden wird (1 zeigt einen "up"-Status auf dem Port an), und CRITICAL, wenn es nicht gefunden wird. Die Option "-m RFC1213-MIB" ist optional und weist das check_snmp-Plugin an, nur die "RFC1213-MIB" zu laden, anstatt jede einzelne MIB, die auf Ihrem System installiert ist, was helfen kann, die Dinge zu beschleunigen.
 +   # /usr/lib64/nagios/plugins/check_snmp -4 -P 3 -H 10.10.10.106 -L authPriv -a SHA -x DES -U monwalk -A "1mi55MY8F511V14" \
 +                                          -X "1mi55MY8F511V14" -o ifOperStatus.49200 -R 1 -m RFC1213-MIB
 +  SNMP OK - up(1) |
 +
 +Fragen wir hingegen einen bekannt unbenutzten Port **46** ab, benutzen wir die **'''OID = ifOperStatus.49200''**. Da wir keinen Fehler gemeldet haben wollen, verzichten wir auf die Option **'''-R 1''**.
 +   # /usr/lib64/nagios/plugins/check_snmp -4 -P 3 -H 10.10.10.106 -L authPriv -a SHA -x DES -U monwalk -A "1mi55MY8F511V14" \
 +                                          -X "1mi55MY8F511V14" -o ifOperStatus.49198 -m RFC1213-MIB
 +  SNMP OK - down(2) |
 +
 +Manchmal wollen wir denn Status mehrerer Ports zusammen überwachen, d.h. Icinga2 sollte eine Warnung senden, auch wenn einer der Ports ausfällt. Hierzu definieren wir in die check-Optionen zur Überwachung mehrerer Ports, in dem nachfolgendem Beispiel wollen wir die vier Ports **39 - 42** unseres Switch überwachen, die den Uplink zum Internet herstellen. Die zugehörigen OID lauten entsprechend **ifOperStatus.49191 - ifOperStatus.49194**
 +
 +   # /usr/lib64/nagios/plugins/check_snmp -4 -P 3 -H 10.10.10.106 -L authPriv -a SHA -x DES -U monwalk -A "1mi55MY8F511V14" \
 +                                          -X "1mi55MY8F511V14" -o ifOperStatus.49191 -m RFC1213-MIB, \
 +                                                               -o ifOperStatus.49192 -m RFC1213-MIB, \
 +                                                               -o ifOperStatus.49193 -m RFC1213-MIB, \
 +                                                               -o ifOperStatus.49194 -m RFC1213-MIB
 +
 +  SNMP OK - up(1) up(1) up(1) up(1) |
 +
 +Nun wollen wir uns im nächsten Schritt den IO-Traffic eines Ports ansehen, den dieser emfpfängt und auch verschickt. 
 +
 +Im folgenden Beispiel wollen wir sehen wieviele Datenverkehr am Port **41** ansteht, der z.B. in dem speziellen Fall den Uplink zum Transitknoten in das Internet zur Verfügung stellt. Wie wir bereits aus vorhergehenden Überlegungen wissen, werden die Ports des betreffenden Kupfer-Links des Netzwerkswitches mit den Nummern **49153** bis **49200** definiert. der Port **41** wird also durch den Wert **49193** repräsentiert.
 +
 +In der Übersicht der gängigen **[[https://www.tp-link.com/us/configuration-guides/q_a_supported_public_mibs_for_tp-link_switches/?configurationId=2963#|Supported Public MIBs for TP-Link Switches]]** finden wir hierzu die beiden Nodes **ifinOctets** und **ifOutOctets** mit den zugehörigen **OID**s. 
 +
 +^ Node         ^ OID                    ^ check-command        ^
 +| ifInOctets   | .1.3.6.1.2.1.2.2.1.10  | <code># /usr/lib64/nagios/plugins/check_snmp -4 -P 3 -H 10.10.10.106 -L authPriv -a SHA -x DES -U monwalk \
 +                   -A "1mi55MY8F511V14" -X "1mi55MY8F511V14" -o .1.3.6.1.2.1.2.2.1.10.49193</code><code>SNMP OK - 2779049905 | iso.3.6.1.2.1.2.2.1.10.49191=2779049905c</code>         |
 +| ifOutOctets  | .1.3.6.1.2.1.2.2.1.16  | <code># /usr/lib64/nagios/plugins/check_snmp -4 -P 3 -H 10.10.10.106 -L authPriv -a SHA -x DES -U monwalk \
 +                   -A "1mi55MY8F511V14" -X "1mi55MY8F511V14" -o .1.3.6.1.2.1.2.2.1.16</code><code>SNMP OK - 3178831865 | iso.3.6.1.2.1.2.2.1.16.49191=3178831865c</code>         |
 +
 +Auch hier können wir natürlich beide Werte mit einem check ermitteln und ausgeben lassen.
 +   # /usr/lib64/nagios/plugins/check_snmp -4 -P 3 -H 10.10.10.106 -L authPriv -a SHA -x DES -U monwalk \
 +                            -A "1mi55MY8F511V14" -X "1mi55MY8F511V14" -o .1.3.6.1.2.1.2.2.1.10.49191, -o .1.3.6.1.2.1.2.2.1.16.49191
 +
 +  SNMP OK - 2784727717 3185448505 | iso.3.6.1.2.1.2.2.1.10.49191=2784727717c iso.3.6.1.2.1.2.2.1.16.49191=3185448505c
  
  
 FIXME **//... do gehds weida!//** FIXME FIXME **//... do gehds weida!//** FIXME
  
  • centos/web_c7/icinga/snmp.1590873624.txt.gz
  • Zuletzt geändert: 30.05.2020 21:20.
  • von django