Guide d'intégration de Monit

Monit Monit est un petit logiciel libre permettant de gérer et de superviser les systèmes et services Unix. Relativement simple à installer et à configurer, il offre également une grande flexibilité aux utilisateurs avancés. Monit peut être intégré à PagerDuty via l'interface de messagerie et l'API ; toutefois, ce guide traite de l'utilisation de l'API. L'intégration par e-mail est expliquée ci-dessous dans la FAQ. En cas de problème d'intégration, n'hésitez pas à nous contacter. Contactez-nous .

Dans PagerDuty

  1. De la part de Configuration menu, sélectionnez Services.  
  2. Sur votre page Services : si vous créez un nouveau service pour votre intégration, cliquez sur +Ajouter un nouveau service Si vous ajoutez votre intégration à un service existant, cliquez sur le nom du service auquel vous souhaitez ajouter l'intégration. Cliquez ensuite sur Intégrations onglet et cliquez sur +Nouvelle intégration bouton.
  3. RS-Add-New-Service RS-Add-Integration-Existing-Service
  4. Sélectionner API Événements v2 de la Type d'intégration menu et entrez un Nom de l'intégration Si vous créez un nouveau service pour votre intégration, dans les paramètres généraux, saisissez un Nom pour votre nouveau service. Ensuite, dans les paramètres d'incident, spécifiez le Politique d'escalade , Notification urgente , et Comportement lors de l'incident pour votre nouveau service.
  5. Cliquez sur Ajouter un service ou Ajouter une intégration Cliquez sur le bouton pour enregistrer votre nouvelle intégration. Vous serez redirigé vers la page Intégrations de votre service. RS-Integration-Settings
  6. Copiez le Clé d'intégration pour votre nouvelle intégration : RS_API_pd_3

Dans Monit

Installez la bibliothèque Python PagerDuty : Ouvrez un terminal sur le serveur et exécutez la commande pip installer pagerduty pour télécharger et installer automatiquement la bibliothèque Python. Installez les scripts PagerDuty-Monit :
  1. Ouvrez un terminal et accédez soit à la configuration système de Monit (généralement '/etc/monit/'), soit au répertoire personnel de l'utilisateur qui exécutera Monit.
  2. Téléchargez les scripts avec les commandes suivantes
     wget https://raw.githubusercontent.com/pinterest/pagerduty-monit/master/pagerduty-trigger wget https://raw.githubusercontent.com/pinterest/pagerduty-monit/master/pagerduty-resolve 
  3. Modifiez les deux scripts afin que la variable PAGERDUTY_SERVICE_KEY soit décommentée et définie sur votre valeur. Clé API du service d'avant. 4-etc_monit_pagerduty
  4. Assurez-vous que les deux scripts sont exécutables : `chmod +x pagerduty-trigger; chmod +x pagerduty-resolve`.
  5. Ajoutez `exec '/etc/monit/pagerduty-trigger nginx'` à une section de vérification Monit en tant qu'action. Par exemple :
     Vérifier le processus crond avec le fichier PID /var/run/crond.pid. S'il n'existe pas pendant 3 cycles, exécuter « /etc/monit/pagerduty-trigger crond ». Sinon, s'il a réussi pendant 3 cycles, exécuter « /etc/monit/pagerduty-resolve crond ». 
  6. Redémarrez ou rechargez Monit : /etc/init.d/monit redémarrer ou rechargement de moniteur .
Tester l'intégration : Selon l'élément surveillé et la configuration de Monit, il est parfois possible de déclencher un incident en arrêtant simplement le service. Dans l'exemple ci-dessus, la commande `/etc/init.d/crond stop` déclenchera un incident si le service est indisponible pendant trois vérifications consécutives.

FAQ

Puis-je configurer Monit pour utiliser plusieurs services PagerDuty ?

Bien sûr, c'est possible. Il vous suffit d'avoir une autre copie des fichiers « pagerduty-trigger » et « pagerduty-resolve », avec des noms et des clés de service différents. Ensuite, vous modifiez simplement la section de vérification pour qu'elle exécute le script approprié.

Si un problème est résolu dans Monit, sera-t-il automatiquement résolu dans PagerDuty?

Oui ! Les problèmes résolus dans Monit mettront à jour PagerDuty ; cependant, la résolution des problèmes dans PagerDuty ne les corrige pas dans Monit.

Je préférerais utiliser l'intégration par e-mail. Comment puis-je la configurer ?

Les paramètres de configuration pour l'utilisation d'un serveur de messagerie avec Monit sont disponibles ici. ici Vous devrez installer un serveur de messagerie tel qu'Exim ou Sendmail pour envoyer l'e-mail.

Je ne reçois pas les alertes PagerDuty de Monit. Pourquoi est-ce que je reçois l'erreur « /usr/local/bin/pagerduty : est un répertoire » lorsque j'essaie de déclencher manuellement un incident ?

La bibliothèque Python PagerDuty a probablement été installée à un autre emplacement sur votre système, par exemple : /usr/bin/pagerduty Vous pouvez déterminer le chemin correct en exécutant la commande quel pagerduty : which pagerduty Il suffit d'exécuter une opération de recherche et de remplacement dans les fichiers pagerduty-trigger et pagerduty-resolve pour mettre à jour. /usr/local/bin/pagerduty avec l'emplacement de la bibliothèque Python PagerDuty sur votre système.

Prêt à commencer ?

Essayez gratuitement n'importe quel produit sur Operations Cloud . Aucune carte de crédit requise.