Autoréparation avec apigee-monit

Apigee Edge pour le cloud privé inclut apigee-monit, un outil basé sur l'utilitaire monit Open Source. apigee-monit interroge régulièrement les services Edge. Si un service est indisponible, apigee-monit tente de le redémarrer.

Pour utiliser apigee-monit, vous devez l'installer manuellement. Il ne fait pas partie de l'installation standard.

Par défaut, apigee-monit vérifie l'état des services Edge toutes les 60 secondes.

Démarrage rapide

Cette section vous explique comment démarrer rapidement avec apigee-monit.

Si vous utilisez Amazon Linux ou Oracle-Linux-7.X, commencez par installer monit via Fedora. Sinon, ignorez cette étape.

sudo yum install -y https://kojipkgs.fedoraproject.org/packages/monit/5.25.1/1.el6/x86_64/monit-5.25.1-1.el6.x86_64.rpm

Pour installer apigee-monit, procédez comme suit :

  Installer apigee-monit
/opt/apigee/apigee-service/bin/apigee-service apigee-monit install
/opt/apigee/apigee-service/bin/apigee-service apigee-monit configure
/opt/apigee/apigee-service/bin/apigee-service apigee-monit start

Cela installe apigee-monit et commence à surveiller tous les composants du nœud par défaut.

  Arrêter la surveillance des composants
/opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c component_name
/opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c all
  Démarrer la surveillance des composants
/opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor -c component_name
/opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor -c all
  Obtenir des informations récapitulatives sur l'état
/opt/apigee/apigee-service/bin/apigee-service apigee-monit report
/opt/apigee/apigee-service/bin/apigee-service apigee-monit summary
  Consultez les fichiers journaux apigee-monit.
cat /opt/apigee/var/log/apigee-monit/apigee-monit.log

Chacun de ces thèmes et d'autres sont décrits en détail dans les sections suivantes.

À propos d'apigee-monit

apigee-monit permet de s'assurer que tous les composants d'un nœud restent opérationnels. Pour cela, elle propose différents services, y compris les suivants :

  • Redémarrer les services défaillants
  • Afficher des informations récapitulatives
  • État de la surveillance de la journalisation
  • Envoi de notifications
  • Surveiller les services non-Edge

Apigee vous recommande de surveiller apigee-monit pour vous assurer qu'il est en cours d'exécution. Pour en savoir plus, consultez Surveiller apigee-monit.

Architecture d'apigee-monit

Lors de l'installation et de la configuration d'Apigee Edge for Private Cloud, vous pouvez installer une instance distincte de apigee-monit sur chaque nœud de votre cluster. Ces instances apigee-monit distinctes fonctionnent indépendamment les unes des autres : elles ne communiquent pas l'état de leurs composants aux autres nœuds et ne signalent pas non plus les défaillances de l'utilitaire de surveillance lui-même à un service central.

L'image suivante illustre l'architecture apigee-monit dans un cluster à cinq nœuds :

Architecture d'Apigee monit dans un cluster à cinq nœuds
Figure 1 : Une instance distincte de apigee-monit s'exécute de manière isolée sur chaque nœud d'un cluster

Configurations des composants

apigee-monit utilise des configurations de composants pour déterminer les composants à surveiller, les aspects du composant à vérifier et l'action à entreprendre en cas d'échec.

Par défaut, apigee-monit surveille tous les composants Edge d'un nœud à l'aide de leurs configurations de composants prédéfinies. Pour afficher les paramètres par défaut, vous pouvez consulter les fichiers de configuration des composants apigee-monit. Vous ne pouvez pas modifier les configurations de composants par défaut.

apigee-monit vérifie différents aspects d'un composant, en fonction du composant qu'il vérifie. Le tableau suivant liste les éléments vérifiés par apigee-monit pour chaque composant et indique où se trouve la configuration de chaque composant. Notez que certains composants sont définis dans un seul fichier de configuration, tandis que d'autres ont leurs propres configurations.

Composant Emplacement de la configuration Métriques surveillées
Serveur de gestion /opt/apigee/edge-management-server/monit/default.conf Vérifications apigee-monit :
  • Les ports spécifiés sont ouverts et acceptent les requêtes
  • Le ou les protocoles spécifiés sont acceptés
  • État de la réponse

De plus, pour ces composants apigee-monit :

  • Nécessite plusieurs échecs au cours d'un nombre de cycles donné avant d'agir
  • Définit un chemin de requête personnalisé
Processeur de messages /opt/apigee/edge-message-processor/monit/default.conf
Serveur Postgres /opt/apigee/edge-postgres-server/monit/default.conf
Serveur Qpid /opt/apigee/edge-qpid-server/monit/default.conf
Routeur /opt/apigee/edge-router/monit/default.conf
Cassandra
Nouvelle interface utilisateur Edge
SymasLDAP
Postgres
Qpid
Zookeeper
/opt/apigee/data/apigee-monit/monit.conf apigee-monit vérifications :
  • Le service est en cours d'exécution

L'exemple suivant montre la configuration par défaut du composant edge-router :

check host edge-router with address localhost
  restart program = "/opt/apigee/apigee-service/bin/apigee-service edge-router monitrestart"
  if failed host 10.1.1.0 port 8081 and protocol http
    and request "/v1/servers/self/uuid"
    with timeout 15 seconds
    for 2 times within 3 cycles
  then restart

  if failed port 15999 and protocol http
    and request "/v1/servers/self"
    and status < 600
    with timeout 15 seconds
    for 2 times within 3 cycles
  then restart

L'exemple suivant montre la configuration par défaut du composant Nouvelle interface utilisateur Edge (edge-management-ui) :

check process edge-management-ui
 with pidfile /opt/apigee/var/run/edge-management-ui/edge-management-ui.pid
 start program = "/opt/apigee/apigee-service/bin/apigee-service edge-management-ui start" with timeout 55 seconds
 stop program = "/opt/apigee/apigee-service/bin/apigee-service edge-management-ui stop"

Vous ne pouvez pas modifier les configurations de composants par défaut pour les composants Apigee Edge pour Private Cloud. Vous pouvez toutefois ajouter vos propres configurations de composants pour les services externes, tels que votre point de terminaison cible ou le service httpd. Pour en savoir plus, consultez Configurations des composants non Apigee.

Par défaut, apigee-monit surveille tous les composants d'un nœud sur lequel il s'exécute. Vous pouvez l'activer ou le désactiver pour tous les composants ou pour des composants individuels. Pour en savoir plus, consultez les pages suivantes :

Installer apigee-monit

apigee-monit n'est pas installé par défaut. Vous pouvez l'installer manuellement après avoir mis à niveau ou installé la version 4.19.01 ou ultérieure d'Apigee Edge pour Private Cloud.

Cette section explique comment installer apigee-monit.

Pour en savoir plus sur la désinstallation de apigee-monit, consultez Désinstaller apigee-monit.

Installer apigee-monit

Cette section explique comment installer apigee-monit.

Pour installer apigee-monit, procédez comme suit :

  1. Installez apigee-monit à l'aide de la commande suivante :
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit install
  2. Configurez apigee-monit à l'aide de la commande suivante :
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit configure
  3. Démarrez apigee-monit à l'aide de la commande suivante :
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit start
  4. Répétez cette procédure sur chaque nœud de votre cluster.

Arrêter et démarrer les composants de surveillance

Lorsqu'un service s'arrête pour une raison quelconque, apigee-monit tente de le redémarrer.

Cela peut poser problème si vous souhaitez arrêter volontairement un composant. Par exemple, vous pouvez arrêter un composant lorsque vous devez le sauvegarder ou le mettre à niveau. Si apigee-monit redémarre le service pendant la sauvegarde ou la mise à niveau, votre procédure de maintenance peut être interrompue, voire échouer.

Les sections suivantes présentent les options permettant d'arrêter la surveillance des composants.

Arrêter un composant et annuler sa surveillance

Pour arrêter un composant et annuler sa surveillance, exécutez la commande suivante :

/opt/apigee/apigee-service/bin/apigee-service apigee-monit stop-component -c component_name
component_name peut être l'une des valeurs suivantes :
  • apigee-cassandra (Cassandra)
  • apigee-openldap (OpenLDAP)
  • apigee-postgresql (base de données PostgreSQL)
  • apigee-qpidd (Qpidd)
  • apigee-zookeeper (ZooKeeper)
  • edge-management-server (serveur de gestion)
  • edge-management-ui (nouvelle UI Edge)
  • edge-message-processor (processeur de messages)
  • edge-postgres-server (serveur Postgres)
  • edge-qpid-server (serveur Qpid)
  • edge-router (routeur Edge)

Notez que "all" n'est pas une option valide pour stop-component. Vous ne pouvez arrêter et désactiver la surveillance que d'un seul composant à la fois avec stop-component.

Pour redémarrer le composant et reprendre la surveillance, exécutez la commande suivante :

/opt/apigee/apigee-service/bin/apigee-service apigee-monit start-component -c component_name

Notez que "all" n'est pas une option valide pour start-component.

Pour savoir comment arrêter et désactiver la surveillance de tous les composants, consultez Arrêter tous les composants et désactiver leur surveillance.

Arrêter la surveillance d'un composant (sans l'arrêter)

Pour ne plus surveiller un composant (sans l'arrêter), exécutez la commande suivante :

/opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c component_name
component_name peut être l'une des valeurs suivantes :
  • apigee-cassandra (Cassandra)
  • apigee-openldap (OpenLDAP)
  • apigee-postgresql (base de données PostgreSQL)
  • apigee-qpidd (Qpidd)
  • apigee-zookeeper (ZooKeeper)
  • edge-management-server (serveur de gestion)
  • edge-management-ui (nouvelle UI Edge)
  • edge-message-processor (processeur de messages)
  • edge-postgres-server (serveur Postgres)
  • edge-qpid-server (serveur Qpid)
  • edge-router (routeur Edge)

Pour reprendre la surveillance du composant, exécutez la commande suivante :

/opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor -c component_name

Arrêter de surveiller tous les composants (sans les arrêter)

Pour arrêter la surveillance de tous les composants (sans les arrêter), exécutez la commande suivante :

/opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c all

Pour reprendre la surveillance de tous les composants, exécutez la commande suivante :

/opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor -c all

Arrêter tous les composants et annuler leur surveillance

Pour arrêter tous les composants et annuler leur surveillance, exécutez les commandes suivantes :

/opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c all
/opt/apigee/apigee-service/bin/apigee-all stop

Pour redémarrer tous les composants et reprendre la surveillance, exécutez les commandes suivantes :

/opt/apigee/apigee-service/bin/apigee-all start
/opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor -c all

Pour arrêter la surveillance de tous les composants, vous pouvez également désactiver apigee-monit, comme décrit dans Arrêter, démarrer et désactiver apigee-monit.

Arrêter, démarrer et désactiver apigee-monit

Comme pour tout service, vous pouvez arrêter et démarrer apigee-monit à l'aide de la commande apigee-service. De plus, apigee-monit est compatible avec la commande unmonitor, qui vous permet d'arrêter temporairement la surveillance des composants.

Arrêter apigee-monit

Pour arrêter apigee-monit, utilisez la commande suivante :

/opt/apigee/apigee-service/bin/apigee-service apigee-monit stop

Démarrer apigee-monit

Pour démarrer apigee-monit, utilisez la commande suivante :

/opt/apigee/apigee-service/bin/apigee-service apigee-monit start

Désactiver apigee-monit

Vous pouvez suspendre la surveillance de tous les composants du nœud à l'aide de la commande suivante :

/opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c all

Vous pouvez également désactiver définitivement apigee-monit en le désinstallant du nœud, comme décrit dans Désinstaller apigee-monit.

Désinstaller apigee-monit

Pour désinstaller apigee-monit, procédez comme suit :

  1. Si vous avez configuré une tâche cron pour surveiller apigee-monit, supprimez la tâche cron avant de désinstaller apigee-monit :
    sudo rm /etc/cron.d/apigee-monit.cron
  2. Arrêtez apigee-monit à l'aide de la commande suivante :
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit stop
  3. Désinstallez apigee-monit à l'aide de la commande suivante :
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit uninstall
  4. Répétez cette procédure sur chaque nœud de votre cluster.

Surveiller un composant récemment installé

Si vous installez un nouveau composant sur un nœud exécutant apigee-monit, vous pouvez commencer à le surveiller en exécutant la commande restart de apigee-monit. Un nouveau fichier de configuration monit.conf est alors généré. Il inclut le nouveau composant dans ses configurations de composants.

L'exemple suivant redémarre apigee-monit :

/opt/apigee/apigee-service/bin/apigee-service apigee-monit restart

Personnaliser apigee-monit

Vous pouvez personnaliser différents paramètres apigee-monit, y compris :

  1. Paramètres de contrôle apigee-monit par défaut
  2. Paramètres de configuration généraux
  3. Configurations de composants non Apigee

Paramètres de contrôle apigee-monit par défaut

Vous pouvez personnaliser les paramètres de contrôle apigee-monit par défaut, tels que la fréquence des vérifications de l'état et l'emplacement des fichiers apigee-monit. Pour ce faire, modifiez un fichier de propriétés à l'aide de la technique code avec configuration. Les fichiers de propriétés sont conservés même après la mise à niveau d'Apigee Edge pour Private Cloud.

Le tableau suivant décrit les paramètres de contrôle apigee-monit par défaut que vous pouvez personnaliser :

Propriété Description
conf_monit_httpd_port Port du daemon httpd. apigee-monit utilise httpd pour son application de tableau de bord et pour activer les rapports/résumés. La valeur par défaut est 2812.
conf_monit_httpd_allow Contraintes sur les requêtes adressées au daemon httpd. apigee-monit utilise httpd pour exécuter son application de tableau de bord et activer les rapports/résumés. Cette valeur doit pointer vers l'hôte local (l'hôte sur lequel httpd est exécuté).

Pour exiger que les requêtes incluent un nom d'utilisateur et un mot de passe, utilisez la syntaxe suivante :

conf_monit_httpd_allow=allow username:"password"\nallow 127.0.0.1

Lorsque vous ajoutez un nom d'utilisateur et un mot de passe, insérez un "\n" entre chaque contrainte. N'insérez pas de vrais sauts de ligne ni de retours chariot dans la valeur.

conf_monit_monit_datadir Répertoire dans lequel les détails de l'événement sont stockés.
conf_monit_monit_delay_time Temps d'attente de apigee-monit après son premier chargement en mémoire avant son exécution. Cela n'affecte que la première vérification du processus apigee-monit.
conf_monit_monit_logdir Emplacement du fichier journal apigee-monit.
conf_monit_monit_retry_time Fréquence à laquelle apigee-monit tente de vérifier chaque processus. La valeur par défaut est de 60 secondes.
conf_monit_monit_rundir Emplacement des fichiers PID et d'état, que apigee-monit utilise pour vérifier les processus.

Pour personnaliser les paramètres par défaut du contrôle apigee-monit :

  1. Modifiez le fichier suivant :
    /opt/apigee/customer/application/monit.properties

    Si le fichier n'existe pas, créez-le et définissez l'utilisateur "apigee" comme propriétaire :

    chown apigee:apigee /opt/apigee/customer/application/monit.properties

    Notez que si le fichier existe déjà, il peut contenir d'autres propriétés de configuration que celles listées dans le tableau ci-dessus. Vous ne devez pas modifier les propriétés autres que celles listées ci-dessus.

  2. Définissez ou remplacez les valeurs des propriétés par vos nouvelles valeurs.

    Par exemple, pour modifier l'emplacement du fichier journal sur /tmp, ajoutez ou modifiez la propriété suivante :

    conf_monit_monit_logdir=/tmp/apigee-monit.log
  3. Enregistrez les modifications apportées au fichier monit.properties.
  4. Reconfigurez apigee-monit à l'aide de la commande suivante :
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit configure
  5. Actualisez apigee-monit à l'aide de la commande suivante :
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit reload

    Si vous ne parvenez pas à redémarrer apigee-monit, recherchez les erreurs dans le fichier journal, comme décrit dans Accéder aux fichiers journaux apigee-monit.

  6. Répétez cette procédure pour chaque nœud de votre cluster.

Paramètres de configuration généraux

Vous pouvez définir des paramètres de configuration globaux pour apigee-monit. Par exemple, vous pouvez ajouter des notifications par e-mail pour les alertes. Pour ce faire, créez un fichier de configuration dans le répertoire /opt/apigee/data/apigee-monit, puis redémarrez apigee-monit.

Pour définir les paramètres de configuration globale pour apigee-monit :

  1. Créez un fichier de configuration de composant à l'emplacement suivant :
    /opt/apigee/data/apigee-monit/filename.conf

    Où filename peut être n'importe quel nom de fichier valide, à l'exception de "monit".

  2. Remplacez le propriétaire du nouveau fichier de configuration par l'utilisateur "apigee", comme illustré dans l'exemple suivant :
    chown apigee:apigee /opt/apigee/data/apigee-monit/my-mail-config.conf
  3. Ajoutez vos paramètres de configuration globale au nouveau fichier. L'exemple suivant configure un serveur de messagerie et définit les destinataires des alertes :
    SET MAILSERVER smtp.gmail.com PORT 465
      USERNAME "example-admin@gmail.com" PASSWORD "PASSWORD"
      USING SSL, WITH TIMEOUT 15 SECONDS
    
    SET MAIL-FORMAT {
      from: edge-alerts@example.com
      subject: Monit Alert -- Service: $SERVICE $EVENT on $HOST
    }
    SET ALERT fred@example.com
    SET ALERT nancy@example.com

    Pour obtenir la liste complète des options de configuration globales, consultez la documentation monit.

  4. Enregistrez les modifications apportées au fichier de configuration du composant.
  5. Rechargez apigee-monit avec la commande suivante :
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit reload

    Si apigee-monit ne redémarre pas, vérifiez le fichier journal pour détecter les erreurs, comme décrit dans Accéder aux fichiers journaux apigee-monit.

  6. Répétez cette procédure pour chaque nœud de votre cluster.

Configurations des composants non Apigee

Vous pouvez ajouter vos propres configurations à apigee-monit afin qu'il vérifie les services qui ne font pas partie d'Apigee Edge pour Private Cloud. Par exemple, vous pouvez utiliser apigee-monit pour vérifier que vos API sont en cours d'exécution en envoyant des requêtes à votre point de terminaison cible.

Pour ajouter une configuration de composant non Apigee :

  1. Créez un fichier de configuration de composant à l'emplacement suivant :
    /opt/apigee/data/apigee-monit/filename.conf

    Où filename peut être n'importe quel nom de fichier valide, à l'exception de "monit".

    Vous pouvez créer autant de fichiers de configuration de composants que nécessaire. Par exemple, vous pouvez créer un fichier de configuration distinct pour chaque composant non Apigee que vous souhaitez surveiller sur le nœud.

  2. Remplacez le propriétaire du nouveau fichier de configuration par l'utilisateur "apigee", comme illustré dans l'exemple suivant :
    chown apigee:apigee /opt/apigee/data/apigee-monit/my-config.conf
  3. Ajoutez vos configurations personnalisées au nouveau fichier. L'exemple suivant vérifie le point de terminaison cible sur le serveur local :
    CHECK HOST localhost_validate_test WITH ADDRESS localhost
      IF FAILED
        PORT 15999
        PROTOCOL http
        REQUEST "/validate__test"
        CONTENT = "Server Ready"
        FOR 2 times WITHIN 3 cycles
      THEN alert

    Pour obtenir la liste complète des paramètres de configuration possibles, consultez la documentation de monit.

  4. Enregistrez les modifications apportées au fichier de configuration.
  5. Rechargez apigee-monit avec la commande suivante :
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit reload

    Si apigee-monit ne redémarre pas, recherchez les erreurs dans le fichier journal, comme décrit dans Accéder aux fichiers journaux de apigee-monit.

  6. Répétez cette procédure pour chaque nœud de votre cluster.

Notez que cela ne concerne que les composants non Edge. Vous ne pouvez pas personnaliser les configurations des composants Edge.

Accéder aux fichiers journaux apigee-monit

apigee-monit consigne toutes les activités, y compris les événements, les redémarrages, les modifications de configuration et les alertes, dans un fichier journal.

L'emplacement par défaut du fichier journal est le suivant :

/opt/apigee/var/log/apigee-monit/apigee-monit.log

Vous pouvez modifier l'emplacement par défaut en personnalisant les paramètres de contrôle apigee-monit.

Les entrées du fichier journal se présentent sous la forme suivante :

'edge-message-processor' trying to restart
[UTC Dec 14 16:20:42] info     : 'edge-message-processor' trying to restart
'edge-message-processor' restart: '/opt/apigee/apigee-service/bin/apigee-service edge-message-processor monitrestart'

Vous ne pouvez pas personnaliser le format des entrées du fichier journal apigee-monit.

Afficher l'état agrégé avec apigee-monit

apigee-monit inclut les commandes suivantes qui fournissent des informations agrégées sur l'état des composants d'un nœud :

Commande Utilisation
report
/opt/apigee/apigee-service/bin/apigee-service apigee-monit report
summary
/opt/apigee/apigee-service/bin/apigee-service apigee-monit summary

Chacune de ces commandes est expliquée plus en détail dans les sections suivantes.

rapport

La commande report vous donne un résumé du nombre de composants actifs, inactifs, en cours d'initialisation ou actuellement non surveillés sur un nœud. L'exemple suivant appelle la commande report :

/opt/apigee/apigee-service/bin/apigee-service apigee-monit report

L'exemple suivant montre la sortie report sur une configuration AIO (tout-en-un) :

/opt/apigee/apigee-service/bin/apigee-service apigee-monit report
up:            11 (100.0%)
down:           0 (0.0%)
initialising:   0 (0.0%)
unmonitored:    1 (8.3%)
total:         12 services

Dans cet exemple, apigee-monit indique que 11 services sur 12 sont opérationnels. Un service n'est pas surveillé actuellement.

Une erreur Connection refused peut s'afficher la première fois que vous exécutez la commande report. Dans ce cas, attendez la durée de la propriété conf_monit_monit_delay_time, puis réessayez.

résumé

La commande summary liste chaque composant et fournit son état. L'exemple suivant appelle la commande summary :

/opt/apigee/apigee-service/bin/apigee-service apigee-monit summary

L'exemple suivant montre la sortie de summary sur une configuration AIO (tout-en-un) :

/opt/apigee/apigee-service/bin/apigee-service apigee-monit summary
Monit 5.25.1 uptime: 4h 20m
 Service Name                     Status                      Type
 host_name                        OK                          System
 apigee-zookeeper                 OK                          Process
 apigee-cassandra                 OK                          Process
 apigee-openldap                  OK                          Process
 apigee-qpidd                     OK                          Process
 apigee-postgresql                OK                          Process
 edge-management-ui               OK                          Process
 edge-qpid-server                 OK                          Remote Host
 edge-postgres-server             OK                          Remote Host
 edge-management-server           OK                          Remote Host
 edge-router                      OK                          Remote Host
 edge-message-processor           OK                          Remote Host

Si vous obtenez une erreur Connection refused lorsque vous exécutez la commande summary pour la première fois, attendez la durée de la propriété conf_monit_monit_delay_time, puis réessayez.

Surveiller apigee-monit

Il est recommandé de vérifier régulièrement que apigee-monit s'exécute sur chaque nœud.

Pour vérifier que apigee-monit est en cours d'exécution, utilisez la commande suivante :

/opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor_monit

Apigee vous recommande d'exécuter cette commande régulièrement sur chaque nœud exécutant apigee-monit. Pour ce faire, vous pouvez utiliser un utilitaire tel que cron, qui exécute des tâches planifiées à des intervalles prédéfinis.

Pour utiliser cron afin de surveiller apigee-monit :

  1. Ajoutez la compatibilité avec cron en copiant le répertoire apigee-monit.cron dans le répertoire /etc/cron.d, comme illustré dans l'exemple suivant :
    cp /opt/apigee/apigee-monit/cron/apigee-monit.cron /etc/cron.d/
  2. Ouvrez le fichier apigee-monit.cron pour le modifier.

    Le fichier apigee-monit.cron définit le job cron à exécuter ainsi que la fréquence d'exécution de ce job. L'exemple suivant montre les valeurs par défaut :

    # Cron entry to check if monit process is running. If not start it
    */2 * * * * root /opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor_monit

    Ce fichier utilise la syntaxe suivante, dans laquelle les cinq premiers champs définissent l'heure à laquelle apigee-monit exécute son action :

    min hour day_of_month month day_of_week task_to_execute

    Par exemple, le temps d'exécution par défaut est */2 * * * *, ce qui indique à cron de vérifier le processus apigee-monit toutes les deux minutes.

    Vous ne pouvez pas exécuter un job cron plus d'une fois par minute.

    Pour en savoir plus sur l'utilisation de cron, consultez la documentation ou les pages de manuel de l'OS de votre serveur.

  3. Modifiez les paramètres cron pour qu'ils correspondent aux règles de votre organisation. Par exemple, pour modifier la fréquence d'exécution toutes les cinq minutes, définissez la tâche comme suit :
    */5 * * * * root /opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor_monit
  4. Enregistrez le fichier apigee-monit.cron.
  5. Répétez cette procédure pour chaque nœud de votre cluster.

Si cron ne commence pas à regarder apigee-monit, vérifiez les points suivants :

  • Une ligne vide suit la définition du job cron.
  • Un seul job cron est défini dans le fichier. (Les lignes commentées ne sont pas prises en compte.)

Si vous souhaitez arrêter ou désactiver temporairement apigee-monit, vous devez également désactiver ce job cron, sinon cron redémarrera apigee-monit.

Pour désactiver cron, effectuez l'une des opérations suivantes :

  • Supprimez le fichier /etc/cron.d/apigee-monit.cron :
    sudo rm /etc/cron.d/apigee-monit.cron

    Vous devrez le copier à nouveau si vous souhaitez réactiver cron pour regarder apigee-monit.

    OR

  • Modifiez le fichier /etc/cron.d/apigee-monit.cron et mettez la définition du job en commentaire en ajoutant un "#" au début de la ligne, par exemple :
    # 10 * * * * root /opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor_monit