Events der New Relic-Plattform integrieren

  • Freigeben Version: Washingtondc
  • Aktualisiert 1. Februar 2024
  • 3 Minuten Lesedauer
  • Integrieren Sie New Relic mit Ereignismanagement, indem Sie der alten und neuen New Relic-Konsole einen Standard-Webhook hinzufügen.

    Vorbereitungen

    Vergewissern Sie sich, dass das Plugin Ereignismanagement „ Connectors“ (sn_em_connector) in der Instanz Now Platform installiert ist.

    Erforderliche Rolle: evt_mgmt_integration

    Warum und wann dieser Vorgang ausgeführt wird

    Konfigurieren Sie die Ereignismanagement-Umgebung für die Erfassung von Events aus New Relic, indem Sie New Relic als Datenquelle authentifizieren. Legen Sie Ihre Instanz Now Platform mit einem Standard-Webhook als REST-Endpunkt fest. Verwenden Sie Verfahrensschritt 1 für die neue Konsole. Verwenden Sie Verfahrensschritt 2 für die alte Konsole.

    Prozedur

    1. Für die neue Konsole:
      1. Erstellen Sie ein Ziel.
        1. Navigieren zu Warnungen und KI > Ziele.
        2. Wählen Sie im Abschnitt Ziele hinzufügen den Kanaltyp Webhook aus.
        3. Geben Sie im Feld Webhook-Name den Webhook-Namen ein.
        4. Geben Sie im Feld Endpunkt-URL Folgendes ein: https://<InstanceName> .service-now.com/api/sn_em_connector/em/inbound_event?source=newrelic
        5. Geben Sie im Abschnitt Basisauthentifizierung Ihren Benutzernamen und Ihr Passwort ein.
          Hinweis:
          Stellen Sie sicher, dass die Rolle evt_mgmt_integration dem ausgewählten Benutzer zugewiesen ist. Um eine ordnungsgemäße Authentifizierung sicherzustellen, verwenden Sie den Benutzer mit den geringsten Berechtigungen mit der Rolle evt_mgmt_integration anstelle eines Benutzers mit hohen Berechtigungen.
        6. Wählen Sie Ziel speichern aus.
      2. Erstellen Sie eine Richtlinie.
        1. Navigieren zu Warnungen und KI > Warnungsbedingungen und -richtlinien.
        2. Wählen Sie Neue Warnungsrichtlinie aus, und definieren Sie eine Richtlinie.
        3. Wählen Sie Benachrichtigungen einrichten aus.
        4. Wählen Sie im Abschnitt „ Kanal hinzufügen“ die Option Webhookund dann das Ziel aus, das Sie im vorherigen Teilschritt erstellt haben.
        5. Fügen Sie im Abschnitt Payload template (Nutzlastvorlage) die folgende JSON-Nutzlast ein.
          {
          "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. Wählen Sie Testbenachrichtigung senden aus, um das Test-Event in Ihrer ServiceNow -Instanz abzurufen.
        7. Wählen Sie Nachricht speichern aus.
        8. Wählen Sie Workflow aktivieren aus, um den Workflow zu aktivieren.
      3. Erstellen Sie Warnungsbedingungen, die auf die Richtlinie angewendet werden sollen:
        1. Navigieren zu Warnungen und KI > Warnungsbedingungen und -richtlinien.
        2. Wählen Sie Warnungsbedingung erstellen aus, definieren Sie die erforderlichen Warnungsdetails, und fügen Sie sie der Richtlinie hinzu, die Sie im vorherigen Schritt erstellt haben.
        3. Wählen Sie Bedingung speichern aus.
    2. Für die alte Konsole.
      1. Erstellen Sie einen Benachrichtigungskanal.
        1. Navigieren zu Warnungen und KI > Benachrichtigungskanäle.
        2. Wählen Sie auf der Registerkarte Kanaldetails den Kanaltyp Webhook aus.
        3. Geben Sie im Textfeld Basis-URL Folgendes ein: https://<InstanceName>.service-now.com/api/sn_em_connector/em/inbound_event?source=newrelic.
        4. Geben Sie im Abschnitt „Basisauth.“ Benutzername und Passwort des entsprechenden Benutzers ein.
          Hinweis:
          Stellen Sie sicher, dass die Rolle evt_mgmt_integration dem ausgewählten Benutzer zugewiesen ist. Um eine ordnungsgemäße Authentifizierung sicherzustellen, verwenden Sie den Benutzer mit den geringsten Berechtigungen mit der Rolle evt_mgmt_integration anstelle eines Benutzers mit hohen Berechtigungen.
        5. Wählen Sie im Abschnitt Benutzerdefinierte Nutzlast die Option Benutzerdefinierte Nutzlast hinzufügenaus, und wählen Sie den JSON -Nutzlasttyp aus.
        6. Fügen Sie die folgende JSON-Nutzlast in Benutzerdefinierte Nutzlast ein.
          {
            "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. Erstellen Sie eine Richtlinie.
        1. Navigieren zu Warnungen und KI > Richtlinien.
        2. Wählen Sie Neue Warnungsrichtlinie aus, und definieren Sie eine Richtlinie.
        3. Wählen Sie im Abschnitt „ BenachrichtigungskanäleHinzufügen, dann Webhookund dann den Kanal aus, den Sie im vorherigen Schritt erstellt haben.
      3. Erstellen Sie Warnungsbedingungen, die auf die Richtlinie angewendet werden sollen:
        1. Navigieren zu Infrastruktur > Einstellungen > Warnungen.
        2. Wählen Sie Warnungsbedingung erstellen aus, definieren Sie die erforderlichen Warnungsdetails, und fügen Sie sie der Richtlinie hinzu, die Sie im vorherigen Schritt erstellt haben.
        3. Wählen Sie Erstellen aus.

    Ergebnisse

    Die Übertragung von Warnungen aus der New Relic-Konsole in das Plugin Event Management beginnt. Das Plugin extrahiert die Informationen aus der ursprünglichen New Relic-Warnmeldung, um die erforderlichen Event-Felder zu füllen, und fügt das Event in die Datenbank ein. Navigieren Sie in Ihrer Now Platform-Instanz zu Alle Ereignisse, um die Events anzuzeigen.
    Hinweis:
    Standardmäßig ist die Hostbindung für New Relic-Events für alle Provider (Azure /AWS/GCP) aktiviert. Wenn alle Hosts in der Umgebung mit Cloud-Discovery durch die Bereitstellung von Anmeldeinformationen erkannt werden und sich erkannte Ressourcen in der Liste cmdb_ci_vm_object befinden, tritt die VM-Bindung möglicherweise nicht auf. Um dieses Problem zu beheben, müssen Sie die Event-Regel New Relic - Allgemein aktivieren. Weitere Informationen zu Event-Regeln finden Sie unter Event-Regeln.