Events API

ビジネスアプリケーションのすべての正常性ルール違反を取得する

このページでは、イベントを作成、管理、およびモニターするために使用できる、イベント API メソッドについて説明します。

指定したタイムフレーム内にアプリケーションで発生したすべての正常性ルールに対する違反を返します。

URI

/controller/rest/applications/application_id/problems/healthrule-violations

入力パラメータ

パラメータ名 Parameter Type 必須

application_id

URI

アプリケーション名またはアプリケーション ID のいずれかを指定します。

あり

time-range-type

[Query(クエリ)]

可能な値は以下の通りです:

BEFORE_NOW:「BEFORE_NOW」オプションを使用するには、「duration-in-mins」パラメータも指定する必要があります。BEFORE_TIME:「BEFORE_TIME」オプションを使用するには、「duration-in-mins」および「end-time」パラメータも指定する必要があります。AFTER_TIME:「AFTER_TIME」オプションを使用するには、「duration-in-mins」および「start-time」パラメータも指定する必要があります。

BETWEEN_TIMES

このオプションを使用するには、「start-time」および「end-time」パラメータも指定する必要があります。「BETWEEN_TIMES 」の範囲には start-time が含まれますが、end-time は除外されます。

あり

duration-in-mins

[Query(クエリ)]

メトリックデータを返す期間(分単位)。

time-range-type が BEFORE_NOW、BEFORE_TIME、または AFTER_TIME の場合

start-time

[Query(クエリ)]

メトリックデータが返される期間の開始時刻(ミリ秒単位)。

time-range-type が AFTER_TIME または BETWEEN_TIMES の場合

end-time

[Query(クエリ)]

メトリックデータが返される期間の終了時刻(ミリ秒単位)。

time-range-type が BEFORE_TIME または BETWEEN_TIMES の場合

出力

[Query(クエリ)]

出力形式を変更するために URL の一部として含まれている HTTP リクエストパラメータ。有効な値は XML(デフォルト)または JSON です。

いいえ

http://demo.appdynamics.com/controller/rest/applications/7/problems/healthrule-violations?time-range-type=BEFORE_NOW&duration-in-mins=15<policy-violations><policy-violation><id> 266</id> <name>CPU 使用率が高すぎます</name><startTimeInMillis>1452630655000</startTimeInMillis><detectedTimeInMillis> 0</detectedTimeInMillis><endTimeInMillis> 1452630715000</endTimeInMillis><incidentStatus>解決済み</incidentStatus><severity>警告</severity><triggeredEntityDefinition><entityType>ポリシー</entityType> <entityId>30</entityId> <name>CPU 使用率が高すぎます</name></triggeredEntityDefinition><affectedEntityDefinition> <entityType>APPLICATION_COMPONENT_NODE</entityType> <entityId>16</entityId> <name>フルフィルメント</name></affectedEntityDefinition> <deepLinkUrl>http://demo.appdynamics.com/controller/#location=APP_INCIDENT_DETAIL&incident=266</deepLinkUrl> <description>AppDynamics で問題が検出されました。<br><b>errorAbhi</b> が違反しています。</description> </policy-violation> <policy-violation> <id>268</id> <name>CPU 使用率が高すぎます</name> <startTimeInMillis>1452630655000</startTimeInMillis> <detectedTimeInMillis> 0</detectedTimeInMillis><endTimeInMillis>1452630715000</endTimeInMillis><incidentStatus>解決済み</incidentStatus><severity>警告</severity><triggeredEntityDefinition> <entityType>ポリシー</entityType> <entityId>30</entityId> <name>CPU 使用率が高すぎます</name></triggeredEntityDefinition><affectedEntityDefinition> <entityType>APPLICATION_COMPONENT_NODE</entityType> <entityId>20</entityId> <name>FulfillmentClient</name></affectedEntityDefinition> <deepLinkUrl>http://demo.appdynamics.com/controller/#location=APP_INCIDENT_DETAIL&incident=268</deepLinkUrl> <description>AppDynamics では Node <b>FulfillmentClient</b> での問題が検出されています。<br><b>CPU 使用率が高すぎます</b>という違反が発生し始め、現在は<b>警告</b>になっています。<br>次のすべての条件に違反していることが判明しました<br>Node <b>FulfillmentClient</b>の場合<br>1)ハードウェアリソース| CPU|%Busy 状態<br><b>%Busy</b> の値 <b>76.0</b> は、過去 <b>30</b> 分間でしきい値 <b>75.0</b> を<b>超えました</b><br></description></policy-violation></policy-violations>

イベントデータを取得する

eventtypes パラメータにリストされているイベントタイプのデータをキャプチャできます。

URI /controller/rest/applications/application_id/events

入力パラメータ

パラメータ名 Parameter Type 必須

application_id

URI

アプリケーション名またはアプリケーション ID のいずれかを指定します。

あり

summary [Query(クエリ)]イベントの概要を指定します。あり
コメント [Query(クエリ)]イベントのコメント(存在する場合)を指定します。いいえ
eventtype クエリ APPLICATION_DEVELOPMENT あり

time-range-type

[Query(クエリ)]

可能な値は以下の通りです:

BEFORE_NOW:「BEFORE_NOW」オプションを使用するには、「duration-in-mins」パラメータも指定する必要があります。BEFORE_TIME:「BEFORE_TIME」オプションを使用するには、「duration-in-mins」および「end-time」パラメータも指定する必要があります。AFTER_TIME:「AFTER_TIME」オプションを使用するには、「duration-in-mins」および「start-time」パラメータも指定する必要があります。

BETWEEN_TIMES

このオプションを使用するには、「start-time」および「end-time」パラメータも指定する必要があります。[BETWEEN_TIMES] の範囲には start-time が含まれますが、end-time は除外されます。

あり

duration-in-mins

[Query(クエリ)]

メトリックデータを返す期間(分単位)を指定します。

time-range-type が BEFORE_NOW、BEFORE_TIME、または AFTER_TIME の場合

start-time

[Query(クエリ)]

メトリックデータが返される期間の開始時刻(ミリ秒単位)を指定します。

ttime-range-type が AFTER_TIME または BETWEEN_TIMES の場合

end-time

[Query(クエリ)]

メトリックデータが返される期間の終了時刻(ミリ秒単位)を指定します。

time-range-type が BEFORE_TIME または BETWEEN_TIMES の場合

event-types

[Query(クエリ)]

イベント情報を取得するイベントタイプのカンマ区切りリストを指定します。イベント参考資料通知用のカスタム URL の作成

あり

重大度

[Query(クエリ)]

重大度レベルを指定します。イベント情報を取得する重大度のカンマ区切りリストを指定します。使用できる値は、次のとおりです。

  • INFO
  • WARN
  • エラー

UI では、これらの値が Info、Warning、および Critical になります。

あり

出力

[Query(クエリ)]

出力形式を変更するために URL の一部として含まれている HTTP リクエストパラメータ。有効な値は XML(デフォルト)または JSON です。

いいえ

階層 [Query(クエリ)]アプリケーションの階層名いいえ
注: この API を使用して、一度に 600 件のイベントを取得できます。

指定した時間範囲内で発生した任意のシビラティ(重大度)の APPLICATION_ERROR または DIAGNOSTIC_SESSION タイプのイベントリストを取得します。

curl --user user1@customer1:your_password http://demo.appdynamics.com//controller/rest/applications/6/events?time-range-type=BEFORE_NOW\&duration-in-mins=30\&event-types=%20APPLICATION_ERROR,DIAGNOSTIC_SESSION\&severities=INFO,WARN,ERROR
<events><event>
<id>44658</id>
<type>DIAGNOSTIC_SESSION</type>
<subType>ERROR_DIAGNOSTIC_SESSION</subType>
<eventTime>1451343453085</eventTime>
<severity>WARN</severity>
<summary>ビジネストランザクションで一連のエラーが発生した後、診断セッションを開始した現地時間の 2015 年 12 月 28 日 22:57 から 1 分間にリクエストの 18%(2/11)にエラーが発生</summary>
<affectedEntities>
<entity-definition>
<entityType>APPLICATION</entityType>
<entityId>6</entityId>
<name>ECommerce</name>
</entity-definition>
<entity-definition>
<entityType>APPLICATION_COMPONENT</entityType>
<entityId>11</entityId>
<name>ECommerce-Services</name>
</entity-definition>
<entity-definition>
<entityType>APPLICATION_COMPONENT_NODE</entityType>
<entityId>19</entityId>
<name>ECommerce_WEB2</name>
</entity-definition>
<entity-definition>
<entityType>BUSINESS_TRANSACTION</entityType>
<entityId>35</entityId>
<name>/items/all.GET</name>
</entity-definition>
<entity-definition>
<entityType>MACHINE_INSTANCE</entityType>
<entityId>8</entityId>
<name>ECommerce-web1</name>
</entity-definition>
</affectedEntities>
<triggeredEntity>
<entityType>APPLICATION_COMPONENT_NODE</entityType>
<entityId>19</entityId>
<name>ECommerce_WEB2</name>
</triggeredEntity>
<markedAsRead>false</markedAsRead>
<markedAsResolved>false</markedAsResolved>
<archived>false</archived>
<deepLinkUrl>http://demo.appdynamics.com:8090/controller/#location=APP_EVENT_VIEWER_MODAL&eventSummary=44658</deepLinkUrl>
</event>
</events>

イベントの作成

アプリケーション展開イベントは、アプリケーションをアップグレードするときや新しいコードをプッシュするときなどに、Splunk AppDynamics に通知を行います。これにより、これらのアプリケーション展開アクティビティを Splunk AppDynamics 内の他のデータと関連付けることができます。これは、回帰分析、根本原因分析、およびパフォーマンスの調査を行う際に役立ちます。アプリケーションの新バージョンを展開するためのビルドプロセスの一環として、アプリケーション展開イベントを Splunk AppDynamics に組み込むと便利です。

Splunk AppDynamics REST API を使用すると、APPLICATION_DEPLOYMENT タイプのイベントと他のシステムを統合できます。

たとえば、新しいリリースごとに Splunk AppDynamics の監視対象システムでイベントを自動的に作成するには、これらのシステムを統合し、次の REST API を使用して、管理対象環境でタイプ「APPLICATION_DEPLOYMENT」のイベントを作成します。

要求が正常に呼び出された後で、イベント ID を受信する必要があります。

ロールと権限

重要: 800pxINLINEイベントを作成するには、Create Events 権限が必要です。アプリケーションの権限

URI

POST /controller/rest/applications/application_id/events

入力パラメータ

パラメータ名 Parameter Type 必須

application_id

URI

アプリケーション名またはアプリケーション ID のいずれかを指定します。

あり

summary

[Query(クエリ)]

イベントを説明する概要を指定します。

あり

コメント

[Query(クエリ)]

イベントのコメント(存在する場合)を入力します。

いいえ

eventtype

クエリ

APPLICATION_DEPLOYMENT

あり

重大度 [Query(クエリ)]重大度レベルを指定します。許容値は次のとおりです:
  • "INFO"
  • "WARN"
  • "ERROR"

UI では、これらは [Info]、[Warning]、および [Critical] になります。

あり

カスタムイベントの作成

Splunk AppDynamics イベントビューアおよび Splunk AppDynamics ダッシュボードのイベントパネルでレポートされるカスタムイベントを作成できます。カスタムイベントをフィルタ処理する方法については、「イベントのモニタリング」を参照してください。次に、Splunk AppDynamics 標準イベントの場合と同じように、これらのイベントによってトリガーされるアラートを作成できます。

要求が正常に呼び出された後で、イベント ID を受信する必要があります。

ロールと権限

重要: 800pxINLINEカスタムイベントを作成するには、Create Events 権限が必要です。アプリケーションの権限

URI

POST /controller/rest/applications/application_id/events

入力パラメータ

パラメータ名 Parameter Type 必須

application_id

URI

アプリケーション名またはアプリケーション ID のいずれかを指定します。

あり

summary

[Query(クエリ)]

イベントを説明する概要を指定します。

あり

コメント

[Query(クエリ)]

イベントのコメントを指定します。

いいえ

重大度 [Query(クエリ)]

重大度レベルを指定します。許容値は次のとおりです:

  • "INFO"
  • "WARN"
  • "ERROR"

UI では、これらは [Info]、[Warning]、および [Critical] になります。

あり

eventtype

クエリ

カスタム

あり

customeventtype [Query(クエリ)]type」の名前を指定します。たとえば、ソースは「nagios」などです。 いいえ
ノード [Query(クエリ)]影響を受けるノード名を指定します。いいえ
階層 [Query(クエリ)]影響を受ける階層名を指定します。あり(ノードbt が指定されている場合)
bt [Query(クエリ)]影響を受けるビジネストランザクション名を指定します。いいえ
propertynames [Query(クエリ)]プロパティ名をペアとして指定します(「key」)。 なし。ただし、ペアの 1 つの要素が定義されている場合は、もう一方の要素も定義する必要があります。
propertyvalues [Query(クエリ)]プロパティ値をペアとして指定します(「value」)。値は 5000 文字に制限されています。

なし。ただし、ペアの 1 つの要素が定義されている場合は、もう一方の要素も定義する必要があります。

curl -X POST --user user1@customer1:your_password 'http://demo.appdynamics.com/controller/rest/applications/5/events?severity=INFO&summary=test1&eventtype=CUSTOM&customeventtype=mycustomevent&propertynames=key1&propertynames=key2&propertyvalues=value1&propertyvalues=value'
警告: カスタムプロパティのパターンに注意してください。propertynamespropertyvalues は配置が一致するため、N 個のプロパティ値を設定するには、propertynames を N 回、propertyvalues を N 回出現させる必要があります。

通知用のカスタム URL の作成

マルチテナント コントローラ インスタンス内の単一テナントは、この API メソッドを使用して、通知用にカスタム URL またはバニティ URL を指定する必要があります。paid8.appdynamics.com などの URL をホストとして表示するのではなく、カスタム URL を通知内で yourcompany.appdynamics.com のように表示することができます。

URI

POST /controller/rest/accounts/customer_name/update-controller-url

入力パラメータ

パラメータ名 Parameter Type 必須
customer_name URIカスタマーアカウント名あり

本文パラメータ

アプリケーション/JSON コンテンツとして:

{
"controllerURL": "http://<my-custom-hostname:port>"
}
注:

アラートの URL が無効な場合は、次の curl コマンドを使用して設定できます。

curl -k --basic --user root@system --header "Content-Type: application/json" --data '{ "controllerURL": "http://<controller>:<port>" }' http://<controller>:<port>/controller/rest/accounts/<ACCOUNT-NAME>/update-controller-url
curl -k --basic --user root@system --header "Content-Type: application/json" --data '{ "controllerURL": "http://<controller>:<port>" }' http://<controller>:<port>/controller/rest/accounts/<ACCOUNT-NAME>/update-controller-url

例:

curl -k --basic --user root@system --header "Content-Type: application/json" --data '{ "controllerURL": "https://myVIP:443" }' https://myhost:8181/controller/rest/accounts/customer1/update-controller-url

コントローラをアップグレードするとディープリンク URL の設定がリセットされるため、コントローラをリセットする必要はありません。