Outil Sosreport

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

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 les détails de configuration, les informations système et les informations de diagnostic de votre système, et stocke les données dans une archive. Pour les composants Apigee, Sosreport collecte les éléments suivants :

  • La 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 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 permettant de collecter des données et de 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

Le tableau suivant détaille la disponibilité et la méthode d'installation de l'outil Sosreport dans les versions compatibles d'Edge pour Private Cloud.

Version d'OPDK Nouvelle installation Mise à niveau sur place
4.50.00.11 - 4.52.01.00 Installation manuelle requise Installation manuelle requise
4.52.01.01+ Installé par défaut Mise à niveau manuelle requise
Amazon Linux 2023+ Non autorisé Non autorisé

L'outil Sosreport est installé par défaut sur tous les nœuds lors d'une nouvelle installation d'Edge for Private Cloud 4.52.01.01 et versions ultérieures.

Si vous effectuez une mise à niveau sur place vers Edge for Private Cloud 4.52.01.01 ou une version ultérieure, exécutez la commande suivante sur chaque nœud pour mettre à jour l'outil Sosreport :

/opt/apigee/apigee-service/bin/apigee-service apigee-sosreport update

Vous pouvez exécuter la commande suivante pour vérifier l'installation et la version de l'outil Sosreport et de ses plug-ins :

apigee-service apigee-sosreport version

Pour lister tous les plug-ins compatibles avec l'outil Sosreport, utilisez la commande suivante :

sudo sosreport --list-plugins

Pour lister uniquement les plug-ins spécifiques à Apigee, exécutez la commande suivante :

sudo sosreport --list-plugins | grep apigee

Pour les versions 4.50.00.11 à 4.52.01.00 d'Edge for Private Cloud, l'outil Sosreport est disponible, mais peut nécessiter une configuration manuelle en fonction de votre environnement.

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 entrer 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 comme celles indiquées ci-dessous. Par exemple, pour copier apigee-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.

La section suivante explique comment installer `sosreport` pour les versions 4.50.00.11 à 4.52.01.00.

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 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é, assurez-vous que les plug-ins associés à Apigee se trouvent dans le répertoire suivant :

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

où pythonx.x est la version de Python que vous avez 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 des plug-ins spécifiques à Apigee est renvoyée.

    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 gathering class
  • Pour vérifier tous les plug-ins :
    apigee-service apigee-sosreport diagnose -s -l

    La liste suivante des plug-ins disponibles avec sosreport est renvoyée :

    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

Edge pour le cloud privé version 4.52.01.01 et ultérieure

L'outil Sosreport peut détecter les composants existants sur votre nœud et générer un rapport de tous les journaux requis par les équipes d'assistance pour l'analyse.

Pour générer un rapport, utilisez la commande suivante :

apigee-service apigee-sosreport diagnose

Vous pouvez ajouter les options suivantes si nécessaire :

  • -f | --file | --config : chemin d'accès au fichier de configuration utilisé lors de la configuration.
    Example: apigee-service apigee-sosreport diagnose -f /path/to/configuration.file
  • -o | --output : pour rediriger le sosreport généré vers un répertoire ou un chemin d'accès spécifiques
    Example: apigee-service apigee-sosreport diagnose -o /path/to/output_directory/

Edge for Private Cloud versions 4.50.00.11 à 4.52.01.00

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 d'Apigee de sosreport :
    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 du répertoire que vous spécifiez à l'aide de l'option tmp-dir. L'emplacement du fichier .tar.xz est affiché 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 du répertoire que vous spécifiez à l'aide de l'option tmp-dir. L'emplacement de .tar.xz file est indiqué sur STDOUT, ainsi que la somme de contrôle. Exemple :

Pour connaître les autres 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 entier 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 d'Apigee de sosreport :
    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 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
  • 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 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
  • 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) :

  • 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 actuels du MP (par défaut)
  • Dix sorties séquentielles de top, jstacks et des métriques 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 d'Apigee de sosreport :
    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 des éléments facultatifs supplémentaires à collecter, en plus de tous les é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 :

  • En utilisant la version Apigee de sosreport :
    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 :

  • En utilisant la version 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
  • Utiliser la version SoS de sosreport :
    sudo sosreport -o apigee-mp --batch -k apigee-mp.deployments -k apigee-mp.all-logs

Pour collecter tout sauf la trace, saisissez l'une des commandes suivantes :

  • En utilisant la version Apigee de sosreport :
    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 auprès 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 d'Apigee de sosreport :
    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 des éléments facultatifs supplémentaires à 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 Apigee de sosreport :
    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 :

  • En utilisant la version Apigee de sosreport :
    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 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
  • Copie de 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 d'Apigee de sosreport :
    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