Outil Sosreport

Vous consultez la documentation d'Apigee Edge.
Consultez la documentation Apigee X.
en savoir plus

Sosreport est un outil de diagnostic et de collecte de données au niveau du système, basé sur le logiciel Open Source SoS. Vous pouvez utiliser l'outil Sosreport pour collecter des informations qui vous aideront à déboguer les problèmes dans les nœuds où un composant Apigee est en cours d'exécution. L'outil collecte et stocke des informations localement dans le système de fichiers du nœud.

L'outil Sosreport collecte les détails de configuration, les informations système et les informations de diagnostic de votre système, puis stocke les données dans une archive. Pour les composants Apigee, Sosreport collecte les informations suivantes:

  • Version du noyau en cours d'exécution
  • Modules chargés
  • Fichiers de configuration du système et des services

Sosreport exécute également des programmes externes pour recueillir des informations supplémentaires, par exemple:

  • Journaux Apigee de tous les composants.
  • Diagnostics d'exécution
  • Diagnostics Cassandra collectés à l'aide de commandes nodetool

L'outil Sosreport contient deux commandes principales:

  • sosreport: commande principale pour collecter des données et créer des rapports.
  • apigee-sosreport: outil auxiliaire utilisé pour installer sosreport et gérer les plug-ins sosreport spécifiques aux composants Apigee.

Installation

Cette section explique comment installer sosreport.

Si la version SoS de sosreport est déjà installée

Si la version SoS d'origine de sosreport est déjà installée sur votre système, ne configurez pas la version d'Apigee, car les chemins d'installation pourraient entrer en conflit. À la place, copiez les plug-ins spécifiques à Apigee du répertoire /opt/apigee/apigee-sosreport/source/plugin dans le répertoire Python site-packages approprié à l'aide d'une commande semblable à celles indiquées ci-dessous. Par exemple, pour copier agigee-mgmt.py:

  • Si vous utilisez Python 2, saisissez :
    sudo cp apigee-mgmt.py /usr/lib/python2.7/site-packages/sos/plugins/
  • Si vous utilisez Python 3, saisissez :
    sudo cp apigee-mgmt.py /usr/local/lib/python3.6/site-packages/sos/plugins/

Pour vérifier que les plug-ins ont bien été installés, saisissez

sudo sosreport --list-plugins

Pour toute question, contactez l'assistance Apigee.

Installation de la version d'Apigee de sosreport

Si la version SoS de sosreport n'est pas déjà installée sur votre système, vous pouvez installer la version d'Apigee en saisissant les commandes suivantes sur tous les nœuds où Edge for Private Cloud est installé :

/opt/apigee/apigee-service/bin/apigee-service apigee-sosreport install
/opt/apigee/apigee-service/bin/apigee-service apigee-sosreport setup

Pour vérifier que sosreport est installé, vérifiez que les plug-ins associés à Apigee se trouvent dans le répertoire suivant:

/usr/lib/pythonx.x/site-packages/sos/plugins

pythonx.x est la version installée de Python.

Vous pouvez également exécuter l'une des commandes suivantes:

  • Pour valider uniquement les plug-ins spécifiques à Apigee :
    apigee-service apigee-sosreport diagnose -l

    Cette commande renvoie la liste suivante de plug-ins spécifiques à Apigee.

    sosreport (version 3.9)
    
    The following plugins are currently enabled:
    
    apigee-mgmt          This is the apigee plugin for edge-management-server
    apigee-mp            This is the apigee plugin for edge-message-processor
    apigee-rrt           This is the apigee plugin for edge-router
    apigee-sample        Main diagnostics gatehring class
  • Pour valider tous les plug-ins :
    apigee-service apigee-sosreport diagnose -s -l

    Cette commande renvoie la liste suivante des plug-ins disponibles avec sosreport:

    sosreport (version 3.9)
    
    The following plugins are currently enabled:
    
     acpid                ACPI daemon information
     alternatives         System alternatives
     anacron              Anacron job scheduling service
     apigee-cassandra     This is the base class for sosreport plugins. Plugins should subclass
        this and set the class variables where applicable. ←truncated→
     apigee-mgmt          This is the base class for sosreport plugins. Plugins should subclass
        this and set the class variables where applicable. ←truncated→
     apigee-mp            Main diagnostics gathering class
     apigee-rrt           This is the base class for sosreport plugins. Plugins should subclass
        this and set the class variables where applicable. ←truncated→
    
    ………………………………………………….
    ………………………………………………….
    ………………………………………………….
    ←truncated→

Creating a report

Pour créer un rapport à l'aide de l'outil Sosreport, exécutez la commande sosreport avec l'option de plug-in requise (voir Plug-ins Apigee). Le répertoire par défaut dans lequel le rapport est stocké est tmp ou /var/tmp. Vous pouvez modifier le répertoire dans lequel le rapport est stocké en transmettant un autre répertoire à l'option tmp-dir. Par exemple, pour créer un rapport sur le serveur de gestion et l'enregistrer dans un répertoire nommé my_report-dir, saisissez l'un des éléments suivants:

  • Utilisation de la version d'Apigee de sosreport :
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf -o apigee-mgmt  --batch --tmp-dir=my_report-dir
  • Avec la version SoS de sosreport :
    sudo sosreport -o apigee-mgmt  --batch --tmp-dir=my_report-dir

Le rapport est stocké dans un fichier .tar.xz dans le répertoire que vous spécifiez à l'aide de l'option tmp-dir. L'emplacement du fichier .tar.xz est indiqué sur STDOUT, ainsi que la somme de contrôle. Exemple :

Your sosreport has been generated and saved in:
 /var/sosreport-prc-test-0-9613-2021-07-12-orwxufx.tar.xz
The checksum is: 5a8b97c6020346a688254c8b04ef86ec
For more available options for sosreport, read the man file:
sudo man sosreport

Le rapport est stocké dans un fichier .tar.xz dans le répertoire que vous spécifiez à l'aide de l'option tmp-dir. L'emplacement de .tar.xz file est affiché sur STDOUT, ainsi que la somme de contrôle. Exemple :

Pour connaître les autres options disponibles pour sosreport, lisez le fichier man:

sudo man sosreport

Plug-ins Apigee

Les sections suivantes décrivent les plug-ins Apigee de l'outil Sosreport pour les composants suivants:

Serveur de gestion

Le plug-in apigee-mgmt collecte les informations suivantes à partir du serveur de gestion:

  • nom d'hôte du serveur (par défaut)
  • cpuinfo (par défaut)
  • meminfo (par défaut)
  • Paramètres de la machine virtuelle Java (JVM), tels que la mémoire, Djdk.tls.allowUnsafeServerCertChange, etc. (par défaut)
  • Journaux de gestion actuels (par défaut)
  • Sortie séquentielle de dix piles "top" et "jstacks" (par défaut)
  • Dossier de journaux de gestion complet (facultatif)
  • config-files (facultatif)

Exemples :

Pour collecter tous les éléments par défaut, saisissez l'une des valeurs suivantes:

  • Utilisation de la version d'Apigee de sosreport :
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mgmt --batch my_report-dir
  • Avec la version SoS de sosreport :
    sudo sosreport -o apigee-mgmt --batch my_report-dir

Pour collecter tous les éléments par défaut et les éléments facultatifs spécifiés dans la commande(fichiers de configuration et tous les journaux, par exemple), saisissez l'une des valeurs suivantes:

  • Utilisation de la version d'Apigee de sosreport :
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mgmt --batch -k apigee-mgmt.config-files -k apigee-mgmt.all-logs
  • Avec la version SoS de sosreport :
    sudo sosreport -o apigee-mgmt --batch -k apigee-mgmt.config-files -k apigee-mgmt.all-logs

Pour tout collecter, saisissez l'une des valeurs suivantes:

  • Utilisation de la version d'Apigee de sosreport :
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mgmt --batch -k apigee-mgmt.config-files -k apigee-mgmt.all-logs

    Vous pouvez également saisir:

    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mgmt --batch -a
  • Avec la version SoS de sosreport :
    sudo sosreport -o apigee-mgmt --batch -k apigee-mgmt.config-files -k apigee-mgmt.all-logs

    Vous pouvez également saisir:

    sudo sosreport -o apigee-mgmt --batch -a

Processeur de messages

Le plug-in apigee-mp collecte les informations suivantes auprès du processeur de gestion :

  • Nom d'hôte du serveur (par défaut)
  • cpuinfo (par défaut)
  • meminfo (par défaut)
  • buildinfo/release info (par défaut)
  • État de apigee-all (par défaut)
  • détails du serveur (par défaut)
  • Paramètres de niveau JVM, par exemple mémoire, Djdk.tls.allowUnsafeServerCertChange, etc. (par défaut)
  • Journaux MP actuels (par défaut)
  • Sortie de métriques NIO (10 en haut séquentiels), "jstacks" et des métriques NIO (par défaut)
  • Dossier de journaux du protocole de mesure complet (facultatif)
  • Arborescence de classification (facultatif)
  • Empreinte de la mémoire (facultatif)
  • config-files (facultatif)
  • Trace d'exécution (facultatif, uniquement lorsque org:env:api:rev detail est fourni). Remarque: Le plug-in attend 25 secondes pour collecter les requêtes d'exécution.

Exemples :

Pour collecter tous les éléments par défaut, saisissez l'une des valeurs suivantes:

  • Utilisation de la version d'Apigee de sosreport :
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mp --batch
  • Avec la version SoS de sosreport :
    sudo sosreport -o apigee-mp --batch

Vous pouvez également spécifier d'autres éléments facultatifs à collecter, en plus des éléments par défaut. Par exemple, pour spécifier l'empreinte de la mémoire, à l'aide de l'option -k apigee-mp.heap, saisissez l'une des valeurs suivantes:

  • Utilisation de la version d'Apigee de sosreport :
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mp --batch -k apigee-mp.heap
  • Avec la version SoS de sosreport :
    sudo sosreport -o apigee-mp --batch -k apigee-mp.heap

De même, vous pouvez spécifier les éléments facultatifs suivants:

-k apigee-mp.deployments
-k apigee-mp.heap
-k apigee-mp.all-logs
-k apigee-mp.config-files
-k apigee-mp.trace=gsc-cps:test:httpbin:3

Vous pouvez spécifier plusieurs options dans une seule commande. Exemple :

  • Utilisation de la version d'Apigee de sosreport :
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mp --batch -k apigee-mp.deployments -k apigee-mp.all-logs
  • Avec la version SoS de sosreport :
    sudo sosreport -o apigee-mp --batch -k apigee-mp.deployments -k apigee-mp.all-logs

Pour tout collecter, à l'exception de la trace, saisissez l'une des valeurs suivantes:

  • Utilisation de la version d'Apigee de sosreport :
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mp --batch -a
  • Avec la version SoS de sosreport :
    sudo sosreport -o apigee-mp --batch -a

Routeur

Le plug-in apigee-rrt collecte les informations suivantes à partir du routeur:

  • Nom d'hôte du serveur (par défaut)
  • cpuinfo (par défaut)
  • meminfo (par défaut)
  • buildinfo/release info (par défaut)
  • État de apigee-all (par défaut)
  • détails du serveur (par défaut)
  • sortie ps. Cela donne les paramètres au niveau de la JVM, tels que la mémoire, Djdk.tls.allowUnsafeServerCertChange, etc. (valeur par défaut).
  • Journaux du routeur actuel (par défaut)
  • Liste de noms de fichiers Vhost, y compris les noms de fichiers incorrects (par défaut)
  • Tout le dossier journal du routeur (facultatif)
  • config-files (facultatif)

Exemples :

Pour collecter tous les éléments par défaut, saisissez l'une des valeurs suivantes:

  • Utilisation de la version d'Apigee de sosreport :
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-rrt --batch
  • Avec la version SoS de sosreport :
    sudo sosreport -o apigee-rrt --batch

Vous pouvez également spécifier d'autres éléments facultatifs à collecter, en plus des éléments par défaut. Par exemple, pour spécifier l'intégralité du dossier de journaux, à l'aide de l'option -k apigee-rrt.all-logs, saisissez l'une des valeurs suivantes:

  • Utilisation de la version d'Apigee de sosreport :
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-rrt --batch -k apigee-rrt.all-logs
  • Avec la version SoS de sosreport :
    sudo sosreport -o apigee-rrt --batch -k apigee-rrt.all-logs

De même, vous pouvez spécifier les éléments facultatifs suivants:

-k apigee-rrt.all-logs
-k apigee-rrt.config-files

Pour tout collecter:

  • Utilisation de la version d'Apigee de sosreport :
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-rrt --batch -a
  • Avec la version SoS de sosreport :
    sudo sosreport -o apigee-rrt --batch -a

Cassandra

Le plug-in apigee-cassandra collecte les informations suivantes à partir des nœuds Cassandra:

  • Statistiques de la machine :
    "hostname -i"
    "cat /proc/cpuinfo"
    "cat /proc/meminfo"
    "ulimit -a"
    "ps auxw"
    "df -kh"
    "du -sh"
    "netstat -ntlpu"
    "free -h"
    "ifconfig -h"
    "ps -ef"
  • État et version du composant Apigee "apigee-all version && apigee-all status"
  • Journaux apigee-cassandra : tous les fichiers sous /opt/apigee/var/log/apigee-cassandra/
  • Nombre de journaux de commit
  • Résultat de la commande Top
  • Empreinte de thread
  • Fichiers de configuration: cassandra-topology.properties, cassandra.yaml, cassandra-env.sh
  • Nodetool Sortie pour les paramètres suivants: version, status, ring, info, gossipinfo, compactionstats -H, tpstats, netstats, cfstats, proxy toucher

Exemple :

Pour collecter tous les éléments par défaut, saisissez l'une des valeurs suivantes:

  • Utilisation de la version d'Apigee de sosreport :
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-cassandra
  • Avec la version SoS de sosreport :
    sudo sosreport -o apigee-cassandra