Guide d'intégration de Puppet

Puppet fournit un moyen standard de fournir et d'exploiter des logiciels, quel que soit l'endroit où ils sont exécutés. Avec l'approche Puppet, vous définissez à quoi vous voulez que vos applications et votre infrastructure ressemblent à l'aide d'un langage commun facile à lire. À partir de là, vous pouvez partager, tester et appliquer les modifications que vous souhaitez apporter à l'ensemble de 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 la conformité.

Dans PagerDuty

  1. Aller à la Configuration menu et sélectionnez Services .

  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 bouton Intégrations onglet et cliquez sur le Nouvelle intégration bouton.

  3. 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.

  4. 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.

  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 d'installation pdsupport-pagerduty 
  2. Installez les dépendances Ruby nécessaires :

     /opt/puppetlabs/server/bin/puppetserver gemme installer puppet 
     /opt/puppetlabs/server/bin/puppetserver gemme installer json 
     /opt/puppetlabs/server/bin/puppetserver gemme installer redphone 
  3. Installer 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 devoir de pager classe vers le manifeste principal de votre nœud maître :

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

     [master] rapports = pagerduty 
  6. Activez pluginsync et les rapports sur vos nœuds maître et client si ce n'est pas déjà fait :

    Remarque : à partir de Puppet 3.0.0, ces paramètres sont définis sur true 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 :

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

    Ou vous pouvez l'activer dans le devoir de pager 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 service puppetserver sudo 
  8. Déplacer le pagerduty.yaml.erb modèle dans votre master répertoire de configuration 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: 'INSÉRER_LA_CLÉ_D'INTÉGRATION_ICI' 
  10. Pour tester qu'une exécution échouée déclenchera un incident PagerDuty , modifiez le devoir de page 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/puppetagent --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 versions plus anciennes de Puppet, veuillez consulter ce module , qui a été construit 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 avez plusieurs nœuds maîtres Puppet dans votre environnement, vous pouvez intégrer chaque nœud à un service distinct dans PagerDuty. Il suffit de mettre à 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 courses de marionnettes sont dédupliquées en fonction de la hôte qui a généré le rapport.

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

    Les journaux de marionnettes sont situés sur votre nœud maître dans le répertoire de journalisation , qui peut être configuré dans marionnette.conf . Le répertoire par défaut dans Puppet 4.x est :

     /var/log/puppetlabs/puppetserver 

Prêt à commencer ?

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