Download PDF
Download page イベントとアクションの抑制 API.
イベントとアクションの抑制 API
このページでは、イベントとアクションの抑制を作成、管理、およびモニタするために使用できる、イベントと抑制 API メソッドについて説明します。
ビジネスアプリケーションのすべての正常性ルール違反を取得する
指定したタイムフレーム内にアプリケーションで発生したすべての正常性ルールに対する違反を返します。
URI
/controller/rest/applications/application_id/problems/healthrule-violations
入力パラメータ
パラメータ名 | Parameter Type | 値 | 必須 |
---|---|---|---|
| URI | アプリケーション名またはアプリケーション ID のいずれかを指定します。 | あり |
| [Query(クエリ)] | 次の値を使用できます。
このオプションを使用するには、" | あり |
| [Query(クエリ)] | メトリックデータを返す期間(分単位)。 | time-range-type が |
| [Query(クエリ)] | メトリックデータが返される期間の開始時刻(ミリ秒単位)。 | time-range-type が |
| [Query(クエリ)] | メトリックデータが返される期間の終了時刻(ミリ秒単位)。 | time-range-type が |
| [Query(クエリ)] | 出力形式を変更するために 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 | 値 | 必須 |
---|---|---|---|
| URI | アプリケーション名またはアプリケーション ID のいずれかを指定します。 | あり |
summary | [Query(クエリ)] | イベントの概要を指定します。 | あり |
comment | [Query(クエリ)] | イベントのコメント(存在する場合)を指定します。 | なし |
eventtype | [Query(クエリ)] | APPLICATION_DEVELOPMENT | あり |
| [Query(クエリ)] | 次の値を使用できます。
このオプションを使用するには、「start-time」および「end-time」パラメータも指定する必要があります。[BETWEEN_TIMES] の範囲には start-time が含まれますが、end-time は除外されます。 | あり |
| [Query(クエリ)] | メトリックデータを返す期間(分単位)を指定します。 | time-range-type が |
| [Query(クエリ)] | メトリックデータが返される期間の開始時刻(ミリ秒単位)を指定します。 | time-range-type が |
| [Query(クエリ)] | メトリックデータが返される期間の終了時刻(ミリ秒単位)を指定します。 | time-range-type が |
| [Query(クエリ)] | イベント情報を取得するイベントタイプのカンマ区切りリストを指定します。「イベント参考資料」を参照してください。 | あり |
| [Query(クエリ)] | 重大度レベルを指定します。イベント情報を取得する重大度のカンマ区切りリストを指定します。
UI では、これらの値は | あり |
| [Query(クエリ)] | 出力形式を変更するために URL の一部として含まれている HTTP リクエストパラメータ。有効な値は | なし |
tier | [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>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>
イベントの作成
アプリケーション展開イベントは、アプリケーションをアップグレードするときや新しいコードをプッシュするときなどに、AppDynamics に通知を行います。これにより、これらのアプリケーション展開アクティビティを AppDynamics 内の他のデータと関連付けることができます。これは、回帰分析、根本原因分析、およびパフォーマンスの調査を行う際に役立ちます。アプリケーションの新バージョンを展開するためのビルドプロセスの一環として、アプリケーション展開イベントを AppDynamics に組み込むと便利です。
AppDynamics REST API を使用すると、APPLICATION_DEPLOYMENT
タイプのイベントと他のシステムを統合できます。
たとえば、新しいリリースごとに AppDynamics の監視対象システムでイベントを自動的に作成するには、これらのシステムを統合し、次の REST API を使用して、管理対象環境でタイプ APPLICATION_DEPLOYMENT"
のイベントを作成します。
要求が正常に呼び出された後で、イベント ID を受信する必要があります。
ロールと権限
URI
POST /controller/rest/applications/application_id/events
入力パラメータ
パラメータ名 | Parameter Type | 値 | 必須 |
---|---|---|---|
| URI | アプリケーション名またはアプリケーション ID のいずれかを指定します。 | あり |
| [Query(クエリ)] | イベントを説明する概要を指定します。 | あり |
| [Query(クエリ)] | イベントのコメント(存在する場合)を入力します。 | なし |
| [Query(クエリ)] |
| あり |
severity | [Query(クエリ)] | 重大度レベルを指定します。許容値は次のとおりです:
UI では、これらは " | あり |
カスタムイベントの作成
AppDynamics イベントビューアおよび AppDynamics ダッシュボードのイベントパネルでレポートされるカスタムイベントを作成できます。カスタムイベントでのフィルタ処理の方法については、「イベントのモニタリング」を参照してください。 次に、AppDynamics 標準イベントによってトリガーされたアラートを、このイベントで実行するとおりに作成できます。
要求が正常に呼び出された後で、イベント ID を受信する必要があります。
ロールと権限
URI
POST /controller/rest/applications/application_id/events
入力パラメータ
パラメータ名 | Parameter Type | 値 | 必須 |
---|---|---|---|
| URI | アプリケーション名またはアプリケーション ID のいずれかを指定します。 | あり |
| [Query(クエリ)] | イベントを説明する概要を指定します。 | あり |
| [Query(クエリ)] | イベントのコメントを指定します。 | なし |
severity | [Query(クエリ)] | 重大度レベルを指定します。許容値は次のとおりです:
UI では、これらは " | あり |
| [Query(クエリ)] | カスタム | あり |
customeventtype | [Query(クエリ)] | "type". に名前を指定します。たとえば、"nagios". のようなソースを指定します。 | なし |
node | [Query(クエリ)] | 影響を受けるノード名を指定します。 | なし |
tier | [Query(クエリ)] | 影響を受ける階層名を指定します。 | あり(node および 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'
カスタムプロパティのパターンに注意してください。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 の設定がリセットされるため、コントローラをリセットする必要はありません。
アクションの抑制を作成および削除する
XML は次のヘッダーを使用して要求できますが、デフォルトではすべての応答が JSON に含まれています。Name : Accept
Value : application/vnd.appd.cntrl+xml;v=1
既存のアクションの抑制をすべて取得する
既存のアクションの抑制を一覧で取得します。
URI
GET /controller/api/accounts/account_id/applications/application_id/actionsuppressions
入力パラメータ
パラメータ名 | Parameter Type | 値 | 必須 |
---|---|---|---|
account_id | URI | アカウント ID | あり |
| URI | アプリケーション ID | あり |
すべてのアクション抑制を取得する要求の例:
/controller/api/accounts/2/applications/9/actionsuppressions
レスポンスの例:
Status : 200 ok Output Data : {"actionSuppressions": [{"id": "15","name": "App-ASW","timeRange": {"startTimeMillis": "2014-10-25T04:16:30+0000","endTimeMillis": "2014-10-25T06:16:30+0000"},"affects": {"type": "APP"}},{"id": "16","name": "Node-ASW","timeRange": {"startTimeMillis": "2014-10-25T04:16:57+0000","endTimeMillis": "2014-10-25T05:16:57+0000"},"healthRuleIds": [60,61],"affects": {"type": "NODE","nodeAffectedEntities": {"type": "SPECIFIC","nodeType": "ALL","nodes": [17,18]}}}],"actions": [{"href": "http://demo.appdynamics.com:8090/controller/api/accounts/2/applications/9/actionsuppressions/%7Bactionsuppressions.id%7D/%7Bactions.name%7D","method": ["POST","DELETE"],"name": "enabled"}],"links": [{"href": "http://ec2-54-80-163-175.compute-1.amazonaws.com:8090/controller/api/accounts/2/applications/9/actionsuppressions/%7Bactionsuppressions.id%7D","name": "actionsuppressions"}]}
特定のアクションの抑制を ID ごとに取得する
指定した ID でアクションの抑制を取得します。
URI
/controller/api/accounts/account_id/applications/application_id/actionsuppressions/actionsuppression_id
入力パラメータ
パラメータ名 | Parameter Type | 値 | 必須 |
---|---|---|---|
account_id | URI | アカウント ID。 | あり |
| URI | アプリケーション ID。 | あり |
actionsuppressions_id | URI | アクションの抑制 ID。 | あり |
要求の例:
/controller/api/accounts/2/applications/9/actionsuppressions/15
レスポンスの例:
Status : 200 ok Output Data : {"id": "15","name": "App-ASW","timeRange": {"startTimeMillis": "2014-10-25T04:16:30+0000","endTimeMillis": "2014-10-25T06:16:30+0000"},"affects": {"type": "APP"}}
新しいアクションの抑制を作成する
これは、「201 - created」応答を返す必要がある POST 要求です。
URI
POST /controller/api/accounts/account_id/applications/application_id/actionsuppressions
入力パラメータ
パラメータ名 | Parameter Type | 値 | 必須 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
account_id | URI | アカウント ID。 | あり | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| URI | アプリケーション ID。 | 対応 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
name | 本文キー | アクション抑制ウィンドウの名前。 | 対応 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
timeRange | 本文キー | ウィンドウの開始時刻と終了時刻。 | 対応 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
healthRuleIds | 本文キー | 影響を受ける正常性ルールの ID。指定しない場合、すべてのルールが影響を受けます | なし | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
affects | 本文キー | エンティティのタイプと対応する ID:
| 対応 |
要求の例
/controller/api/accounts/2/applications/9/actionsuppressions
ヘッダー
Name: Content-Type
Value: application/vnd.appd.cntrl+json;v=1
本体
{"name": "App-ASW_2","timeRange": {"startTimeMillis": "2014-10-25T04:16:30+0000","endTimeMillis": "2014-10-25T06:16:30+0000"},"affects": {"type": "APP"}}
または
{"name": "Node-ASW_1","timeRange": {"startTimeMillis": "2014-10-25T04:16:57+0000","endTimeMillis": "2014-10-25T05:16:57+0000"},"healthRuleIds": [60,61],"affects": {"type": "NODE","nodeAffectedEntities": {"type": "SPECIFIC","nodeType": "ALL","nodes": [17,18]}}}
特定のアクションの抑制を ID ごとに削除する
これは、「204 - No Content
」メッセージを返す必要がある DELETE
要求です。
URI
DELETE /controller/api/accounts/account_id/applications/application_id/actionsuppressions/actionsuppression_id
入力パラメータ
パラメータ名 | Parameter Type | 値 | 必須 |
---|---|---|---|
account_id | URI | アカウント ID | あり |
| URI | アプリケーション ID | あり |
actionsuppression_id | URI | 削除されるアクションの抑制 ID | あり。Alert and Respond API を使用すると、AppDynamics アラートおよび応答機能のイベントや正常性ルールなどを管理およびモニタできます。 |