Skip to main content

Supervision avec SNMP

GitHub Enterprise fournit des données sur l’utilisation du disque, de l’UC, de la mémoire et plus encore via SNMP.

Le protocole SNMP est couramment utilisé pour superviser les appareils sur un réseau. Nous vous recommandons vivement d’activer SNMP pour pouvoir superviser l’intégrité de votre instance GitHub Enterprise Server et savoir à quel moment ajouter un supplément de mémoire, d’espace de stockage ou de puissance de processeur à l’ordinateur hôte.

GitHub Enterprise disposant d’une installation de SNMP standard, vous pouvez tirer parti des nombreux plug-ins disponibles pour Nagios ou pour tout autre système de supervision.

Configuration de SNMP v2c

  1. À partir d’un compte d’administration sur GitHub Enterprise Server, cliquez sur en haut à droite de n’importe quelle page.

  2. Si vous ne figurez pas déjà sur la page « Administrateur du site », dans le coin supérieur gauche, cliquez sur Administrateur du site.

  3. Dans la barre latérale «  Administrateur de site », cliquez sur Management Console .

  4. Dans la barre latérale « Paramètres », cliquez sur Monitoring.

  5. Sous « Monitoring », sélectionnez Activer SNMP.

  6. Dans le champ Chaîne de communauté, entrez une nouvelle chaîne de communauté. Si vous le laissez vide, sa valeur par défaut est public.

  7. Sous la barre latérale « Paramètres », cliquez sur Enregistrer les paramètres.

    Note

    L’enregistrement des paramètres dans la Management Console redémarre les services système, ce qui peut entraîner un temps d’arrêt visible pour l’utilisateur.

  8. Attendez la fin de l’exécution de la configuration.

  9. Testez votre configuration SNMP en exécutant la commande suivante sur une station de travail distincte avec prise en charge de SNMP sur votre réseau :

    # 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
    

Elle doit retourner l’heure système de l’hôte votre instance GitHub Enterprise Server.

Sécurité basée sur l’utilisateur

Si vous activez SNMP v3, vous pouvez bénéficier d’une sécurité accrue basée sur l’utilisateur via le modèle USM (User Security Model). Pour chaque utilisateur unique, vous pouvez spécifier un niveau de sécurité :

  • noAuthNoPriv : Ce niveau de sécurité n’offre aucune authentification et aucune confidentialité.
  • authNoPriv : Ce niveau de sécurité offre une authentification mais pas de confidentialité. Pour interroger l’appliance, vous aurez besoin d’un nom d’utilisateur et d’un mot de passe (qui doit comporter au moins huit caractères). Les informations sont envoyées sans chiffrement, comme pour SNMPv2. Le protocole d’authentification peut être MD5 ou SHA, ce dernier étant utilisé par défaut.
  • authPriv : Ce niveau de sécurité offre une authentification et la confidentialité. L’authentification, consistant en un mot de passe d’authentification de huit caractères au minimum, est obligatoire et les réponses sont chiffrées. Le mot de passe de confidentialité n’est pas obligatoire, mais s’il est fourni, il doit comporter au moins huit caractères. Si aucun mot de passe de confidentialité n’est fourni, le mot de passe d’authentification est utilisé. Le protocole de confidentialité peut être DES ou AES, ce dernier étant utilisé par défaut.

Configuration des utilisateurs pour SNMP v3

  1. À partir d’un compte d’administration sur GitHub Enterprise Server, cliquez sur en haut à droite de n’importe quelle page.

  2. Si vous ne figurez pas déjà sur la page « Administrateur du site », dans le coin supérieur gauche, cliquez sur Administrateur du site.

  3. Dans la barre latérale «  Administrateur de site », cliquez sur Management Console .

  4. Dans la barre latérale « Paramètres », cliquez sur Monitoring.

  5. Sous « Monitoring », sélectionnez Activer SNMP.

  6. Sélectionnez SNMP v3.

  7. Sous « Nom d’utilisateur », tapez le nom d’utilisateur unique de votre utilisateur SNMP v3.

  8. Sélectionnez le menu déroulant Niveau de sécurité et cliquez sur un niveau de sécurité pour votre utilisateur SNMP v3.

  9. Pour les utilisateurs SNMP v3 avec le niveau de sécurité authnopriv, configurez l’authentification.

    • Sous « Mot de passe d’authentification », entrez le mot de passe d’authentification.
    • À côté de « Mot de passe d’authentification », sélectionnez le menu déroulant Protocole et cliquez sur le protocole d’authentification que vous souhaitez utiliser.
    • Si votre système de surveillance externe nécessite l'algorithme SHA, c'est que GitHub Enterprise Server utilise actuellement SHA-1.
  10. Pour les utilisateurs SNMP v3 avec le niveau de sécurité authpriv, configurez l’authentification.

    • Sous « Mot de passe d’authentification », entrez le mot de passe d’authentification.
    • À côté de « Mot de passe d’authentification », sélectionnez le menu déroulant Protocole et cliquez sur le protocole d’authentification que vous souhaitez utiliser.
    • Si vous le souhaitez, sous « Mot de passe de confidentialité », tapez le mot de passe de confidentialité.
    • À côté de « Mot de passe de confidentialité », sélectionnez le menu déroulant Protocole et cliquez sur la méthode de protocole de confidentialité que vous souhaitez utiliser.
    • Si votre système de surveillance externe nécessite l'algorithme AES, c'est que GitHub Enterprise Server utilise actuellement AES-128.
  11. Cliquez sur Add User.

  12. Sous la barre latérale « Paramètres », cliquez sur Enregistrer les paramètres.

    Note

    L’enregistrement des paramètres dans la Management Console redémarre les services système, ce qui peut entraîner un temps d’arrêt visible pour l’utilisateur.

  13. Attendez la fin de l’exécution de la configuration.

Interrogation des données SNMP

Les informations de niveau matériel et logiciel concernant votre appliance sont disponibles avec SNMP v3. Faute de chiffrement et de confidentialité pour les niveaux de sécurité noAuthNoPriv et authNoPriv, nous excluons la table hrSWRun (1.3.6.1.2.1.25.4) des rapports SNMP obtenus. Nous l’incluons si vous utilisez le niveau de sécurité authPriv. Pour plus d’informations, consultez la documentation MIB.

Avec SNMP v2c, seules sont disponibles les informations de niveau matériel concernant votre appliance. Aucun OID n’étant configuré pour les applications et les services dans GitHub Enterprise, les rapports sur les métriques ne sont pas générés. Plusieurs MIB sont disponibles, que vous pouvez afficher en exécutant snmpwalk sur une station de travail distincte avec prise en charge de SNMP sur votre réseau :

# 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

Parmi les MIB disponibles pour SNMP, la plus utile est HOST-RESOURCES-MIB (1.3.6.1.2.1.25). Consultez le tableau ci-dessous pour identifier les objets importants de cette MIB :

NomOIDDescription
hrSystemDate.21.3.6.1.2.1.25.1.2Notion de l’hôte de la date et de l’heure locales du jour.
hrSystemUptime.01.3.6.1.2.1.25.1.1.0Temps écoulé depuis la dernière initialisation de l’hôte.
hrMemorySize.01.3.6.1.2.1.25.2.2.0Quantité de mémoire RAM sur l’hôte.
hrSystemProcesses.01.3.6.1.2.1.25.1.6.0Nombre de contextes de processus actuellement chargés ou en cours d’exécution sur l’hôte.
hrStorageUsed.11.3.6.1.2.1.25.2.3.1.6.1Quantité d’espace de stockage consommée sur l’hôte, exprimée en hrStorageAllocationUnits.
hrStorageAllocationUnits.11.3.6.1.2.1.25.2.3.1.4.1Taille d’une hrStorageAllocationUnit (en octets)

Par exemple, pour interroger hrMemorySize avec SNMP v3, exécutez la commande suivante sur une station de travail distincte avec prise en charge de SNMP sur votre réseau :

# 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

Avec SNMP v2c, pour interroger hrMemorySize, exécutez la commande suivante sur une station de travail distincte avec prise en charge de SNMP sur votre réseau :

# 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

Pour éviter une fuite d’informations concernant les services en cours d’exécution sur votre appliance, nous excluons la table hrSWRun (1.3.6.1.2.1.25.4) des rapports SNMP obtenus, sauf si vous utilisez le niveau de sécurité authPriv avec SNMP v3. Si vous utilisez le niveau de sécurité authPriv, nous incluons la table hrSWRun.

Pour plus d’informations sur les mappages OID pour les attributs système courants dans SNMP, consultez OID SNMP Linux pour les statistiques sur les processeurs, la mémoire et les disques.