Skip to main content

Überwachung mittels SNMP

GitHub Enterprise bietet Daten zur Datenträgernutzung, CPU-Auslastung, Arbeitsspeichernutzung und dem SNMP.

SNMP ist ein allgemeiner Standard zum Überwachen von Geräten über ein Netzwerk. Es wird dringend empfohlen, SNMP zu aktivieren, damit du die Integrität von Ihre GitHub Enterprise Server-Instance überwachen kannst und weißt, wann dem Hostcomputer Arbeitsspeicher, Speicher oder Prozessorleistung hinzugefügt werden muss.

GitHub Enterprise weist eine SNMP-Standardinstallation auf. Daher kannst du von vielen Plug-Ins profitieren, die für Nagios oder andere Überwachungssysteme verfügbar sind.

SNMP v2c konfigurieren

  1. Klicke in einem Verwaltungskonto auf GitHub Enterprise Server und dann in der rechten oberen Ecke einer beliebigen Seite auf „“.

  2. Wenn du dich nicht bereits auf der Seite „Websiteadministrator“ befindest, klicke in der oberen linken Ecke auf Websiteadministrator.

  3. Wähle auf der Randleiste „ Websiteadministrator“ die Option Verwaltungskonsole aus.

  4. Klicke auf der Randleiste unter „Einstellungen“ auf Überwachung.

  5. Klicke unter „Überwachung“ auf SNMP aktivieren.

  6. Gib im Feld Communityzeichenfolge eine neue Communityzeichenfolge ein. Wenn das Feld leer bleibt, wird die Standardeinstellung public verwendet.

  7. Klicke auf der Randleiste unter „Einstellungen“ auf Einstellungen speichern.

    Note

    Durch das Speichern von Einstellungen in der Verwaltungskonsole werden Systemdienste neu gestartet, was zu einer für den Benutzer feststellbaren Downtime führen könnte.

  8. Warten Sie auf den Abschluss der Konfigurationsausführung.

  9. Teste deine SNMP-Konfiguration. Führe dazu den folgenden Befehl auf einer separaten Workstation mit SNMP-Unterstützung in deinem 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
    

Damit wird die Systemzeit auf dem Ihre GitHub Enterprise Server-Instance-Host zurückgegeben.

Benutzerbasierte Sicherheit

Wenn du SNMP v3 aktivierst, kannst du durch das Benutzersicherheitsmodell (User Security Model, USM) von der erhöhten benutzerbasierten Sicherheit profitieren. Für jeden eindeutigen Benutzer kannst du eine Sicherheitsebene angeben:

  • noAuthNoPriv: Diese Sicherheitsebene bietet weder Authentifizierung noch Datenschutz.
  • authNoPriv: Diese Sicherheitsebene bietet Authentifizierung, aber keinen Datenschutz. Zum Abrufen der Appliance benötigst du 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

  1. Klicke in einem Verwaltungskonto auf GitHub Enterprise Server und dann in der rechten oberen Ecke einer beliebigen Seite auf „“.

  2. Wenn du dich nicht bereits auf der Seite „Websiteadministrator“ befindest, klicke in der oberen linken Ecke auf Websiteadministrator.

  3. Wähle auf der Randleiste „ Websiteadministrator“ die Option Verwaltungskonsole aus.

  4. Klicke auf der Randleiste unter „Einstellungen“ auf Überwachung.

  5. Klicke unter „Überwachung“ auf SNMP aktivieren.

  6. Wähle SNMP v3 aus.

  7. Gib unter „Benutzername“ den eindeutigen Benutzernamen deines SNMP v3-Benutzerkontos ein.

  8. Wähle das Dropdownmenü Sicherheitsebene aus, und klicke dann auf die Sicherheitsebene für dein SNMP v3-Benutzerkonto.

  9. Konfiguriere die Authentifizierung für SNMP v3-Benutzer*innen mit der Sicherheitsebene authnopriv.

    • Gib unter „Authentifizierungskennwort“ das Authentifizierungskennwort ein.
    • Klicke im Dropdownmenü Protokoll neben „Authentifizierungskennwort“ auf das gewünschte Authentifizierungsprotokoll.
    • Wenn dein externes Überwachungssystem den SHA-Algorithmus erfordert, verwendet GitHub Enterprise Server derzeit SHA-1.
  10. Konfiguriere die Authentifizierung für SNMP v3-Benutzer*innen mit der Sicherheitsebene authpriv.

    • Gib unter „Authentifizierungskennwort“ das Authentifizierungskennwort ein.
    • Klicke im Dropdownmenü Protokoll neben „Authentifizierungskennwort“ auf das gewünschte Authentifizierungsprotokoll.
    • Gib optional unter „Datenschutzkennwort“ das Datenschutzkennwort ein.
    • Wähle anschließend neben „Datenschutzkennwort“ im Dropdownmenü Protokoll die gewünschte Protokollmethode für den Datenschutz aus.
    • Wenn dein externes Überwachungssystem den AES-Algorithmus erfordert, verwendet GitHub Enterprise Server derzeit AES-128.
  11. Klicke auf Benutzer hinzufügen.

  12. Klicke auf der Randleiste unter „Einstellungen“ auf Einstellungen speichern.

    Note

    Durch das Speichern von Einstellungen in der Verwaltungskonsole werden Systemdienste neu gestartet, was zu einer für den Benutzer feststellbaren Downtime führen könnte.

  13. Warten Sie auf den Abschluss der Konfigurationsausführung.

SNMP-Daten abfragen

Mit SNMP v3 sind Hardware- und Softwareinformationen zu deiner Appliance verfügbar. Da für die Sicherheitsebenen noAuthNoPriv und authNoPriv keine Verschlüsselung und kein Datenschutz vorgesehen sind, wird die Tabelle hrSWRun (1.3.6.1.2.1.25.4) aus den resultierenden SNMP-Berichten ausgeschlossen. Diese Tabelle wird eingeschlossen, wenn du die Sicherheitsebene authPriv verwendest. Weitere Informationen findest du in der MIB-Dokumentation.

Mit SNMP v2c stehen nur Hardwareinformationen zu deiner 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 kannst du anzeigen, indem du snmpwalk auf einer separaten Arbeitsstation mit SNMP-Unterstützung in deinem Netzwerk ausführst:

# 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

Von den verfügbaren MIBs für SNMP ist HOST-RESOURCES-MIB (1.3.6.1.2.1.25) am nützlichsten. Einige wichtige Informationen in dieser MIB findest du in der folgenden Tabelle:

NameOIDBESCHREIBUNG
hrSystemDate.21.3.6.1.2.1.25.1.2Die Hostnotation des lokalen Datums und der Tageszeit.
hrSystemUptime.01.3.6.1.2.1.25.1.1.0Der Zeitraum seit der letzten Initialisierung des Hosts.
hrMemorySize.01.3.6.1.2.1.25.2.2.0Der verfügbare RAM auf dem Host.
hrSystemProcesses.01.3.6.1.2.1.25.1.6.0Die Anzahl der derzeit auf dem Host geladenen oder ausgeführten Prozesskontexte.
hrStorageUsed.11.3.6.1.2.1.25.2.3.1.6.1Die auf dem Host in Anspruch genommene Speicherkapazität, in „hrStorageAllocationUnits“.
hrStorageAllocationUnits.11.3.6.1.2.1.25.2.3.1.4.1Die Größe in Bytes einer „hrStorageAllocationUnit“.

Um beispielsweise hrMemorySize mit SNMP v3 abzufragen, führe auf einer separaten Arbeitsstation mit SNMP-Unterstützung in deinem Netzwerk den folgenden Befehl aus:

# username is the unique username of your SNMP v3 user
# auth password is the authentication password
# privacy password is the privacy password
# hostname is the IP or domain of your Enterprise instance
$ 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

Um hrMemorySize mit SNMP v2c abzufragen, führe auf einer separaten Arbeitsstation mit SNMP-Unterstützung in deinem Netzwerk den folgenden Befehl aus:

# community-string is your community string
# hostname is the IP or domain of your Enterprise instance
snmpget -v 2c -c COMMUNITY-STRING HOSTNAME HOST-RESOURCES-MIB::hrMemorySize.0

Note

Um die Offenlegung von Informationen zu den in deiner Anwendung ausgeführten Diensten zu verhindern, wird die Tabelle hrSWRun (1.3.6.1.2.1.25.4) aus den resultierenden SNMP-Berichten ausgeschlossen, es sei denn, du verwendest die Sicherheitsebene authPriv mit SNMP, Version 3. Wenn du die Sicherheitsebene authPriv verwendest, wird die Tabelle hrSWRun eingeschlossen.

Weitere Informationen zu OID-Zuordnungen für häufige Systemattribute in SNMP findest du unter Linux-SNMP-OIDs für CPU-, Arbeitsspeicher- und Datenträgerstatistiken.