- PagerDuty /
- Intégrations /
- Guide d'intégration de SaltStack
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, allant de la gestion de la configuration à l'automatisation des serveurs en passant par les services de surveillance.
Ce document explique en détail comment configurer les outils d'exécution à distance et de gestion de la configuration de SaltStack pour une utilisation avec PagerDuty. Vous trouverez une présentation plus détaillée de SaltStack. ici .
Dans PagerDuty
Tous les plugins PagerDuty pour SaltStack nécessitent le sous-domaine et la clé API PagerDuty, ainsi qu'une intégration à configurer.
- De la part de Configuration menu, sélectionnez Services.
- 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.


- Sélectionnez votre application parmi les 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.
- 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.

- Copiez le Clé d'intégration pour votre nouvelle intégration :

- De la part de Configuration menu, sélectionnez Accès API .

- Sur votre page d'accès à l'API, cliquez sur +Créer une nouvelle clé API bouton.

- Dans la boîte de dialogue qui apparaît, vous serez invité à saisir un Description pour votre clé, et choisissez un Version de l'API Vous aurez également la possibilité de créer la clé comme Lecture seule ; laisser cette case décochée créera une clé d'accès complète.
Remarque concernant le versionnage : L'API v2.0 est conçue pour simplifier la communication entre les nouvelles intégrations et PagerDuty. La plupart des intégrations PagerDuty existantes nécessitent une clé API v1.0. Pour toute question concernant la version d'API à utiliser, veuillez nous contacter. support@pagerduty.com - Une fois vos options renseignées, cliquez Créer une clé .
- Une fois que vous aurez cliqué sur « Créer une clé », une boîte de dialogue s'affichera, présentant votre clé et confirmant les options que vous avez renseignées à l'étape précédente. Veillez à copier cette clé dans toutes les applications qui en ont besoin, car vous n'y aurez plus accès 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 Fermer une fois que vous avez copié votre clé avec succès.

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, seules les fonctionnalités côté minion sont prises en charge.
Fichier de configuration Minion
- Modifier le
/etc/salt/minionfichier, pour inclure les informations ci-dessus. En supposant que votre compte PagerDuty soit configuré pour utiliser https://myaccount.pagerduty.com/ et avec les paramètres ci-dessus, la section de configuration ressemblera à ceci :
my-pagerduty-config : pagerduty.subdomain : myaccount pagerduty.api_key : K42pPqY75U1Qr7e9
Configuration des piliers
PagerDuty peut également être configuré à partir du système de piliers de Salt.
- Créer un
/srv/pillar/pagerduty.slsfichier, pour inclure les informations ci-dessus. En supposant que votre compte PagerDuty soit configuré pour utiliser https://myaccount.pagerduty.com/ et avec les paramètres ci-dessus, la section de configuration ressemblera à ceci :
my-pagerduty-config : pagerduty.subdomain : myaccount pagerduty.api_key : K42pPqY75U1Qr7e9 - Modifier le
/srv/pillar/top.slsfichier permettant d'associer les minions nécessaires à la configuration PagerDuty . En supposant que tous les minions utilisent PagerDuty, cela pourrait ressembler à ceci :
base : '*' : - pagerduty
Utilisation de PagerDuty avec le réacteur d'événements de Salt
PagerDuty est disponible en tant que module d'exécution, ce qui signifie qu'il est utilisable depuis le système Event Reactor de Salt. Ce guide contient un exemple d'utilisation de base. événement module d'exécution. Pour une description plus complète du système de réacteur, voir https://docs.saltstack.com/en/latest/topics/reactor/ .
- Modifier le
/etc/salt/masterfichier sur le maître. S'il n'existe pas déjà, ajoutez une section appeléeréacteurDans cette section, ajoutez le nom de la balise personnalisée que nous utiliserons, ainsi que l'emplacement du fichier réacteur qui sera utilisé.
réacteur : - 'my/custom/tag' : - /srv/reactor/my-custom.sls - Créez le fichier du réacteur à l'emplacement suivant :
/srv/réacteur/mon-fichier-personnaliséCe fichier demandera à un minion appelé alertminion de déclencher un incident dans PagerDuty. Notez que leclé de servicefait référence au clé d'intégration mentionné ci-dessus.
nouvelle_alerte_personnalisée : cmd.pagerduty.create_event : - tgt : alertminion - kwarg : description : « Alerte personnalisée de {{ data['name'] }} » détails : Ceci est une alerte personnalisée service_key : 8eb116b11626346239365c9651e profil : my-pagerduty-config - Redémarrez le service salt-master pour activer la configuration du réacteur.
# Sur les systèmes utilisant encore l'ancien service d'initialisation SysV : redémarrage du maître Salt # Sur les systèmes utilisant systemd : redémarrage du maître Salt - Depuis le maître, ordonnez à un sbire 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'
Utilisation de PagerDuty dans un état Salt
Il est également possible de créer un incident pendant une exécution d'état. L'exemple suivant suppose qu'aucun arbre d'état n'existe actuellement. Une description détaillée des états Salt est disponible à l'adresse suivante : https://docs.saltstack.com/en/latest/topics/tutorials/index.html#states .
- Créez un fichier à
/srv/salt/top.slsqui cible tous les minions avec un état qui surveille la charge moyenne.
base : '*' : - charge moyenne - Créez un fichier SLS à
/src/salt/loadavg.slsqui effectue la surveillance de la charge moyenne. Si la charge moyenne sort 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: - name: 'Mauvaise moyenne de charge' - details: 'La moyenne de charge est hors de la plage souhaitée' - service_key: 8eb116b11626346239365c9651e - profile: my-pagerduty-config - Effectuez une analyse d'état sur un minion, ce qui vérifiera la charge moyenne et déclenchera l'incident si nécessaire.
sel mon état mineur.haut état
Autres fonctions de PagerDuty
D'autres fonctionnalités sont également disponibles via le module d'exécution PagerDuty . Pour les utiliser, au moins un minion doit être configuré pour PagerDuty. La version actuelle de Salt permet de lister les incidents et les services en cours d'exécution.
Services d'annonces
Outre les autres informations renvoyées, cette fonction renvoie des clés d'intégration permettant de déclencher des incidents. Pour effectuer un appel depuis le nœud maître, à l'aide d'un nœud minion configuré :
sel myminion pagerduty.list_services my-pagerduty-config
Liste des incidents
Cette fonction renverra tous les incidents associés à ce compte, y compris les incidents ouverts, accusés de réception et résolus. Pour effectuer un appel depuis le serveur principal, à l'aide d'un minion configuré :
sel myminion pagerduty.list_incidents my-pagerduty-config
Prêt à commencer ?
Essayez gratuitement n'importe quel produit sur Operations Cloud .
Aucune carte de crédit requise.