Edge pour Private Cloud v. 4.17.09
Généralement, dans une configuration de production, il est nécessaire d'activer des mécanismes de surveillance dans un déploiement Apigee Edge pour Private Cloud. Ces techniques de surveillance avertissent les administrateurs (ou opérateurs) du réseau en cas d'erreur ou de défaillance. Chaque erreur générée est signalée sous forme d'alerte dans Apigee Edge. Pour en savoir plus sur les alertes, consultez la section Bonnes pratiques de surveillance.
Pour plus de simplicité, les composants Apigee sont principalement classés dans 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 : Nginx Router, Apache Cassandra, Apache ZooKeeper, OpenLDAP, la base de données PostgreSQL et Qpid.
Dans un déploiement sur site d'Apigee Edge, le tableau suivant vous donne un aperçu des paramètres que vous pouvez surveiller:
Composant |
Vérifications du système |
Statistiques au niveau du processus |
Contrôles au niveau de l'API |
Contrôles 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 |
? |
? |
||||
OpenLDAP |
? |
? |
||||
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 d'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 et de la mémoire, et la connectivité des ports à un niveau supérieur. Vous pouvez surveiller les paramètres suivants pour obtenir les informations de base sur l'état du système.
- Utilisation du processeur : spécifie les statistiques de base (attente utilisateur/système/IO/inactif) sur l'utilisation du processeur. Par exemple, l'utilisation totale du processeur par le système.
- Mémoire disponible/utilisée : spécifie 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 du disque. Par exemple, l'espace disque dur utilisé par le système.
- Load Average (Moyenne de charge) : spécifie 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écifié.
Processus/Vérifications de candidature
Au niveau du processus, vous pouvez consulter 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 utilisées par un processus ou une application. Pour les processus tels que qpidd, postgres postmaster, java, etc., vous pouvez surveiller les éléments suivants:
- Identification du processus: identifiez un processus Apigee particulier. Par exemple, vous pouvez surveiller l'existence d'un processus Java de serveur Apigee.
- Statistiques sur les threads: affichez les modèles de threads sous-jacents qu'un processus utilise. Par exemple, vous pouvez surveiller le nombre maximal de threads pour tous les processus.
- Utilisation de la mémoire: affiche l'utilisation de la mémoire pour tous les processus Apigee. Par exemple, vous pouvez surveiller des paramètres tels que l'utilisation de la mémoire de tas, l'utilisation de la mémoire hors tas utilisée par un processus.
Vérifications au niveau de l'API
Au niveau de l'API, vous pouvez surveiller si le serveur est opérationnel pour les appels d'API fréquemment utilisés mis en proxy 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
Où <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 ci-dessous pour savoir comment exécuter cette commande pour chaque composant.
Cet appel renvoie les valeurs "true" et "false". Pour de meilleurs résultats, vous pouvez également effectuer des appels d'API directement sur le backend (avec lequel le logiciel Apigee interagit) afin de déterminer rapidement s'il existe une erreur dans l'environnement logiciel Apigee ou sur le backend.
Remarque: Pour surveiller vos proxys d'API, vous pouvez également utiliser l'état de l'API d'Apigee. API Health effectue des appels programmés vers vos proxys d'API et vous informe de leur échec et de la manière dont ils échouent. Lorsque les appels aboutissent, la santé de l'API affiche les temps de réponse et peut même vous envoyer une notification lorsque la latence de réponse est élevée. La santé de l'API peut effectuer des appels depuis différents endroits du monde pour comparer le comportement de l'API entre les régions.
Vérifications du flux de messages
Vous pouvez collecter des données auprès des routeurs et des processeurs de messages sur le schéma/les statistiques de flux de messages. Vous pouvez ainsi surveiller les éléments suivants:
- Nombre de clients actifs
- Nombre de réponses (10 fois, 20 fois, 30 fois, 40 fois et 50 fois)
- É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 les articles suivants:
- Surveiller le processeur de messages
- Présentation bêta du tableau de bord de surveillance Apigee pour le routeur
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 lesquels des processeurs de messages fonctionnent comme prévu. Si un processeur de messages est détecté comme étant en panne ou lent, le routeur peut automatiquement le mettre hors service. Dans ce cas, le routeur écrit un message "Mark Down" dans le fichier journal du routeur à l'emplacement /opt/apigee/var/log/edge-router/logs/system.log.
Vous pouvez surveiller la présence de ces messages dans le fichier journal du routeur. Par exemple, si le routeur retire un processeur de messages de la rotation, il écrit le message dans le journal sous la forme suivante:
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
où /<MP_IP>:<PORT> correspond à l'adresse IP et au numéro de port du processeur de messages.
Si le routeur effectue ultérieurement 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 sous la forme suivante:
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