Überwachung mittels SNMP
GitHub Enterprise bietet Daten zur Disk-Nutzung, CPU-Auslastung, Arbeitsspeichernutzung und mehr über SNMP.
Inhalt dieses Artikels
SNMP ist ein allgemeiner Standard zum Überwachen von Geräten über ein Netzwerk. Es wird dringend empfohlen, SNMP zu aktivieren, damit Sie den Zustand von Ihre GitHub Enterprise Server-Instanz überwachen können und wissen, wann Sie der Host-Maschine Arbeitsspeicher, Storage oder Prozessorleistung hinzufügen müssen.
GitHub Enterprise weist eine SNMP-Standardinstallation auf. Daher können Sie von vielen Plug-ins profitieren, die für Nagios oder andere Überwachungssysteme verfügbar sind.
SNMP v2c konfigurieren
-
Klicken Sie in der oberen rechten Ecke einer beliebigen Seite auf .
-
Klicken Sie auf der linken Seitenleiste auf Managementkonsole.
-
Klicken Sie auf der linken Seitenleiste auf Monitoring (Überwachung).
-
Wählen Sie Enable SNMP (SNMP aktivieren) unter „Monitoring“ (Überwachung) aus.
-
Geben Sie im Feld Community string (Community-String) einen neuen Community-String ein. Wird das Feld leer gelassen, ist der Standardwert
public
(öffentlich). -
Klicken Sie auf der linken Seitenleiste auf Save settings (Einstellungen speichern).
-
Testen Sie Ihre SNMP-Konfiguration. Führen Sie dazu den folgenden Befehl auf einer separaten Workstation mit SNMP-Unterstützung in Ihrem Netzwerk aus:
# „community-string“ ist Ihr Community-String # „hostname“ ist die IP oder Domain Ihrer Enterprise-Instanz $ snmpget -v 2c -c community-string -O e hostname hrSystemDate.0
Hiermit wird die Systemzeit auf dem Ihre GitHub Enterprise Server-Instanz-Host zurückgegeben.
Benutzerbasierte Sicherheit
Wenn Sie SNMP v3 aktivieren, können Sie durch das Benutzersicherheitsmodell (User Security Model, USM) von der erhöhten benutzerbasierten Sicherheit profitieren. Für jeden eindeutigen Benutzer können Sie eine Sicherheitsebene angeben:
noAuthNoPriv
: Diese Sicherheitsebene bietet weder Authentifizierung noch Datenschutz.authNoPriv
: Diese Sicherheitsebene bietet Authentifizierung, aber keinen Datenschutz. Zum Abrufen der Appliance benötigen Sie einen Benutzernamen und ein Passwort (das mindestens aus acht Zeichen bestehen muss). Informationen werden ähnlich wie bei SNMPv2 unverschlüsselt gesendet. Das Authentifizierungsprotokoll kann MD5 oder SHA sein und lautet standardmäßig SHA.authPriv
: Diese Sicherheitsebene bietet Authentifizierung mit Datenschutz. Die Authentifizierung, einschließlich eines mindestens aus acht Zeichen bestehenden Authentifizierungspassworts, ist erforderlich, und Antworten sind verschlüsselt. Ein Datenschutzpasswort ist nicht erforderlich. Wenn es angegeben wird, muss es jedoch mindestens aus acht Zeichen bestehen. Wenn kein Datenschutzpasswort angegeben wird, wird das Authentifizierungspasswort verwendet. Das Datenschutzpasswort kann DES oder AES sein und lautet standardmäßig AES.
Benutzer für SNMP v3 konfigurieren
-
Klicken Sie in der oberen rechten Ecke einer beliebigen Seite auf .
-
Klicken Sie auf der linken Seitenleiste auf Managementkonsole.
-
Klicken Sie auf der linken Seitenleiste auf Monitoring (Überwachung).
-
Wählen Sie Enable SNMP (SNMP aktivieren) unter „Monitoring“ (Überwachung) aus.
-
Wählen Sie SNMP v3.
-
Geben Sie unter „Username“ (Benutzername) den eindeutigen Benutzernamen Ihres SNMP v3-Benutzers ein.
-
Klicken Sie im Dropdownmenü Security Level (Sicherheitsebene) auf die Sicherheitsebene für Ihren SNMP v3-Benutzer.
-
Für SNMP v3-Benutzer mit der Sicherheitsebene
authnopriv
:-
Geben Sie unter „Authentication password“ (Authentifizierungspasswort) das Authentifizierungspasswort ein.
-
Klicken Sie auf der rechten Seite von „Authentication password“ (Authentifizierungspasswort) im Dropdownmenü Protocol (Protokoll) auf das gewünschte Authentifizierungsprotokoll.
-
-
Für SNMP v3-Benutzer mit der Sicherheitsebene
authpriv
:-
Geben Sie unter „Authentication password“ (Authentifizierungspasswort) das Authentifizierungspasswort ein.
-
Klicken Sie auf der rechten Seite von „Authentication password“ (Authentifizierungspasswort) im Dropdownmenü Protocol (Protokoll) auf das gewünschte Authentifizierungsprotokoll.
-
Geben Sie optional unter „Privacy password“ (Datenschutzpasswort) das Datenschutzpasswort ein.
-
Klicken Sie auf der rechten Seite von „Privacy password“ (Datenschutzpasswort) im Dropdownmenü Protocol (Protokoll) auf die gewünschte Datenschutzprotokollmethode.
-
-
Klicken Sie auf Add user (Benutzer hinzufügen).
-
Klicken Sie auf der linken Seitenleiste auf Save settings (Einstellungen speichern).
SNMP-Daten abfragen
Informationen auf Hardware- und Softwareebene zu Ihrer Appliance sind mit SNMP v3 verfügbar. Da die Verschlüsselung und der Datenschutz für die Sicherheitsebenen noAuthNoPriv
und authNoPriv
unzureichend ist, wird die Tabelle hrSWRun
(1.1.3.6.1.2.1.25.41) aus den resultierenden SNMP-Berichten ausgeschlossen. Diese Tabelle wird eingeschlossen, wenn Sie die Sicherheitsebene authPriv
verwenden.
Mit SNMP v2c stehen nur Informationen auf Hardwareebene zu Ihrer Appliance zur Verfügung. Die Anwendungen und Dienste innerhalb von GitHub Enterprise weisen keine OIDs auf, die für das Melden von Kennzahlen konfiguriert sind. Es stehen verschiedene MIBs zur Verfügung. Diese können Sie anzeigen, indem Sie snmpwalk
auf einer separaten Workstation mit SNMP-Unterstützung in Ihrem Netzwerk ausführen:
# „community-string“ ist Ihr Community-String
# „hostname“ ist die IP oder Domain Ihrer Enterprise-Instanz
$ snmpwalk -v 2c -c community-string -O e hostname
HOST-RESOURCES-MIB
(.1.3.6.1.2.1.25) ist die nützlichste MIB für SNMP. Einige wichtige Informationen in dieser MIB finden Sie in der folgenden Tabelle:
Name | OID | Beschreibung |
---|---|---|
hrSystemDate.2 | .1.3.6.1.2.1.25.1.2 | Die Hostnotation des lokalen Datums und der Tageszeit. |
hrSystemUptime.0 | .1.3.6.1.2.1.25.1.1.0 | Der Zeitraum seit der letzten Initialisierung des Hosts. |
hrMemorySize.0 | .1.3.6.1.2.1.25.2.2.0 | Der verfügbare RAM auf dem Host. |
hrSystemProcesses.0 | .1.3.6.1.2.1.25.1.6.0 | Die Anzahl der derzeit auf dem Host geladenen oder ausgeführten Prozesskontexte. |
hrStorageUsed.1 | .1.3.6.1.2.1.25.2.3.1.6.1 | Die auf dem Host in Anspruch genommene Speicherkapazität, in „hrStorageAllocationUnits“. |
hrStorageAllocationUnits.1 | .1.3.6.1.2.1.25.2.3.1.4.1 | Die Größe in Bytes einer „hrStorageAllocationUnit“. |
Um beispielsweise hrMemorySize
mit SNMP v3 abzufragen, führen Sie auf einer separaten Workstation mit SNMP-Unterstützung in Ihrem Netzwerk den folgenden Befehl aus:
# „username“ ist der eindeutige Benutzername Ihres SNMP v3-Benutzers
# „auth password“ ist das Authentifizierungspasswort
# „privacy password“ ist das Datenschutzpasswort
# „hostname“ ist die IP oder Domain Ihrer Enterprise-Instanz
$ snmpget -v 3 -u username -l authPriv \
-A "auth password" -a SHA \
-X "privacy password" -x AES \
-O e hostname HOST-RESOURCES-MIB::hrMemorySize.0
Führen Sie mit SNMP v2c, um hrMemorySize
abzufragen, den folgenden Befehl auf einer separaten Workstation mit SNMP-Unterstützung in Ihrem Netzwerk aus:
# „community-string“ ist Ihr Community-String
# „hostname“ ist die IP oder Domain Ihrer Enterprise-Instanz
snmpget -v 2c -c community-string hostname HOST-RESOURCES-MIB::hrMemorySize.0
Hinweis: Um zu verhindern, dass Informationen über Dienste, die auf Ihrer Appliance ausgeführt werden, verloren gehen, wird die Tabelle hrSWRun
(1.1.3.6.1.2.1.25.41) aus den resultierenden SNMP-Berichten ausgeschlossen, es sei denn, Sie verwenden die Sicherheitsebene authPriv
mit SNMP v3. Bei Verwendung der Sicherheitsebene authPriv
wird die Tabelle hrSWRun
einbezogen.
Weitere Informationen zu OID-Zuordnungen für allgemeine Systemattribute in SNMP finden Sie unter „Linux SNMP OID’s for CPU, Memory and Disk Statistics“.