インシデントイベントAPIでは、独自のインシデント管理システムから関連する活動を報告し、高度な相関関係や推論を行うことができます。このAPIは、必要最小限の属性と、インシデント・イベントのネイティブ・キーと値を維持する柔軟性を備えた汎用的な方法で設計されています。
より多くの情報を提供していただくことで、意思決定エンジンがより適切な情報を提供できるようになります。必須フィールドに加えて、属性フィールドを使用して、特定の情報をプッシュしてください。
認証
REST APIは、安全なトークンベースの認証をサポートし、入力としてJSONコンテンツを受け入れます。セキュアートークンを取得するには、 one.newrelic.com をクリックし、 Alerts& AI をクリックし、左ナビの Incident Intelligence をクリックし、 Sources をクリックし、 REST API をクリックします。
セキュアートークンを取得するには、ユーザーアカウントにSourcesを管理する権限が必要です。
バッチングデータ
現在、同じAPIコールで最大10個のイベントをサポートしています。バッチ処理を行うには、新しいイベントデータを本文に追加するだけです。
バッチは、 {"events": [{"event_source":"Snap", ...}]}
のように、各イベントパーツを"events" の値となるようにリスト化してPOSTする必要があります。
サンプルJSON
{ "events": [{ "application": "Name of my application", "attributes": { "alert/description": "Add a description about the alert itself", "state": "alarm", "application/state": "MAJOR", "environment": "prod" }, "event_description": "Add a description about the incident", "event_source": "List the application that created the incident", "host": "host-name", "value": "medium" }]}
コレクターはまず、 events
がルートオブジェクトのキーであるかどうかを確認し、キーであれば抽出して反復します。
デフォルトのデータサイズ制限
- バッチ - ボディ内に最大10個のメッセージを表示します。
- メトリックやイベントごとに最大20個のアトリビュートをサポートしています。
- 各文字列値のフィールドサイズは、1024文字に制限されています。
- 各属性名のフィールドサイズは128文字に制限されています。
ヒント
データのサイズや制限について異なる要件をお持ちの場合は、それらのパラメータを調整することができますので、お問い合わせください。
APIコールの作成
Incident Intelligence Sources ページで、 REST API をクリックします。正しいアカウントを選択し、クリップボードのアイコンをクリックして、コレクターの URL をコピーします。セキュリティ トークンは、 Authorization.Bearer HTTP ヘッダーで使用する必要があります。Bearer HTTP ヘッダで使用します。
このインターフェースを使用したcurlコマンドの例を示します。
curl -L -X POST 'https://collectors.signifai.io/v1/incidents' -H 'Authorization: Bearer XXXXXXXXX' -H 'Content-Type: application/json' --data-raw '{"application": "A Unique App Name","attributes": {"alert/description": "The health check end-point is failing for A Unique App Name","annotations/description": "Health check failure","cluster/name": "auan_001","datacenter/name": "US-EAST-1","health_check/entity_name": "a-unique-app-name","service/name": "a-unique-app-name","service/status": "down","state": "alarm","label/namespace": "use labels to control how events aggregate into incidents"},"event_description": "Something in the health check failed for A Unique App Name","event_source": "my-rest-api","value": "critical"}'
API仕様
利用可能な方法
メソッド | APIエンドポイント | 説明 |
---|---|---|
POST |
| インシデントイベントをApplied Intelligenceに送信し、処理を行う。 |
利用可能なフィールド
フィールド | 説明 |
---|---|
文字列 | REQUIRED.イベントを発生させているシステムやアプリケーションを独自に表現します。 例: |
文字列 | REQUIRED.イベントを発生させたもの。関連するホスト、またはホストが関連しない場合は、サービスやアプリケーションを指定できます。注:1つだけ必要です。 例: |
文字列、ブール値( | REQUIRED.インシデントの優先度。String must be one of: 例: |
ロング | 負のタイムスタンプはサポートされていません。 デフォルト:サーバーがイベントを受信した時間 例: |
文字列 | REQUIRED.このイベントを説明するフリーテキスト情報。どのエンティティで何が起こったのかを記述することをお勧めします。これはUIの様々な場所で使用されています。 この属性は必須です。 例: |
JSONオブジェクト | これは、インシデントイベントに関する追加属性のフラットなキー/バリューマッピングです。できる限り多くの情報やメタデータをここに入れることをお勧めします。 ここで追加された属性は、より良い相関関係を得るために使用されます。 ラベルはattributesオブジェクト内で定義されます。ラベルを使うことで、イベントの重複排除機能をコントロールすることができます。 重複排除と識別 を参照してください。 例:
|
重複排除と識別
当社のシステムの高度な重複排除および相関機能をよりよくサポートするために、インシデントの 属性の一部として、一連のラベルまたはアラートIDを提供することをお勧めします
。
label/
を前につけた属性はすべてラベルとみなされます。
ラベルの組み合わせ、 event_source
, host
, application
, server
は、ユニークなインシデントを作成するために使用されます。ラベルが提供されない場合は、重複排除キーとして使用される alert/id
属性を提供してください。
重要な事件の属性(ヒント)
一部の属性は機能が強化されています。これらを送信することで、よりインテリジェントなデータ処理が可能になります。
属性名 | 説明 |
---|---|
| 起こったことを説明する追加の詳細 |
| アラートの識別 - インシデントを重複させないために使用されます。 同じ 重要: |
| インシデントのきっかけとなったメトリクス名。 |
| アラートのポリシーID。 |
| アラートのポリシー名。 |
| UIでの表現に使用されるインシデントの説明です。 |
| 計装されたアプリケーションの識別子。 |
| ペイロード内のアプリケーションフィールドから割り当てられた、インスツルメンテッドアプリケーション名。 |
| インスツルメンテッド・インシデント・アベイラビリティ・ゾーン |
| サービスを提供する地域(例:us-east-1)。 |
| 影響を受けるクラスタ名を特定する。 |
| 影響を受けるデータセンター名を特定する。 |
| 環境の種類(dev、prod)。 |
| 事故のきっかけとなったヘルスチェックの名前があれば、それも記入してください。 |
| ヘルスチェックの識別。 |
| 健康診断の名前。 |
| ヘルスチェックに使用するプローブIDの識別。 |
| ヘルスチェックに使用するプローブ名。 |
| ヘルスチェックタイプ。 |
| ペイロード内のホストフィールドから割り当てられた計測対象ホストの名前。 |
| インスツルメンテーションされたインスタンス名。 |
| インストルメント化されたインスタンスタイプ。 |
|
|
| 組織名(複数ある場合は) |
| ランブックのリンクがある場合には |
| インシデントを報告したサービス名。ペイロード内のサービスフィールドから割り当てられる。 |
| 計装されたサービスの状態。 |
| イベントがどのような状態であるかを示す。許容される値は以下の通りです。 デフォルト値は、 値が |