Outil Sosreport

Vous consultez la documentation d'Apigee Edge.
Accédez à la documentation Apigee X.
info

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 à résoudre les problèmes dans les nœuds où un composant Apigee est en cours d'exécution. L'outil collecte et stocke les informations localement sur le système de fichiers du nœud.

L'outil Sosreport collecte des informations de configuration, des informations système et des informations de diagnostic à partir de votre système, et stocke les données dans une archive. Pour les composants Apigee, Sosreport collecte les éléments suivants :

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

Sosreport exécute également des programmes externes pour collecter d'autres informations, y compris :

  • Journaux Apigee de tous les composants.
  • Diagnostics d'exécution
  • Diagnostics Cassandra collectés à l'aide des 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 peuvent être en conflit. Copiez plutôt les plug-ins spécifiques à Apigee depuis le répertoire /opt/apigee/apigee-sosreport/source/plugin vers 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 été installés, saisissez

sudo sosreport --list-plugins

Pour toute question, contactez l'assistance Apigee.

Installer 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 sur lesquels Edge pour 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é, assurez-vous 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 de Python installée.

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

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

    La liste suivante de plug-ins spécifiques à Apigee s'affiche.

    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 vérifier 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→

Création d'un rapport

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'une des commandes suivantes :

  • Utiliser la version sosreport d'Apigee :
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf -o apigee-mgmt  --batch --tmp-dir=my_report-dir
  • Utiliser 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 apparaît dans STDOUT ainsi que dans 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 apparaît dans STDOUT, ainsi que dans la somme de contrôle. Exemple :

Pour en savoir plus sur les options disponibles pour sosreport, consultez 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 auprès 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)
  • Dix sorties "top" et "jstacks" séquentielles (par défaut)
  • Dossier complet du journal de gestion (facultatif)
  • config-files (facultatif)

Exemples :

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

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

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

  • Utiliser la version sosreport d'Apigee :
    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
  • Utiliser 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 commandes suivantes :

  • Utiliser la version sosreport d'Apigee :
    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
  • Utiliser 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 à partir du processeur de gestion (MP, Management Processor) :

  • Nom d'hôte du serveur (par défaut)
  • cpuinfo (par défaut)
  • meminfo (par défaut)
  • buildinfo/release info (par défaut)
  • État apigee-all (par défaut)
  • Détails du serveur (par défaut)
  • Paramètres au niveau de la JVM, par exemple la mémoire, Djdk.tls.allowUnsafeServerCertChange, etc. (par défaut)
  • Journaux MP actuels (par défaut)
  • Dix sorties séquentielles des métriques "top", "jstacks" et NIO (par défaut)
  • Dossier complet des journaux MP (facultatif)
  • Arbre de classification (facultatif)
  • Empreinte de la mémoire (facultatif)
  • config-files (facultatif)
  • Trace d'exécution (facultative et 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 commandes suivantes :

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

Vous pouvez également spécifier d'autres éléments facultatifs à collecter, en plus de tous les éléments par défaut. Par exemple, pour spécifier le vidage du tas à l'aide de l'option -k apigee-mp.heap, saisissez l'une des commandes suivantes :

  • Utiliser la version sosreport d'Apigee :
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mp --batch -k apigee-mp.heap
  • Utiliser 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 même commande. Exemple :

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

Pour collecter tous les éléments, à l'exception des traces, saisissez l'une des commandes suivantes :

  • Utiliser la version sosreport d'Apigee :
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mp --batch -a
  • Utiliser 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 apigee-all (par défaut)
  • Détails du serveur (par défaut)
  • Sortie ps. Cela vous donnera des paramètres au niveau de la JVM, par exemple la mémoire, Djdk.tls.allowUnsafeServerCertChange, etc. (par défaut).
  • Journaux du routeur actuel (par défaut)
  • Liste des noms de fichiers vhost, y compris les noms de fichiers incorrects (par défaut)
  • Dossier complet des journaux du routeur (facultatif)
  • config-files (facultatif)

Exemples :

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

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

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

  • Utiliser la version sosreport d'Apigee :
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-rrt --batch -k apigee-rrt.all-logs
  • Utiliser 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 :

  • Utiliser la version sosreport d'Apigee :
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-rrt --batch -a
  • Utiliser 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 sur les machines :
    "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
  • Vidage du thread
  • Fichiers de configuration : cassandra-topology.properties, cassandra.yaml, cassandra-env.sh
  • Sortie Nodetool pour les paramètres suivants : version, status, ring, info, gossipinfo, compactionstats -H, tpstats, netstats, cfstats, proxyhistograms

Exemple :

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

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