インシデントイベントAPIでは、独自のインシデント管理システムから関連する活動を報告し、高度な相関関係や推論を行うことができます。このAPIは、必要最小限の属性と、インシデント・イベントのネイティブ・キーと値を維持する柔軟性を備えた汎用的な方法で設計されています。
より多くの情報を提供していただくことで、意思決定エンジンがより適切な情報を提供できるようになります。必須フィールドに加えて、属性フィールドを使用して、特定の情報をプッシュしてください。
認証
REST APIは、安全なトークンベースの認証をサポートし、入力としてJSONコンテンツを受け入れます。安全なトークンを取得するには、 one.newrelic.comにアクセスし、[アラートとAI ]をクリックし、左側のナビゲーションの[インシデントインテリジェンス]で[ソース]をクリックしてから、[ RESTAPI ]をクリックします。
セキュアートークンを取得するには、ユーザーアカウントにSourcesを管理する権限が必要です。
バッチングデータ
現在、同じAPIコールで最大10個のイベントをサポートしています。バッチ処理を行うには、新しいイベントデータを本文に追加するだけです。
次のサンプルに示すように、バッチは、「イベント」の値であるリスト内の各イベント部分とともに{"events": [{"event_source": "Snap", ...}]}
として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コールの作成
インシデントインテリジェンスソースページで、 RESTAPIをクリックします。正しいアカウントを選択し、クリップボードアイコンをクリックしてコレクターURLをコピーします。セキュリティトークンは、 Authorization:BearerHTTPヘッダーで使用する必要があります。
このインターフェースを使用した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 |
| インシデントイベントを適用されたインテリジェンスに送信して処理します。 |
利用可能なフィールド
フィールド | 説明 |
---|---|
弦 | REQUIRED.イベントを発生させているシステムやアプリケーションを独自に表現します。 例: |
弦 | REQUIRED.イベントを発生させたもの。関連するホスト、またはホストが関連しない場合は、サービスやアプリケーションを指定できます。注:1つだけ必要です。 例: |
文字列、ブール値( | 必須。インシデントの優先度。文字列は次のいずれかである必要があります: 例: |
ロング | 負のタイムスタンプはサポートされていません。 デフォルト:サーバーがイベントを受信した時間 例: |
弦 | REQUIRED.このイベントを説明するフリーテキスト情報。どのエンティティで何が起こったのかを記述することをお勧めします。これはUIの様々な場所で使用されています。 この属性は必須です。 例: |
JSONオブジェクト | これは、インシデントイベントに関する追加属性のフラットなキー/バリューマッピングです。できる限り多くの情報やメタデータをここに入れることをお勧めします。 ここで追加された属性は、より良い相関関係を得るために使用されます。 ラベルはattributesオブジェクト内で定義されます。ラベルを使うことで、イベントの重複排除機能をコントロールすることができます。 重複排除と識別 を参照してください。 例:
|
重複排除と識別
システムの高度な重複排除および相関機能をより適切にサポートするために、インシデントのattributes
の一部として一連のラベルまたはアラートIDを提供することをお勧めします。
label/
で始まる属性は、ラベルと見なされます。
ラベルの組み合わせ、 event_source
、 host
、 application
、およびserver
は、一意のインシデントを作成するために使用されます。ラベルが提供されていない場合は、重複排除キーとして使用されるalert/id
属性を提供します。
重要な事件の属性(ヒント)
一部の属性は機能が強化されています。これらを送信することで、よりインテリジェントなデータ処理が可能になります。
属性名 | 説明 |
---|---|
| 起こったことを説明する追加の詳細 |
| アラートの識別 - インシデントを重複させないために使用されます。 同じ 重要: |
| インシデントのきっかけとなったメトリクス名。 |
| アラートのポリシーID。 |
| アラートのポリシー名。 |
| UIでの表現に使用されるインシデントの説明です。 |
| 計装されたアプリケーションの識別子。 |
| ペイロード内のアプリケーションフィールドから割り当てられた、インスツルメンテッドアプリケーション名。 |
| インスツルメンテッド・インシデント・アベイラビリティ・ゾーン |
| サービスを提供する地域(例:us-east-1)。 |
| 影響を受けるクラスタ名を特定する。 |
| 影響を受けるデータセンター名を特定する。 |
| 環境の種類(dev、prod)。 |
| 事故のきっかけとなったヘルスチェックの名前があれば、それも記入してください。 |
| ヘルスチェックの識別。 |
| 健康診断の名前。 |
| ヘルスチェックに使用するプローブIDの識別。 |
| ヘルスチェックに使用するプローブ名。 |
| ヘルスチェックタイプ。 |
| ペイロード内のホストフィールドから割り当てられた計測対象ホストの名前。 |
| インスツルメンテーションされたインスタンス名。 |
| インストルメント化されたインスタンスタイプ。 |
|
|
| 組織名(複数ある場合は) |
| ランブックのリンクがある場合には |
| インシデントを報告したサービス名。ペイロード内のサービスフィールドから割り当てられる。 |
| 計装サービスステータス。 |
| イベントがどのような状態にあるかを示します。許容値は、 インシデントを作成するか、同じ 値が |