New Relic プラットフォームイベントのデータ連携

  • リリースバージョン: Washingtondc
  • 更新日 2024年02月01日
  • 読む9読むのに数分
  • New Relic を イベント管理 New Relic の新旧コンソールに標準ウェブフックを追加して統合します。

    始める前に

    イベント管理コネクタ (sn_em_connector) プラグインがインスタンスにインストールされていることを確認しますNow Platform

    必要なロール:evt_mgmt_integration

    このタスクについて

    New Relic からのイベント収集用に イベント管理 環境を構成するには、New Relic をデータソースとして認証します。Now Platform標準 Webhook を使用して、インスタンスを REST エンドポイントとして設定します。新しいコンソールには手順 ステップ 1 を使用します。古いコンソールの場合は、手順 ステップ 2 を使用します。

    手順

    1. 新しいコンソールの場合:
      1. 宛先を作成します。
        1. 移動先 アラートとAI > 宛先.
        2. [ 宛先を追加] セクションで、 Webhook チャネルタイプを選択します。
        3. [ Webhook 名 ] フィールドに Webhook 名を入力します。
        4. [エンドポイント URL] フィールドに「https://<InstanceName>.service-now.com/api/sn_em_connector/em/inbound_event?source=newrelic」と入力します。
        5. [ 基本認証 ] セクションで、ユーザー名とパスワードを入力します。
          注:
          選択したユーザーにevt_mgmt_integrationロールが割り当てられていることを確認します。適切な認証を確実に行うには、高い権限を持つユーザーではなく、evt_mgmt_integration ロールを持つ最小権限のユーザーを使用します。
        6. [ 保存先] を選択します。
      2. ポリシーを作成します。
        1. 移動先 アラートとAI > アラート条件とポリシー.
        2. [ 新しいアラート ポリシー ] を選択し、ポリシーを定義します。
        3. [ 通知の設定] を選択します。
        4. [ チャネルの追加 ] セクションで [ Webhook] を選択し、前のサブステップで作成した宛先を選択します。
        5. [ ペイロードテンプレート] セクションで、次の JSON ペイロードを貼り付けます。
          {
          "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. [ テスト通知の送信 ] を選択して、インスタンスで ServiceNow テストイベントを取得します。
        7. [ メッセージの保存] を選択します。
        8. [ ワークフローのアクティブ化] を選択してワークフローをアクティブ化します。
      3. ポリシーに適用するアラート条件を作成します。
        1. 移動先 アラートとAI > アラート条件とポリシー.
        2. [ アラート条件の作成] を選択し、必要なアラートの詳細を定義して、前の手順で作成したポリシーに追加します。
        3. [ 条件の保存] を選択します。
    2. 古いコンソールの場合。
      1. 通知チャネルを作成します。
        1. 移動先 アラートとAI > 通知チャネル.
        2. [ チャネルの詳細 ] タブで、 Webhook チャネルタイプを選択します。
        3. [ベース URL] テキストボックスに、「https://<インスタンス名>.service-now.com/api/sn_em_connector/em/inbound_event?source=newrelic」と入力します。
        4. [基本認証] セクションで、関連するユーザーのユーザー名とパスワードを入力します。
          注:
          選択したユーザーにevt_mgmt_integrationロールが割り当てられていることを確認します。適切な認証を確実に行うには、高い権限を持つユーザーではなく、evt_mgmt_integration ロールを持つ最小権限のユーザーを使用します。
        5. [ カスタムペイロード ] セクションで、[ カスタムペイロードの追加] を選択し、 JSON ペイロードタイプを選択します。
        6. 次の JSON ペイロードを カスタムペイロードに貼り付けます。
          {
            "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. ポリシーを作成します。
        1. 移動先 アラートとAI > 方針.
        2. [ 新しいアラート ポリシー ] を選択し、ポリシーを定義します。
        3. [ 通知チャネル] セクションで、[ 追加] を選択し、[ Webhook] を選択して、前の手順で作成したチャネルを選択します。
      3. ポリシーに適用するアラート条件を作成します。
        1. 移動先 インフラストラクチャ > 設定 > アラート.
        2. [ アラート条件の作成] を選択し、必要なアラートの詳細を定義して、前の手順で作成したポリシーに追加します。
        3. [作成] を選択します。

    タスクの結果

    New Relic コンソールから Event Management プラグインにアラートが送られ始めます。このプラグインは、元の New Relic アラートメッセージから情報を抽出し、必要なイベントフィールドに値を入力して、イベントをデータベースに挿入します。Now Platform インスタンスで、[すべてのイベント] に移動してイベントを表示します。
    注:
    デフォルトでは、すべてのプロバイダー (Azure/AWS/GCP) の New Relic イベントで、ホストバインディングが有効になっています。資格情報を提供することで環境内のすべてのホストがクラウドディスカバリーで検出され、検出されたリソースが cmdb_ci_vm_object リストにある場合は、VM バインディングが発生しない可能性があります。これを解決するには、New Relic - 一般イベントルールを有効にする必要があります。イベントルールの詳細については、「イベントルール」を参照してください。