Éléments à surveiller

Edge pour Private Cloud version 4.16.05

Généralement, dans une configuration de production, il est nécessaire d'activer des mécanismes de surveillance dans un Apigee Edge pour le déploiement de cloud privé Ces techniques de surveillance avertissent le réseau administrateurs (ou opérateurs) d'une erreur ou d'une défaillance. Chaque erreur générée est signalée 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 la gestion Server, Message Processing, Qpid Server et Postgres Server.
  • Services tiers : par exemple, 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 fournit un aperçu rapide de les paramètres que vous pouvez surveiller:

Composant

Vérifications du système

Statistiques au niveau du processus

Vérifications au niveau de l'API

Vérification 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, après l'installation d'Apigee Edge, vous pouvez effectuer les opérations 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, 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.

  • CPU Utilization (Utilisation du processeur) : spécifie les statistiques de base (Utilisateur/Système/E/S) Attente/Inactif) à propos de l'utilisation du processeur. Par exemple, le CPU total utilisé par le système.
  • Free/Used Memory (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 la charge) : indique le nombre de processus en attente de exécuter.
  • Statistiques du réseau : paquets réseau et/ou octets transmis et reçues, ainsi que les erreurs de transmission concernant un composant spécifié.

Processus/Vérifications de candidature

Au niveau des processus, vous pouvez afficher des informations importantes sur tous les processus qui sont en cours d'exécution. Il s'agit, par exemple, des statistiques d'utilisation de la mémoire et du processeur qu'un processus ou une application utilise. Pour les processus tels que qpidd, postgres postmaster, Java, etc., vous pouvez surveiller suivantes:

  • Identification des processus: identifiez un processus Apigee spécifique. Par exemple : vous pouvez surveiller l'existence d'un processus Java du serveur Apigee.
  • Statistiques des threads: affichez les modèles de thread sous-jacents qu'un processus pour différentes utilisations. Par exemple, vous pouvez surveiller le nombre maximal 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 des paramètres tels que l'utilisation de la mémoire du tas de mémoire ou de la mémoire hors tas de mémoire, par un processus.

Vérifications au niveau de l'API

Au niveau de l'API, vous pouvez vérifier si le serveur est opérationnel pour les API fréquemment utilisées. via un proxy par Apigee. Par exemple, vous pouvez effectuer une vérification des 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

&lt;host&gt; est l'adresse IP du composant Apigee Edge. Le <port> est propre à 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 la valeur "true" et "false". Pour de meilleurs résultats, vous pouvez également émettre des appels d'API directement sur le backend (avec lequel le logiciel Apigee interagit) afin d'identifier rapidement si une erreur existe 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 fait des appels planifiés à vos proxys d'API et vous informe de leur échec et de la manière dont ils échouent. Lorsque les appels aboutissent, API Health vous indique les temps de réponse et peut même vous avertir lorsque la latence de réponse est élevée. API Health peut effectuer des appels depuis différents endroits dans le monde pour comparer le comportement de l'API dans différentes régions.

Vérifications du flux de messages

Vous pouvez collecter des données sur le flux de messages auprès de routeurs et de processeurs de messages tendances/statistiques. Vous pouvez ainsi surveiller les éléments suivants:

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

Cela vous permet de fournir des tableaux de bord pour le flux de messages de l'API.

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

Le routeur met en œuvre un mécanisme de vérification de l'état pour déterminer lequel des processeurs de messages fonctionnent comme prévu. Si un processeur de messages est détecté comme en panne ou lent, le routeur peut mettre automatiquement le processeur de messages en retrait de la rotation. Dans ce cas, le routeur écrit une "Marquer vers le bas" dans le fichier journal du routeur situé à l'emplacement /<inst root&gt;/apigee4/var/log/apigee/router/logs/system.log.

Vous pouvez surveiller la présence de ces messages dans le fichier journal du routeur. Par exemple, si le routeur prend un Le processeur de messages n'est plus en rotation. Il écrit un 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

/&lt;MP_IP&gt;:&lt;PORT&gt; est l'adresse IP et le numéro de port. du processeur de messages.

Si ultérieurement, le routeur effectue une vérification de l'état et détermine que le processeur de messages est fonctionne correctement, le routeur remet automatiquement le processeur de messages en rotation. La Le routeur écrit également une balise "Annoter" au journal sous la forme:

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

Pour configurer le routeur afin qu'il effectue la vérification de l'état, définissez la propriété suivante sur true dans /<inst root&gt;/apigee4/conf/apigee/router/router.properties:

Client.pool.heartBeat.use.http=true

Ensuite, redémarrez le routeur:

> /<inst-root>/apigee4/bin/apigee-service router restart