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 your GitHub Enterprise Server instance 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 dans le coin supérieur droit de n’importe quelle page.

    Capture d’écran de l’icône représentant une fusée qui donne accès aux paramètres d’administration du site

  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.

    Capture d’écran du lien « Administrateur du site » 1. Dans la barre latérale gauche, cliquez sur Management Console . Onglet Management Console dans la barre latérale gauche 1. Dans la barre latérale gauche, cliquez sur Monitoring. Onglet Analyse 1. Sous « Monitoring », sélectionnez Activer SNMP. Bouton permettant d’activer SNMP

  3. 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. Champ permettant d’ajouter la chaîne de communauté 1. Sous la barre latérale gauche, cliquez sur Enregistrer les paramètres.

    Capture d’écran du bouton Enregistrer les paramètres de la Management Console

    Remarque : 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.

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

    Configuration de votre instance

  5. 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 your GitHub Enterprise Server instance.

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 dans le coin supérieur droit de n’importe quelle page.

    Capture d’écran de l’icône représentant une fusée qui donne accès aux paramètres d’administration du site

  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.

    Capture d’écran du lien « Administrateur du site » 1. Dans la barre latérale gauche, cliquez sur Management Console . Onglet Management Console dans la barre latérale gauche 1. Dans la barre latérale gauche, cliquez sur Monitoring. Onglet Analyse 1. Sous « Monitoring », sélectionnez Activer SNMP. Bouton permettant d’activer SNMP

  3. Sélectionnez SNMP v3. Bouton permettant d’activer SNMP v3

  4. Dans « Nom d’utilisateur », tapez le nom d’utilisateur unique de votre utilisateur SNMP v3. Champ de saisie du nom d’utilisateur SNMP v3

  5. Dans le menu déroulant Niveau de sécurité , cliquez sur un niveau de sécurité pour votre utilisateur SNMP v3. Menu déroulant pour le niveau de sécurité de l’utilisateur SNMP v3

  6. Pour les utilisateurs SNMP v3 avec le niveau de sécurité authnopriv : Paramètres pour le niveau de sécurité authnopriv

    • Dans « Mot de passe d’authentification », entrez le mot de passe d’authentification.
    • Sur le côté droit de « Mot de passe d’authentification », dans le menu déroulant Protocole, cliquez sur le protocole d’authentification que vous souhaitez utiliser.
  7. Pour les utilisateurs SNMP v3 avec le niveau de sécurité authpriv : Paramètres pour le niveau de sécurité authpriv

    • Dans « Mot de passe d’authentification », entrez le mot de passe d’authentification.
    • Sur le côté droit de « Mot de passe d’authentification », dans le menu déroulant Protocole, cliquez sur le protocole d’authentification que vous souhaitez utiliser.
    • Si vous le souhaitez, dans « Mot de passe de confidentialité », tapez le mot de passe de confidentialité.
    • À droite de « Mot de passe de confidentialité », dans le menu déroulant Protocole, cliquez sur la méthode de protocole de confidentialité que vous souhaitez utiliser.
  8. Cliquez sur Add User. Bouton permettant d’ajouter un utilisateur SNMP v3 1. Sous la barre latérale gauche, cliquez sur Enregistrer les paramètres.

    Capture d’écran du bouton Enregistrer les paramètres de la Management Console

    Remarque : 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.

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

    Configuration de votre instance

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 de référence sur les OID ».

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

Remarque : 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 d’OID pour les attributs système courants de SNMP, consultez « Linux SNMP OID’s for CPU, Memory and Disk Statistics ».