• EnglishEspañol日本語한국어Português
  • ログイン今すぐ開始

この機械翻訳は参考用に提供されます。

英語版と翻訳版に矛盾がある場合は、英語版が優先されます。詳細については、 を参照してください。

問題を作成する

インシデントイベントREST API

Event API を使用して、カスタム アプライド インテリジェンスのインシデント イベントを New Relic に報告することができます。

このAPIは、非同期エンドポイントです。つまり、大量のPOSTSを確実に、低レスポンスで送信することができます。

APIの使用:概要

ここでは、カスタムインシデントイベントをインシデントイベントAPI経由でNew Relicに送信するための一般的なプロセスを説明します。

  1. 生成する

    データを報告するアカウントの。

  2. カスタムアトリビュートの作成を始める前に、 Event APIの制限と制限文字について確認してください

  3. JSONフォーマットのガイドライン に従ったインシデントイベントのJSONを生成します。

  4. 圧縮されたJSONペイロード(gzipやdeflateなど)を、POSTリクエストでcurlを使ってHTTPSエンドポイントに送信します。

インシデントイベントデータのNew Relicへの送信を開始したら、解析エラーの通知を受けるために、 NRQLアラート条件 を設定することをお勧めします。

JSONの例

JSONのペイロードは、以下の例のようになります。

[
{
"eventType": "NrAiIncidentExternal",
"title": "Test",
"description": "The latency is above threshold of 500000 MS",
"state": "trigger",
"source": "luna",
"entityName": "testEntity",
"entity.guid": "testEntity123",
"aggregationTag.serviceId": 5,
"aggregationTag.environment": "testing",
"aggregationTag.errorId": 10543,
"tag.stackTrace": "some stack trace...",
"version": 1
}
]

eventTypeフィールドはNrAiIncidentExternalを使用する必要があります。

コマンドラインからインシデントイベントを送信

ここでは、curlを使ってJSONペイロードを送信する例を紹介します。

bash
$
gzip -c example_incidents.json | curl --data-binary @- -X POST -H "Content-Type: application/json" -H "Api-Key: YOUR_LICENSE_KEY" -H "Content-Encoding: gzip"
$
https://insights-collector.newrelic.com/v1/accounts/YOUR_ACCOUNT/events
Response
{"success":true, "uuid":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}%

インシデント・イベント・データの送信に成功すると、アプライド・インテリジェンスのUIで確認することができます。また、 そのデータを照会することもできます。

インシデントイベントの問い合わせ例

Nerdgraph API を使ってデータを照会することができます。

NerdGraphのクエリとその結果の例を示します。

{
actor {
account(id: YOUR_ACCOUNT_ID) {
nrql(query: "SELECT * FROM NrAiInternalIncident since 3 days ago") {
results
}
}
}
}
"results": [
{
"timestamp": 1641910123824,
"totalViolations": 3,
"violationIds": "[416e2e55069764086ad83e97a1160be0cb4c545b7950522f7c86baaa2a11b9b6]",
"triggeredAt": 1641909163980,
"entitiesData.ids": "testEntity123",
"entitiesData.types": "unknown",
"labelsHash": "91f938318e899dcd62965e2724548f4844f2898f3cf1c5411397ecc0eec87fc1",
"annotations.description": "[\"The latency is above threshold of 500000 MS\"]",
"labels.originalAccountIds": "YOUR_ACCOUNT_ID",
"entitiesData.names": "testEntity",
"entitiesData.entities": "{\"id\":\"testEntity123\",\"name\":\"testEntity\",\"type\":\"unknown\"}",
"priority": "HIGH",
"labels.serviceId": "5",
"labels.environment": "testing",
"closedAt": "",
"updatedAt": 1641910123824,
"annotations.title": "[\"Test\",\"Test2222\",\"Test3\"]",
"nrAccountId": YOUR_ACCOUNT_ID,
"accumulations": "{\"source\":[\"rest\"],\"origin\":[\"luna\"],\"entity_guid\":[\"testEntity123\"],\"tag.stackTrace\":[\"some stack trace...\"]}",
"labels.accountIds": "YOUR_ACCOUNT_ID",
"createdAt": 1641909163997,
"priority.order": 2,
"labels.aggregationKeys": "416e2e55069764086ad83e97a1160be0cb4c545b7950522f7c86baaa2a11b9b6",
"accumulations.origins": "[\"luna\"]",
"accumulations.entity_guid": "[\"testEntity123\"]",
"incidentId": "a06ffb92-2f7e-473b-953f-151ff4777cb0",
"labels.errorId": "10543",
"dataMLModules": "{}",
"triggerEvent": "VIOLATION_ADDED",
"accumulations.tag.stackTrace": "[\"some stack trace...\"]",
"isIint": false,
"accumulations.sources": "[\"rest\"]",
"entitiesData": "{\"name\":\"testEntity\",\"id\":\"testEntity123\",\"type\":\"unknown\",\"entities\":\"{\\\"id\\\":\\\"testEntity123\\\",\\\"name\\\":\\\"testEntity\\\",\\\"type\\\":\\\"unknown\\\"}\"}",
"annotations": "{\"title\":[\"Test\",\"Test2222\",\"Test3\"],\"description\":[\"The latency is above threshold of 500000 MS\"]}",
"labels": "{\"accountId\":\"XXXXXXX\",\"originalAccountId\":\"XXXXXXX\",\"entityId\":\"testEntity123\",\"entityName\":\"testEntity\",\"entityType\":\"unknown\",\"aggregationKey\":\"416e2e55069764086ad83e97a1160be0cb4c545b7950522f7c86baaa2a11b9b6\",\"serviceId\":\"5\",\"errorId\":\"10543\",\"environment\":\"testing\"}",
"state": "CREATED"
}
]

インシデントイベントAPI仕様

incident event APIは、Event APIのvalue typesを使用します。これらの値タイプの説明と使用のガイドラインについては、 our event API JSON guidelines を参照してください。

フィールド

説明

aggregationTag.*

string, number, or timestamp

必須項目

aggregationTagで始まる属性は、トリガーイベントをまとめるために使用されます。

言い換えれば、同じ集約タグを持つ2つのトリガーイベントが同じインシデントに集約されます。(これは、それらの間に解決イベントがないことを前提としています)。

インシデントを解決する際には、解決イベントに同じアグリゲーションタグを含めることが重要です。

予約されたキーワードを持つ集約タグは除外されます。たとえば、 aggregationTag.priority: 2のJSONペイロードでは、このキーと値のペアは、次の予約済みキーワードを使用したインシデントイベントで省略されます。

reserved_key: {"priority", "accountId", "originalAccountId", "policyId", "conditionId", "aggregationKey", "entityType", "entityName", "entityId", "violationUuid", "violationId", "nrIncidentId" }

state

列挙型: (triggerresolve)

必須項目

イベントが新しいインシデントをトリガーするか、既存のインシデントを解決するか。インシデントの更新は、トリガーを使用して送信することもできます。

priority

列挙型: (lowmediumhighcritical)

インシデントの優先順位。デフォルト: high

異なる優先順位で送信された場合、最高の優先順位が使用されます。

title

ストリング

必須、 state の場合 trigger

イベントのタイトルです。

source

ストリング

必須、 state の場合 trigger

インシデントの発生源、またはそのトリガーとなった監視システム(障害が発生したエンティティではない)。

description

ストリング

起爆剤となるイベントの説明。

deepLinkUrl

ストリング

インシデントに関連するページへのディープリンクです。

runbookUrl

ストリング

ランブックのURLです。

externalId

ストリング

イベントに付けることができる外部ID。

例えば、このイベントの取り込みに関連するエラーを照会するために使用できます。

entityName

ストリング

インシデントを発生させたエンティティの名前。

entity.guid

ストリング

インシデントを発生させたエンティティのID。

version

浮く

現在のフォーマットのバージョンです。

Copyright © 2024 New Relic株式会社。

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.