Guide d'intégration des marionnettes

Puppet fournit un moyen standard de fournir et d'exploiter des logiciels, quel que soit l'endroit où ils s'exécutent. Avec l'approche Puppet, vous définissez à quoi vous souhaitez que vos applications et votre infrastructure ressemblent en utilisant un langage commun facile à lire. À partir de là, vous pouvez partager, tester et appliquer les modifications que vous souhaitez apporter dans votre centre de données. Et à chaque étape du processus, vous disposez de la visibilité et des rapports dont vous avez besoin pour prendre des décisions et prouver votre conformité.

Dans PagerDuty

  1. Allez au Configuration menu et sélectionnez Prestations de service .

  2. Sur la 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.

  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.

  5. Copiez le Clé d'intégration pour votre nouvelle intégration.

Dans votre nœud Puppet Master

  1. Installez le pdsupport-pagerduty module:

     /opt/puppetlabs/bin/puppet module installer pdsupport-pagerduty 
  2. Installez les dépendances Ruby nécessaires :

     /opt/puppetlabs/server/bin/puppetserver gem installer une marionnette 
     /opt/puppetlabs/server/bin/puppetserver gem installer json 
     /opt/puppetlabs/server/bin/puppetserver gem installer redphone 
  3. Installez manuellement le pagerduty.rb scénario:

    Remarque : Cette étape est requise en raison d'un problème dans Puppet. Les détails sur ce problème sont documentés ici .

     cp /etc/puppetlabs/code/environments/production/modules/pagerduty/lib/puppet/reports/pagerduty.rb /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/reports/ 
  4. Ajouter un téléavertisseur class au manifeste principal de votre nœud maître :

     classe { 'pagerduty': } 
  5. Liste téléavertisseur en tant que gestionnaire de rapports sur votre nœud maître marionnette.conf déposer:

     Rapports [maîtres] = pagerduty 
  6. Activez la synchronisation des plugins et les rapports sur vos nœuds maître et client si ce n'est pas déjà fait :

    Remarque : depuis Puppet 3.0.0, ces paramètres sont vrais par défaut. Cette étape n'est nécessaire que si l'un de ces paramètres a été défini sur false.

    Vous pouvez activer manuellement les paramètres dans marionnette.conf :

     Rapport [maître] = vrai pluginsync = vrai Rapport [agent] = vrai pluginsync = vrai 

    Ou vous pouvez activer dans le téléavertisseur classe dans le manifeste de votre nœud maître :

     classe { 'pagerduty': pagerduty_puppet_reports => 'store,http,pagerduty', pagerduty_puppet_pluginsync => 'true', } 
  7. Redémarrez le serveur de marionnettes service:

     redémarrage du serveur de marionnettes du service sudo 
  8. Bouge le pagerduty.yaml.erb modèle dans votre master confir et renommez le fichier pagerduty.yaml :

     mv /etc/puppetlabs/code/environments/production/modules/pagerduty/templates/pagerduty.yaml.erb /etc/puppetlabs/puppet/pagerduty.yaml 
  9. Modifiez votre pagerduty.yaml fichier et insérez le clé d'intégration vous avez copié à l'étape 5 ci-dessus :

     sudo vi /etc/puppetlabs/puppet/pagerduty.yaml 
     --- :pagerduty_api : 'INSERT_INTEGRATION_KEY_HERE' 
  10. Pour tester qu'un échec d'exécution déclenchera un incident PagerDuty , modifiez le téléavertisseur modules init.pp manifestez et décommentez les lignes 9 à 13 :

     sudo vi /etc/puppetlabs/code/environments/production/modules/pagerduty/manifests/init.pp 
     si ! défini(Service[$pagerduty_puppet_service]) { service { $pagerduty_puppet_service : assurer => en cours d'exécution, } } 
  11. Exécutez ensuite l'agent Puppet sur l'un de vos nœuds clients :

     /opt/puppetlabs/bin/agent de marionnettes --test 
  12. FAQ

    Avec quelles versions de Puppet cette intégration est-elle compatible ?

    Cette intégration a été testée avec Puppet 3.x et 4.x. Pour les anciennes versions de Puppet, veuillez consulter ce module , qui a été conçu pour Puppet 2.x.

    Pouvez-vous intégrer Puppet à plusieurs services PagerDuty ?

    Chaque nœud maître Puppet ne peut être intégré qu'à un seul service PagerDuty . Cependant, si vous disposez de plusieurs nœuds maîtres Puppet dans votre environnement, vous pouvez intégrer chaque nœud avec un service distinct dans PagerDuty. Mettez simplement à jour le clé d'intégration dans ton pagerduty.yaml fichier pour pointer vers le service que vous souhaitez intégrer à ce nœud particulier.

    Les incidents se résolvent-ils automatiquement dans PagerDuty si l'exécution réussit dans Puppet ?

    Oui, l'incident dans PagerDuty sera résolu dès que l'exécution sera réussie.

    Comment les exécutions Puppet ayant échoué sont-elles dédupliquées dans les incidents PagerDuty ?

    Les exécutions Puppet sont dédupliquées en fonction du hôte qui a généré le rapport.

    Où puis-je trouver des journaux pour résoudre les problèmes liés à cette intégration ?

    Les journaux Puppet se trouvent sur votre nœud maître dans le rép_journal , qui peut être configuré dans marionnette.conf . Le répertoire par défaut dans Puppet 4.x est :

     /var/log/puppetlabs/puppetserver 

Commencez à utiliser PagerDuty aujourd'hui

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

S'INSCRIRE