- 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, 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 la configuration dans SaltStack à utiliser avec PagerDuty. Une présentation plus détaillée de SaltStack lui-même est disponible ici .
Dans PagerDuty
Tous les plug-ins PagerDuty pour SaltStack nécessitent le sous-domaine pagerduty et la clé API, ainsi qu'une intégration à configurer.- De la Configuration menu, sélectionner 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 le bouton Intégrations onglet et cliquez sur le +Nouvelle intégration bouton.
- Sélectionnez votre application dans la liste 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, entrez un Nom pour votre nouveau service. Ensuite, dans Paramètres d'incident, spécifiez le Politique d'escalade , Urgence de notification , et Comportement en cas d'incident pour votre nouveau service.
- Cliquez sur le Ajouter un service ou Ajouter une intégration 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 Configuration menu, sélectionner Accès API .
- Sur votre page d'accès API, cliquez sur le bouton +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 une 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 sur le contrôle de version : 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 d'API à utiliser, veuillez contacter support@pagerduty.com
- Une fois vos options renseignées, cliquez sur Créer une clé .
- 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é.
Dans SaltStack :
Depuis la version 2014.7.0 de Salt, PagerDuty est pris en charge de manière native et ne nécessite aucun plug-in 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/sel/minion
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 : moncompte pagerduty.api_key : K42pPqY75U1Qr7e9
- 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 : moncompte pagerduty.api_key : K42pPqY75U1Qr7e9
- Modifier le
/srv/pillar/top.sls
fichier, pour faire correspondre les minions nécessaires à la configuration de PagerDuty . En supposant que tous les minions utiliseront PagerDuty, cela peut ressembler à :base: '*': - pagerduty
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 dans Salt. Ce guide contient un exemple d'utilisation du module de base é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/ . -
-
- Modifier le
/etc/sel/maître
fichier sur le master. S'il n'est pas déjà présent, ajoutez une section appeléeré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 : - 'mon/tag/personnalisé' : - /srv/reactor/my-custom.sls
- Créez le fichier réacteur à
/srv/reactor/mon-custom.sls
. Ce fichier demandera à un minion appelé alertminion de déclencher un incident dans PagerDuty. Notez que leclé_de_service
fait référence à la clé d'intégration mentionné ci-dessus.new_custom_alert : cmd.pagerduty.create_event : - tgt : alertminion - kwarg : description : « Alerte personnalisée de {{ data['name'] }} » détails : il s'agit d'une alerte personnalisée service_key : 8eb116b11626346239365c9651e profile : 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 salt-master restart # Sur les systèmes utilisant systemd systemctl restart salt-master
- 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'
- Modifier le
-
Utilisation de PagerDuty dans un état salé
Il est également possible de créer un incident lors de l'exécution d'un état. L'exemple suivant suppose qu'aucun arbre d'état n'existe actuellement. Une discussion détaillée sur les états Salt est disponible à l'adresse suivante http://docs.saltstack.com/en/latest/topics/tutorials/index.html#states .-
-
-
- Créer un fichier à
/srv/salt/top.sls
qui cible tous les serviteurs avec un état qui surveille la charge moyenne.base: '*': - loadavg
- Créez un fichier SLS à
/src/salt/loadavg.sls
qui effectue la surveillance de la charge moyenne. Si la charge moyenne se situe 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 : - name : « Mauvaise charge moyenne » - details : « La charge moyenne est en dehors de la plage souhaitée » - service_key : 8eb116b11626346239365c9651e - profile : my-pagerduty-config
- Effectuez une exécution d'état sur un minion, qui vérifiera la charge moyenne et déclenchera l'incident si nécessaire.
état de sel myminion.highstate
- Créer un fichier à
-
-
Autres fonctions de PagerDuty
D'autres fonctions sont également disponibles via le module d'exécution PagerDuty . Pour utiliser ces fonctions, au moins un minion doit être configuré pour PagerDuty. La version actuelle de Salt prend en charge la liste des incidents et des services actuels. Liste des services En plus des autres informations renvoyées, cette fonction renverra des clés d'intégration qui peuvent être utilisées pour déclencher des incidents. Pour effectuer un appel depuis le maître, à l'aide d'un minion configuré : sel myminion pagerduty.list_services my-pagerduty-config
Liste des incidents Cette fonction renvoie tous les incidents associés à ce compte, y compris les incidents ouverts, reconnus et résolus. Pour effectuer un appel depuis le maître, à 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.