Überwachung mittels SNMP
GitHub Enterprise bietet Daten zur Disk-Nutzung, CPU-Auslastung, Arbeitsspeichernutzung und mehr über SNMP.
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
-
In the upper-right corner of any page, click .
-
In the left sidebar, click Managementkonsole.
-
In the left sidebar, click Monitoring.
-
Under "Monitoring", select Enable SNMP.
-
Geben Sie im Feld Community string (Community-String) einen neuen Community-String ein. Wird das Feld leer gelassen, ist der Standardwert
public
(öffentlich). -
Under the left sidebar, click Save settings.
-
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 is your community string # hostname is the IP or domain of your Enterprise instance $ snmpget -v 2c -c community-string -O e hostname hrSystemDate.0
This should return the system time on Ihre GitHub Enterprise Server-Instanz host.
User-based security
If you enable SNMP v3, you can take advantage of increased user based security through the User Security Model (USM). For each unique user, you can specify a security level:
noAuthNoPriv
: This security level provides no authentication and no privacy.authNoPriv
: This security level provides authentication but no privacy. 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
: This security level provides authentication with privacy. 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.
Configuring users for SNMP v3
-
In the upper-right corner of any page, click .
-
In the left sidebar, click Managementkonsole.
-
In the left sidebar, click Monitoring.
-
Under "Monitoring", select Enable SNMP.
-
Select SNMP v3.
-
In "Username", type the unique username of your SNMP v3 user.
-
In the Security Level dropdown menu, click the security level for your SNMP v3 user.
-
For SNMP v3 users with the
authnopriv
security level:-
Geben Sie unter „Authentication password“ (Authentifizierungspasswort) das Authentifizierungspasswort ein.
-
On the right side of "Authentication password", in the Protocol dropdown menu, click the authentication protocol you want to use.
-
-
For SNMP v3 users with the
authpriv
security level:-
Geben Sie unter „Authentication password“ (Authentifizierungspasswort) das Authentifizierungspasswort ein.
-
On the right side of "Authentication password", in the Protocol dropdown menu, click the authentication protocol you want to use.
-
Optionally, in "Privacy password", type the privacy password.
-
On the right side of "Privacy password", in the Protocol dropdown menu, click the privacy protocol method you want to use.
-
-
Click Add user.
-
Under the left sidebar, click Save settings.
Querying SNMP data
Both hardware and software-level information about your appliance is available with SNMP v3. Due to the lack of encryption and privacy for the noAuthNoPriv
and authNoPriv
security levels, we exclude the hrSWRun
table (1.1.3.6.1.2.1.25.41) from the resulting SNMP reports. We include this table if you're using the authPriv
security level.
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. Several MIBs are available, which you can see by running snmpwalk
on a separate workstation with SNMP support in your network:
# community-string is your community string
# hostname is the IP or domain of your Enterprise instance
$ 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“.