Éléments à surveiller

En règle générale, dans une configuration de production, vous devez activer les mécanismes de surveillance dans un déploiement Apigee Edge pour Private Cloud. Ces techniques de surveillance avertissent les administrateurs (ou opérateurs) réseau d'une erreur ou d'un échec. Chaque erreur générée est signalée sous forme d'alerte dans Apigee Edge. Pour en savoir plus sur les alertes, consultez Bonnes pratiques de surveillance.

Les composants Apigee sont principalement classés en deux catégories :

  • Services de serveur Java spécifiques à Apigee : ils incluent le serveur de gestion, le processeur de messages, le serveur Qpid et le serveur Postgres.
  • Services tiers : ils incluent Nginx Router, Apache Cassandra, Apache ZooKeeper, SymasLDAP, la base de données PostgreSQL et Qpid.

Dans un déploiement sur site d'Apigee Edge, le tableau suivant fournit un aperçu des paramètres que vous pouvez surveiller :

Composant Contrôles système Statistiques au niveau du processus Vérifications au niveau de l'API Vérifications du flux de messages Spécifique au composant

Services Java spécifiques à Apigee

Serveur de gestion

Processeur de messages

Serveur Qpid

Serveur Postgres

Services tiers

Apache Cassandra

Apache ZooKeeper

SymasLDAP

Base de données PostgreSQL

Qpid

Routeur Nginx

En général, une fois Apigee Edge installé, vous pouvez effectuer les tâches de surveillance suivantes pour suivre les performances d'une installation Apigee Edge pour Private Cloud.

Vérifications de l'état du système

Il est très important de mesurer les paramètres d'état du système, tels que l'utilisation du processeur, de la mémoire et la connectivité des ports, à un niveau supérieur. Vous pouvez surveiller les paramètres suivants pour obtenir les bases de l'état du système.

  • Utilisation du CPU : spécifie les statistiques de base (utilisateur/système/attente d'E/S/inactif) concernant l'utilisation du CPU. Par exemple, le total du processeur utilisé par le système.
  • Mémoire libre/utilisée : indique l'utilisation de la mémoire système en octets. Par exemple, la mémoire physique utilisée par le système.
  • Utilisation de l'espace disque : spécifie les informations du système de fichiers en fonction de l'utilisation actuelle de l'espace disque. Par exemple, l'espace disque utilisé par le système.
  • Charge moyenne : indique le nombre de processus en attente d'exécution.
  • Statistiques réseau : paquets et/ou octets réseau transmis et reçus, ainsi que les erreurs de transmission concernant un composant spécifique.

Processus/Vérifications des applications

Au niveau du processus, vous pouvez afficher des informations importantes sur tous les processus en cours d'exécution. Par exemple, il s'agit des statistiques d'utilisation de la mémoire et du processeur par un processus ou une application. Pour les processus tels que Qpid, Postgres Postmaster, Java, etc., vous pouvez surveiller les éléments suivants :

  • Identification du processus : identifiez un processus Apigee spécifique. Par exemple, vous pouvez surveiller l'existence d'un processus Java du serveur Apigee.
  • Statistiques sur les threads : affichez les modèles de threading sous-jacents utilisés par un processus. Par exemple, vous pouvez surveiller le nombre maximal de threads et le nombre de threads pour tous les processus.
  • Utilisation de la mémoire : affichez l'utilisation de la mémoire pour tous les processus Apigee. Par exemple, vous pouvez surveiller les paramètres tels que l'utilisation de la mémoire du tas et de la mémoire hors tas par un processus.

Vérifications au niveau de l'API

Au niveau de l'API, vous pouvez vérifier si un serveur est opérationnel pour les appels d'API fréquemment utilisés et mis en œuvre par Apigee. Par exemple, vous pouvez effectuer une vérification de l'API sur le serveur de gestion, le routeur et le processeur de messages en appelant la commande curl suivante :

curl http://host:port/v1/servers/self/up

host est l'adresse IP du composant Apigee Edge. Le numéro port est spécifique à chaque composant Edge. Exemple :

Serveur de gestion : 8080

  • Routeur : 8081
  • Processeur de messages : 8082
  • etc.

Consultez les sections individuelles ci-dessous pour savoir comment exécuter cette commande pour chaque composant.

Cet appel renvoie "true" et "false". Pour obtenir les meilleurs résultats, vous pouvez également émettre des appels d'API directement sur le backend (avec lequel le logiciel Apigee interagit) afin de déterminer rapidement si une erreur existe dans l'environnement du logiciel Apigee ou sur le backend.

Vérifications du flux de messages

Vous pouvez collecter des données à partir des routeurs et des processeurs de messages concernant les statistiques/le modèle de flux de messages. Vous pouvez ainsi surveiller les éléments suivants :

  • Nombre de clients actifs
  • Nombre de réponses (10X, 20X, 30X, 40X et 50X)
  • Échecs de connexion

Cela vous permet de fournir des tableaux de bord pour le flux de messages de l'API. Pour en savoir plus, consultez Surveiller.

Vérification de l'état du routeur du processeur de messages

Le routeur implémente un mécanisme de vérification de l'état pour déterminer quels processeurs de messages fonctionnent comme prévu. Si un processeur de messages est détecté comme étant hors service ou lent, le routeur peut automatiquement le retirer de la rotation. Dans ce cas, le routeur écrit des messages "Mark Down" dans le fichier journal du routeur à l'adresse /opt/apigee/var/log/edge-router/logs/system.log.

Vous pouvez surveiller le fichier journal du routeur pour ces messages. Par exemple, si le routeur retire un processeur de messages de la rotation, il écrit un message dans le journal au format suivant :

2014-05-06 15:51:52,159 org: env: RPCClientClientProtocolChildGroup-RPC-0 INFO CLUSTER - ServerState.setState() : State of 2a8a0e0c-3619-416f-b037-8a42e7ad4577 is now DISCONNECTED. handle = MP_IP at 1399409512159
2014-04-17 12:54:48,512 org: env: nioEventLoopGroup-2-2 INFO HEARTBEAT - HBTracker.gotResponse() : No HeartBeat detected from /MP_IP:PORT Mark Down

MP_IP:PORT correspond à l'adresse IP et au numéro de port du processeur de messages.

Si, par la suite, le routeur effectue une vérification de l'état et détermine que le processeur de messages fonctionne correctement, il le remet automatiquement en rotation. Le routeur écrit également un message "Mark Up" dans le journal au format suivant :

2014-05-06 16:07:29,054 org: env: RPCClientClientProtocolChildGroup-RPC-0 INFO CLUSTER - ServerState.setState() : State of 2a8a0e0c-3619-416f-b037-8a42e7ad4577 is now CONNECTED. handle = IP at 1399410449054
2014-04-17 12:55:06,064 org: env: nioEventLoopGroup-4-1 INFO HEARTBEAT - HBTracker.updateHB() : HeartBeat detected from IP:PORT Mark Up