Events API
ビジネスアプリケーションのすべての正常性ルール違反を取得する
このページでは、イベントを作成、管理、およびモニターするために使用できる、イベント API メソッドについて説明します。
指定したタイムフレーム内にアプリケーションで発生したすべての正常性ルールに対する違反を返します。
URI
/controller/rest/applications/application_id/problems/healthrule-violations
入力パラメータ
| パラメータ名 | Parameter Type | 値 | 必須 |
|---|---|---|---|
|
|
URI |
アプリケーション名またはアプリケーション ID のいずれかを指定します。 |
あり |
|
|
クエリ |
可能な値は以下の通りです: BEFORE_NOW
このオプションを使用するには、" |
あり |
|
|
クエリ |
メトリックデータを返す期間(分単位)。 |
time-range-type が |
|
|
クエリ |
メトリックデータが返される期間の開始時刻(ミリ秒単位)。 |
time-range-type が |
|
|
クエリ |
メトリックデータが返される期間の終了時刻(ミリ秒単位)。 |
time-range-type が |
|
|
クエリ |
出力形式を変更するために URL の一部として含まれている HTTP リクエストパラメータ。有効な値は |
いいえ |
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 utilization is too high</name>
<startTimeInMillis>1452630655000</startTimeInMillis>
<detectedTimeInMillis>0</detectedTimeInMillis>
<endTimeInMillis>1452630715000</endTimeInMillis>
<incidentStatus>RESOLVED</incidentStatus>
<severity>WARNING</severity> <triggeredEntityDefinition>
<entityType>POLICY</entityType> <entityId>30</entityId>
<name>CPU utilization is too high</name>
</triggeredEntityDefinition> <affectedEntityDefinition>
<entityType>APPLICATION_COMPONENT_NODE</entityType>
<entityId>16</entityId> <name>Fulfillment</name>
</affectedEntityDefinition>
<deepLinkUrl>http://demo.appdynamics.com/controller/#location=APP_INCIDENT_DETAIL&incident=266</deepLinkUrl>
<description>AppDynamics has detected a
problem.<br><b>errorAbhi</b> is violating.
</description> </policy-violation> <policy-violation>
<id>268</id> <name>CPU utilization is too high</name>
<startTimeInMillis>1452630655000</startTimeInMillis>
<detectedTimeInMillis>0</detectedTimeInMillis>
<endTimeInMillis>1452630715000</endTimeInMillis>
<incidentStatus>RESOLVED</incidentStatus>
<severity>WARNING</severity> <triggeredEntityDefinition>
<entityType>POLICY</entityType> <entityId>30</entityId>
<name>CPU utilization is too high</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 has detected a problem with Node
<b>FulfillmentClient</b>.<br><b>CPU
utilization is too high</b> started violating and is now
<b>warning</b>.<br>All of the
following conditions were found to be violating<br>For Node
<b>FulfillmentClient</b>:<br>1)
Hardware Resources|CPU|%Busy
Condition<br><b>%Busy's</b> value
<b>76.0</b> was <b>greater
than</b> the threshold <b>75.0</b> for
the last <b>30</b>
minutes<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 |
クエリ |
可能な値は以下の通りです: BEFORE_NOW
このオプションを使用するには、「start-time」および「end-time」パラメータも指定する必要があります。[BETWEEN_TIMES] の範囲には start-time が含まれますが、end-time は除外されます。 |
あり |
|
duration-in-mins |
クエリ |
メトリックデータを返す期間(分単位)を指定します。 |
time-range-type が |
|
start-time |
クエリ |
メトリックデータが返される期間の開始時刻(ミリ秒単位)を指定します。 |
ttime-range-type が |
|
end-time |
クエリ |
メトリックデータが返される期間の終了時刻(ミリ秒単位)を指定します。 |
time-range-type が |
|
event-types |
[Query(クエリ)] |
イベント情報を取得するイベントタイプのカンマ区切りリストを指定します。イベント参考資料 イベント参考資料 |
あり |
|
重大度 |
[Query(クエリ)] |
重大度レベルを指定します。イベント情報を取得する重大度のカンマ区切りリストを指定します。使用できる値は、次のとおりです。
UI では、これらの値は |
あり |
|
出力 |
クエリ |
出力形式を変更するために URL の一部として含まれている HTTP リクエストパラメータ。有効な値は |
いいえ |
| 階層 | [Query(クエリ)] | アプリケーションの階層名 | いいえ |
例
指定した時間範囲内で発生した任意の重大度の 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>Starting Diagnostic Session after series of errors for a Business Transaction 18% (2/11) of requests had errors in the last minute starting 12/28/15 10:57 PM local time</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>
Create Events
Application deployment events notify Splunk AppDynamics when you upgrade your application, push new code, etc. This lets you correlate these application deployment activities with other data inside Splunk AppDynamics. This is useful for regression analysis, root cause analysis, and performance studies. It is beneficial to inject your application deployment event into Splunk AppDynamics as part of the build process for deploying a new version of your application.
The Splunk AppDynamics REST API lets you integrate events of type APPLICATION_DEPLOYMENT with other systems.
For example, to create an event automatically in your Splunk AppDynamics monitored system for every new release you would integrate these systems and use the following REST API to create an event of type "APPLICATION_DEPLOYMENT" in your managed environment.
You should receive the event ID after the successful invocation of the request.
Roles and Permissions
URI
POST /controller/rest/applications/application_id/events
Input parameters
| Parameter Name | Parameter Type | Value | Mandatory |
|---|---|---|---|
|
application_id |
URI |
Provide either application name or application id. |
Yes |
|
summary |
Query |
Provide a summary describing the event. |
Yes |
|
comment |
Query |
Provide the comments (if any) for the event. |
No |
|
eventtype |
Query |
APPLICATION_DEPLOYMENT |
Yes |
| severity | Query | Provide a severity level. Allowed values include:
In the UI, these become " |
Yes |
カスタムイベントの作成
Splunk AppDynamics イベントビューアおよび Splunk AppDynamics ダッシュボードのイベントパネルでレポートされるカスタムイベントを作成できます。カスタムイベントをフィルタ処理する方法については、「イベントのモニタリング」を参照してください。次に、Splunk AppDynamics 標準イベントの場合と同じように、これらのイベントによってトリガーされるアラートを作成できます。
要求が正常に呼び出された後で、イベント ID を受信する必要があります。ロールと権限
URI
POST /controller/rest/applications/application_id/events
入力パラメータ
| パラメータ名 | Parameter Type | 値 | 必須 |
|---|---|---|---|
|
application_id |
URI |
アプリケーション名またはアプリケーション ID のいずれかを指定します。 |
あり |
|
summary |
[Query(クエリ)] |
イベントを説明する概要を指定します。 |
あり |
|
コメント |
[Query(クエリ)] |
イベントのコメントを指定します。 |
いいえ |
| 重大度 | [Query(クエリ)] |
重大度レベルを指定します。許容値は次のとおりです:
UI では、これらは " |
あり |
|
eventtype |
クエリ |
カスタム |
あり |
customeventtype |
クエリ | "type". に名前を指定します。たとえば、"nagios". のようなソースを指定します。 |
いいえ |
node |
[Query(クエリ)] | 影響を受けるノード名を指定します。 | いいえ |
tier |
[Query(クエリ)] | 影響を受ける階層名を指定します。 | はい(node と bt が指定されている場合) |
bt |
[Query(クエリ)] | 影響を受けるビジネストランザクション名を指定します。 | いいえ |
propertynames |
クエリ | プロパティ名をペアとして指定します(例:"key".)。 |
なし。ただし、ペアの 1 つの要素が定義されている場合は、もう一方の要素も定義する必要があります。 |
propertyvalues |
クエリ | プロパティ値をペアとして指定します(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'
propertynames と propertyvalues は配置が一致するため、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 の設定がリセットされるため、コントローラをリセットする必要はありません。