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 표준 웹후크를 사용하여 인스턴스를 REST 엔드포인트로 설정합니다. 새 콘솔에 대해 절차 1단계를 사용합니다. 이전 콘솔의 경우 절차 2단계를 사용합니다.

    프로시저

    1. 새 콘솔의 경우:
      1. 대상을 생성합니다.
        1. 다음으로 이동 경보 및 AI > 대상.
        2. 대상 추가 섹션에서 웹후크 채널 유형을 선택합니다.
        3. 웹후크 이름 필드에 웹후크 이름을 입력합니다.
        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. 채널 추가 섹션에서 웹후크를 선택한 다음, 이전 하위 단계에서 만든 대상을 선택합니다.
        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. 채널 상세 정보 탭에서 웹후크 채널 유형을 선택합니다.
        3. 기본 URL 텍스트 상자에 https://<InstanceName>.service-now.com/api/sn_em_connector/em/inbound_event?source=newrelic를 입력합니다.
        4. 기본 인증 섹션에서 관련 사용자의 사용자 이름과 암호를 입력합니다.
          주:
          선택한 사용자에게 evt_mgmt_integration 역할이 할당되어 있는지 확인합니다. 적절한 인증을 보장하기 위해 높은 권한의 사용자 대신 evt_mgmt_integration 역할을 보유한 최소 권한의 사용자를 사용합니다.
        5. Custom Payload(사용자 지정 페이로드) 섹션에서 Add Custom Payload(사용자 지정 페이로드 추가)를 선택하고 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. 알림 채널 섹션에서 추가를 선택하고, 웹후크를 선택한 다음, 이전 단계에서 만든 채널을 선택합니다.
      3. 정책에 적용할 경보 조건을 생성합니다.
        1. 다음으로 이동 인프라 > 설정 > 경보.
        2. 경고 조건 만들기를 선택하고, 필요한 경고 세부 정보를 정의하고, 이전 단계에서 만든 정책에 추가합니다.
        3. 생성을 선택합니다.

    결과

    New Relic 콘솔에서 Event Management 플러그인으로 경보 플로우가 시작됩니다. 플러그인은 원본 New Relic 경보 메시지에서 정보를 추출하여 필요한 이벤트 필드를 채우고 이벤트를 데이터베이스에 삽입합니다. Now Platform 인스턴스에서 모든 이벤트로 이동하여 이벤트를 확인합니다.
    주:
    기본적으로 호스트 바인딩은 모든 제공자(Azure/AWS/GCP)의 New Relic 이벤트에 대해 활성화되어 있습니다. 환경의 모든 호스트가 자격 증명을 제공하여 클라우드 검색를 통해 검색되었으며 검색된 자원이 cmdb_ci_vm_object 목록에 있는 경우 VM 바인딩이 발생하지 않을 수 있습니다. 이를 해결하려면 New Relic - 일반 이벤트 규칙을 사용하도록 설정해야 합니다. 이벤트 규칙에 대한 자세한 내용은 이벤트 규칙 문서를 참조하십시오.