Intégrer les événements de la plateforme New Relic

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 4 minutes de lecture
  • Intégrez New Relic à Gestion des événements New Relic en ajoutant un webhook standard dans les anciennes et nouvelles consoles New Relic.

    Avant de commencer

    Vérifiez que le module d’extension Gestion des événements Connecteurs (sn_em_connector) est installé sur l’instance Now Platform .

    Rôle requis : evt_mgmt_integration

    Pourquoi et quand exécuter cette tâche

    Configurez l'environnement Gestion des événements pour la collecte d'événements à partir de New Relic en authentifiant New Relic en tant que source de données. Définissez votre Now Platform instance en tant que point de terminaison REST à l’aide d’un webhook standard. Utilisez l’étape de procédure 1 pour la nouvelle console. Utilisez l’étape de procédure 2 pour l’ancienne console.

    Procédure

    1. Pour la nouvelle console :
      1. Créez une destination.
        1. Accédez à la Alertes et IA > Destinations.
        2. Dans la section Ajouter des destinations , sélectionnez le type de canal Webhook .
        3. Dans le champ Nom du Webhook , saisissez le nom du Webhook.
        4. Dans le champ URL du point de terminaison , entrez : https://<InstanceName>.service-now.com/api/sn_em_connector/em/inbound_event?source=newrelic
        5. Dans la section Authentification de base , entrez votre nom d’utilisateur et votre mot de passe.
          Remarque :
          Vérifiez que le rôle evt_mgmt_integration est affecté à l’utilisateur sélectionné. pour garantir une authentification appropriée, utilisez l'utilisateur le moins privilégié disposant du rôle evt_mgmt_integration, plutôt qu'un utilisateur possédant des privilèges élevés.
        6. Sélectionnez Enregistrer la destination.
      2. Créez une politique.
        1. Accédez à la Alertes et IA > Conditions et politiques d’alerte.
        2. Sélectionnez Nouvelle politique d’alerte et définissez une politique.
        3. Sélectionnez Configurer les notifications.
        4. Dans la section Ajouter un canal , sélectionnez Webhook, puis sélectionnez la destination que vous avez créée à la sous-étape précédente.
        5. Dans la section Modèle de charge utile , collez la charge utile JSON suivante.
          {
          "account_id": {{nrAccountId}},
          "account_name": {{json accumulations.tag.account.[0]}},
          "closed_violations_count": {{closedIncidentsCount}},
          "open_violations_count": {{openIncidentsCount}},
          "condition_description": "{{escape accumulations.conditionDescription.[0]}}",
          "condition_family_id": {{accumulations.conditionFamilyId.[0]}},
          "condition_name": "{{escape accumulations.conditionName.[0]}}",
          "current_state": {{json state}},
          "details": {{json issueTitle}},
          "duration": {{#if issueDurationMs}}{{issueDurationMs}}{{else}}0{{/if}},
          "event_type": "INCIDENT",
          "incident_acknowledge_url": {{json issueAckUrl}},
          "incident_id": {{json issueId}},
          "incident_url": {{json issuePageUrl}},
          "metadata": {
              {{#if locationStatusesObject}}"location_statuses": {{json locationStatusesObject}},{{/if}}
              {{#if accumulations.metadata_entity_type}}"entity.type": {{json accumulations.metadata_entity_type.[0]}},{{/if}}
              {{#if accumulations.metadata_entity_name}}"entity.name": {{json accumulations.metadata_entity_name.[0]}},{{/if}}
              "section": "metadata"
          },
          "owner": {{json owner}},
          "policy_name": {{json accumulations.policyName.[0]}},
          "policy_url": {{json policyUrl}},
          "runbook_url": {{json accumulations.runbookUrl.[0]}},
          "severity": {{json priority}},
          "targets": [
              {
                  "id": "{{labels.targetId.[0]}}",
                  "name": "{{#if accumulations.targetName}}{{escape accumulations.targetName.[0]}}{{else if entitiesData.entities}}{{escape entitiesData.entities.[0].name}}{{else}}N/A{{/if}}",
                  "link": "{{issuePageUrl}}",
                  "product": "{{accumulations.conditionProduct.[0]}}",
                  "type": "{{#if entitiesData.types.[0]}}{{entitiesData.types.[0]}}{{else}}N/A{{/if}}",
                  "labels": { {{#each accumulations.rawTag}}"{{escape @key}}": {{#if this.[0]}}{{json this.[0]}}{{else}}"empty"{{/if}}{{#unless @last}},{{/unless}}{{/each}}
                  }
              }
          ],
          "timestamp": {{updatedAt}},
          "violation_callback_url": {{json issuePageUrl}},
          "violation_chart_url": {{json violationChartUrl}}
            }
        6. Sélectionnez Envoyer une notification de test pour obtenir l’événement de test dans votre ServiceNow instance.
        7. Sélectionnez Enregistrer le message.
        8. Sélectionnez Activer le workflow pour activer le workflow.
      3. Créez les conditions d'alerte à appliquer à la politique :
        1. Accédez à la Alertes et IA > Conditions et politiques d’alerte.
        2. Sélectionnez Créer une condition d’alerte, définissez les détails de l’alerte requis et ajoutez-les à la politique que vous avez créée à l’étape précédente.
        3. Sélectionnez Enregistrer la condition.
    2. Pour l’ancienne console.
      1. Créez un canal de notification.
        1. Accédez à la Alertes et IA > Canaux de notification.
        2. Dans l’onglet Détails du canal , sélectionnez le type de canal Webhook .
        3. Dans la zone de texte URL de base, saisissez : https://<nom-instance>.service-now.com/api/sn_em_connector/em/inbound_event?source=newrelic
        4. Dans la section Authentification de base, saisissez le nom d'utilisateur et le mot de passe de l'utilisateur concerné.
          Remarque :
          Vérifiez que le rôle evt_mgmt_integration est affecté à l’utilisateur sélectionné. pour garantir une authentification appropriée, utilisez l'utilisateur le moins privilégié disposant du rôle evt_mgmt_integration, plutôt qu'un utilisateur possédant des privilèges élevés.
        5. Dans la section Charge utile personnalisée , sélectionnez Ajouter une charge utile personnalisée, puis sélectionnez le type de charge utile JSON .
        6. Collez la charge utile JSON suivante dans la charge utile personnalisée.
          {
            "account_id": "$ACCOUNT_ID",
            "account_name": "$ACCOUNT_NAME",
            "closed_violations_count_critical": "$CLOSED_VIOLATIONS_COUNT_CRITICAL",
            "closed_violations_count_warning": "$CLOSED_VIOLATIONS_COUNT_WARNING",
            "condition_description": "$DESCRIPTION",
            "condition_family_id": "$CONDITION_FAMILY_ID",
            "condition_name": "$CONDITION_NAME",
            "current_state": "$EVENT_STATE",
            "details": "$EVENT_DETAILS",
            "duration": "$DURATION",
            "event_type": "$EVENT_TYPE",
            "incident_acknowledge_url": "$INCIDENT_ACKNOWLEDGE_URL",
            "incident_id": "$INCIDENT_ID",
            "incident_url": "$INCIDENT_URL",
            "metadata": "$METADATA",
            "open_violations_count_critical": "$OPEN_VIOLATIONS_COUNT_CRITICAL",
            "open_violations_count_warning": "$OPEN_VIOLATIONS_COUNT_WARNING",
            "owner": "$EVENT_OWNER",
            "policy_name": "$POLICY_NAME",
            "policy_url": "$POLICY_URL",
            "runbook_url": "$RUNBOOK_URL",
            "severity": "$SEVERITY",
            "targets": "$TARGETS",
            "timestamp": "$TIMESTAMP",
            "violation_callback_url": "$VIOLATION_CALLBACK_URL",
            "violation_chart_url": "$VIOLATION_CHART_URL"
          }
      2. Créez une politique.
        1. Accédez à la Alertes et IA > Stratégies.
        2. Sélectionnez Nouvelle politique d’alerte et définissez une politique.
        3. Dans la section Canaux de notification , sélectionnez Ajouter, Webhook, puis sélectionnez le canal que vous avez créé à l’étape précédente.
      3. Créez les conditions d'alerte à appliquer à la politique :
        1. Accédez à la Infrastructure > Paramètres > Alertes.
        2. Sélectionnez Créer une condition d’alerte, définissez les détails de l’alerte requis et ajoutez-les à la politique que vous avez créée à l’étape précédente.
        3. Sélectionnez Créer.

    Résultats

    L'envoi des alertes de New Relic au module d'extension Event Management commence. Le module d'extension extrait les informations du message d'alerte New Relic d'origine pour renseigner les champs d'événement requis et insère l'événement dans la base de données. Dans votre instance Now Platform, accédez à Tous les événements pour afficher les événements.
    Remarque :
    Par défaut, la liaison d'hôtes est activée pour les événements New Relic pour tous les fournisseurs (Azure/AWS/GCP). Si tous les hôtes de l'environnement sont détectés via Détection dans le cloud en fournissant des informations d'identification et que les ressources détectées se trouvent dans la liste cmdb_ci_vm_object, la liaison d'ordinateurs virtuels est impossible. Pour résoudre ce problème, vous devez activer la règle d'événement New Relic - Général. Pour en savoir plus sur les règles d'événements, consultez la rubrique Règles d'événements.