Guide d'intégration de SaltStack

Cette intégration nécessite l'utilisation de notre API REST v1 qui a été mise hors service le 19 octobre 2018.

Pour plus d'informations sur la mise hors service de l'API REST v1, consultez notre FAQ ici : https://v2.developer.pagerduty.com/v2/docs/v1-rest-api-decommissioning-faq

Veuillez contacter SaltStack pour vous renseigner sur l'état de cette mise à niveau.

SaltStack est le principal framework de gestion de systèmes qui combine l'exécution à distance avec un large éventail d'autres fonctionnalités, de la gestion de la configuration à l'automatisation des serveurs en passant par les services de surveillance.

Ce document détaille comment configurer les outils d'exécution à distance et de gestion de configuration dans SaltStack à utiliser avec PagerDuty. Une présentation plus détaillée de SaltStack lui-même peut être trouvée ici .

Dans PagerDuty

Tous les plug-ins PagerDuty pour SaltStack nécessitent la configuration du sous-domaine pagerduty et de api_key, ainsi qu'une intégration.

  1. Du Configuration menu, sélectionnez Prestations de service.
  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 le Intégrations et cliquez sur l'onglet +Nouvelle intégration bouton. RS-Add-New-ServiceRS-Add-Integration-Existing-Service
  3. Sélectionnez votre application dans 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 Paramètres généraux, saisissez un Nom pour votre nouveau service. Ensuite, dans Paramètres d'incident, spécifiez le Politique de remontée d'informations , Urgence des notifications , et Comportement en cas d'incident pour votre nouveau service.
  4. Clique le Ajouter un service ou Ajouter une intégration bouton pour enregistrer votre nouvelle intégration. Vous serez redirigé vers la page Intégrations de votre service.
    RS-Integration-Settings
  5. Copiez le Clé d'intégration pour votre nouvelle intégration : RS_API_pd_3
  6. Du Configuration menu, sélectionnez Accès API .
    apiaccess-0
  7. Sur votre page d'accès à l'API, cliquez sur le bouton +Créer une nouvelle clé API bouton. apiaccess-1
  8. Dans la boîte de dialogue qui apparaît, vous serez invité à saisir un Description pour votre clé et choisissez un Version API . Vous aurez également la possibilité de créer la clé comme Lecture seulement ; laisser cette case décochée créera une clé d’accès complet. _int3__API_Keys_-_PagerDuty   Une remarque sur la gestion des versions : L'API v2.0 est conçue pour faciliter la communication des nouvelles intégrations avec PagerDuty. La plupart des intégrations PagerDuty existantes nécessiteront une clé API v1.0. Si vous avez des questions sur la version de l'API à utiliser, veuillez contacter support@pagerduty.com
  9. Une fois que vous avez renseigné vos options, cliquez sur Créer une clé .
  10. Une fois que vous avez cliqué sur Créer une clé, vous verrez une boîte de dialogue affichant votre clé et confirmant les options que vous avez renseignées à l'étape précédente. Assurez-vous de copier cette clé dans toute application qui en a besoin maintenant, car vous n'aurez plus accès à la clé après cette étape. Si vous perdez une clé que vous avez créée précédemment et que vous avez besoin d'y accéder à nouveau, vous devez supprimer la clé et en créer une nouvelle. Cliquez sur Fermer une fois que vous avez copié avec succès votre clé. api__2_

Dans SaltStack :

Depuis la version 2014.7.0 de Salt, PagerDuty est pris en charge nativement et ne nécessite aucun plugin supplémentaire. Cependant, Salt doit toujours être configuré pour utiliser les modules PagerDuty . Actuellement, seule la fonctionnalité côté minion est prise en charge.

Fichier de configuration des serviteurs

  1. Modifier le /etc/salt/sbire fichier, pour inclure les informations ci-dessus. En supposant que votre compte PagerDuty est configuré pour utiliser http://myaccount.pagerduty.com/ et les paramètres ci-dessus, la strophe de configuration ressemblera à :
     my-pagerduty-config : pagerduty.subdomain : mon compte pagerduty.api_key : K42pPqY75U1Qr7e9 

Configuration des piliers

PagerDuty peut également être configuré à partir du système de piliers de Salt.

  1. Créer un /srv/pillar/pagerduty.sls fichier, pour inclure les informations ci-dessus. En supposant que votre compte PagerDuty est configuré pour utiliser http://myaccount.pagerduty.com/ et les paramètres ci-dessus, la strophe de configuration ressemblera à :
     my-pagerduty-config : pagerduty.subdomain : mon compte pagerduty.api_key : K42pPqY75U1Qr7e9 
  2. Modifier le /srv/pillar/top.sls fichier, pour faire correspondre les serviteurs nécessaires à la configuration de PagerDuty . En supposant que tous les serviteurs utilisent PagerDuty, cela peut ressembler à :
     base : '*' : - service de téléavertisseur 

Utilisation de PagerDuty avec Event Reactor de Salt

PagerDuty est disponible en tant que module d'exécution, ce qui signifie qu'il est utilisable à partir du système Event Reactor à l'intérieur de Salt. Ce guide contient un exemple d'utilisation des bases événement module d'exécution. Pour une discussion plus complète du système de réacteur, voir http://docs.saltstack.com/en/latest/topics/reactor/ .

      1. Modifier le /etc/salt/maître fichier sur le maître. Si ce n'est pas déjà fait, ajoutez une section appelée réacteur . Dans cette section, ajoutez le nom de la balise personnalisée que nous utiliserons et l'emplacement du fichier réacteur qui sera utilisé.
         réacteur : - 'my/custom/tag' : - /srv/reactor/my-custom.sls 
      2. Créez le fichier du réacteur sur /srv/reactor/my-custom.sls . Ce fichier demandera à un serviteur appelé alertminion de déclencher un incident dans PagerDuty. Notez que le clé_service se réfère à la clé d'intégration mentionné ci-dessus.
         new_custom_alert : cmd.pagerduty.create_event : - cible : alertminion - kwarg : description : 'Alerte personnalisée de {{ data['name'] }}' détails : Il s'agit d'une alerte personnalisée service_key : 8eb116b11626346239365c9651e profil : my-pagerduty-config 
      3. Redémarrez le service salt-master pour activer la configuration du réacteur.
         # Sur les systèmes utilisant toujours l'ancien service d'initialisation SysV salt-master restart # Sur les systèmes utilisant systemd systemctl restart salt-master 
      4. Depuis le maître, demandez à un serviteur de déclencher un événement sur le bus d'événements de Salt.
         salt myminion event.fire_master '{'data':'mes données d'événement'}' 'my/custom/tag' 

</ol

Utiliser PagerDuty dans un état de sel

Il est également possible de créer un incident lors d'une exécution d'état. Voici un exemple qui suppose qu’aucune arborescence d’état n’existe actuellement. Une discussion détaillée des états de sel peut être trouvée sur http://docs.saltstack.com/en/latest/topics/tutorials/index.html#states .

        1. Créez un fichier sur /srv/salt/top.sls qui cible tous les serviteurs avec un état qui surveille la charge moyenne.
           base : '*' : - moyenne de charge 
        2. Créez un fichier SLS sur /src/salt/loadavg.sls qui effectue la surveillance de la charge moyenne. Si la charge moyenne tombe en dehors de la plage spécifiée, un incident sera déclenché dans PagerDuty.
           check_load : status.loadavg : - maximum : 1,2 - minimum : 0,05 - onfail : - pagerduty : loadavg_trigger loadavg_trigger : pagerduty.create_event : - nom : 'Mauvaise charge moyenne' - détails : 'La charge moyenne est en dehors de la plage souhaitée' - service_key : 8eb116b11626346239365c9651e - profil : my-pagerduty-config 
        3. Effectuez une exécution d'état contre un serviteur, qui vérifiera la charge moyenne et déclenchera l'incident si nécessaire.
           sel myminion state.highstate 

Autres fonctions PagerDuty

D'autres fonctions sont également disponibles via le module d'exécution PagerDuty . Pour utiliser ces fonctions, au moins un serviteur doit être configuré pour PagerDuty. La version actuelle de Salt prend en charge la liste des incidents et des services actuels.

Services d'inscription

En plus des autres informations renvoyées, cette fonction renverra des clés d'intégration qui pourront être utilisées pour déclencher des incidents. Pour passer un appel depuis le maître, en utilisant un serviteur configuré :

 sel myminion pagerduty.list_services my-pagerduty-config 

Liste des incidents

Cette fonction renverra tous les incidents associés à ce compte, y compris ouverts, reconnus et résolus. Pour passer un appel depuis le maître, en utilisant un serviteur configuré :

 sel myminion pagerduty.list_incidents my-pagerduty-config 

Commencez à utiliser PagerDuty aujourd'hui

Essayez PagerDuty gratuitement pendant 14 jours – aucune carte de crédit requise.

S'INSCRIRE