Versions Compared

    Key

    • This line was added.
    • This line was removed.
    • Formatting was changed.
    Comment: Published by Scroll Versions from this space and version 20.8
    sv-translation
    languageen
    Appd tocbox
    Width340px

    Related pages:

    Alert and Respond

    Health Rules

    Policies

    This page provides links to the Alert and Respond APIs that allow you to create, configure and manage:

    Info
    You can create and use the identity type, API Clients, to provide secure access to the AppDynamics controller using REST API calls. These calls use Open Authorization (OAuth) token-based authentication. You can create new API Client identity types that can be used to generate OAuth tokens. See API Clients
    sv-translation
    languageja

    Appd tocbox
    Width340px

    On this page:

    Table of Contents
    maxLevel2
    minLevel2

    Alert and Respond API を使用すると、AppDynamics アラートおよび応答機能のイベントや正常性ルールなどを管理およびモニタできます。

    アラートおよび応答機能の詳細については、Alert and Respond を参照してください。 

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

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

    URI

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

    入力パラメータ

    Div
    style clear: both;

    パラメータ名

    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」です。

    なし

    Expand
    titleここをクリックして完全な例を表示する...

    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>

    Anchor
    retrieve-event-data
    retrieve-event-data
    イベントデータを取得する

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

    URI 

    /controller/rest/applications/application_id/events

    入力パラメータ

    パラメータ名

    Parameter Type

    必須

    application_id

    URI

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

    あり

    summary[Query(クエリ)]イベントの概要を指定します。あり
    コメント[Query(クエリ)]イベントのコメント(存在する場合)を指定します。なし
    eventtype[Query(クエリ)]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
    [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 の場合

    event-types

    [Query(クエリ)]

    イベント情報を取得するイベントタイプのカンマ区切りリストを指定します。有効なイベントタイプについては、Events Reference を参照してください。

    あり

    severity

    [Query(クエリ)]

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

    • INFO
    • WARN
    • ERROR

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

    あり

    出力

    [Query(クエリ)]

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

    なし

    階層[Query(クエリ)]アプリケーションの階層名なし

    指定した時間範囲内で発生した任意の重大度の「APPLICATION_ERROR」または「DIAGNOSTIC_SESSION」タイプのイベントリストを取得します。

    No Format
    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 を受信する必要があります。

    ロールと権限

    イベントを作成するには、Create Events 権限が必要です。詳細については、「Application Permissions」を参照してください。

    URI

    POST /controller/rest/applications/application_id/events

    入力パラメータ

    パラメータ名

    Parameter Type

    必須

    application_id

    URI

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

    あり

    summary

    [Query(クエリ)]

    イベントの概要を指定します。

    あり

    コメント

    [Query(クエリ)]

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

    なし

    eventtype

    [Query(クエリ)]

    APPLICATION_DEPLOYMENT

    あり

    severity[Query(クエリ)]重大度レベルを指定します。使用可能な値
    • "INFO"
    • "WARN"
    • "ERROR"

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

    あり

    カスタムイベントの作成

    AppDynamics イベントビューアおよび AppDynamics ダッシュボードのイベントパネルでレポートされるカスタムイベントを作成できます。カスタムイベントを検出するためのフィルタリング方法については、「イベントの監視」を参照してください。 次に、AppDynamics 標準イベントによってトリガーされたアラートを、このイベントで実行するとおりに作成できます。

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

    ロールと権限

    カスタムイベントを作成するには、Create Events 権限が必要です。詳細については、「Application Permissions」を参照してください。

    URI

    POST /controller/rest/applications/application_id/events

    入力パラメータ

    パラメータ名

    Parameter Type

    必須

    application_id

    URI

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

    あり

    summary

    [Query(クエリ)]

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

    あり

    コメント

    [Query(クエリ)]

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

    なし

    severity[Query(クエリ)]重大度レベルを指定します。使用可能な値
    • "INFO"
    • "WARN"
    • "ERROR"

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

    あり

    eventtype

    [Query(クエリ)]

    カスタム

    あり

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

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

    No Format
    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 回、propertynames を N 回出現させる必要があります。

    通知用にカスタム URL を作成する

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

    URI

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


    入力パラメータ

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

    本文パラメータ

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

    No Format
    {
       "controllerURL": "http://<my-custom-hostname:port>"
    }
    Info

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

    No Format
    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

    例:

    No Format
    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 に含まれています。

    名前:Accept
    値:application/vnd. cntrl + xml; v = 1

    既存のアクションの抑制をすべて取得する

    既存のすべてのアクション抑制のリストを取得します。 

    URI

    GET/controller/api/accounts/account_id/applications/application_id/actionsuppressions

    入力パラメータ

    パラメータ名

    Parameter Type

    必須

    account_id URIアカウント IDあり

    application_id

    URI

    アプリケーション ID

    あり

    すべてのアクション抑制を取得する要求の例:

    No Format
    /controller/api/accounts/2/applications/9/actionsuppressions

    レスポンスの例:

    No Format
    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_idURIアカウント IDあり

    application_id

    URI

    アプリケーション ID

    あり

    actionsuppressions_idURIアクションの抑制 IDあり

    要求の例:

    No Format
    /controller/api/accounts/2/applications/9/actionsuppressions/15

    レスポンスの例:

    No Format
    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"}}

    新しいアクションの抑制を作成する

    これは POST 要求です。「201 - created」応答を返す必要があります。

    URI

    POST /controller/api/accounts/account_id/applications/application_id/actionsuppressions

    入力パラメータ

    パラメータ名

    Parameter Type

    必須

    account_idURIアカウント IDあり

    application_id

    URI

    アプリケーション ID

    あり

    name本文キーアクション抑制ウィンドウの名前あり
    timeRange本文キー

    このウィンドウの開始時刻と終了時刻。
    例:
    startTimeMillis(例: 2014-10-25T04:16:57+0000)、
    endTimeMillis(例: 2014-10-25T05:16:57+0000)

    あり
    healthRuleIds本文キー影響を受ける正常性ルールの ID。指定しない場合、すべてのルールが影響を受けますなし
    affects本文キーエンティティのタイプと対応する ID(以下を参照)あり

    「affects」のコンテンツ

    対象範囲[タイプ(Type)]
    アプリケーションアプリアプリケーション全体に対応"affects": {"type": "APP"}
    ビジネストランザクションBT1 つ以上のビジネストランザクションに対応 
      すべてのビジネストランザクション "affects": {"type": "BT","btAffectedEntities": {"type": "ALL"}}
      特定の階層内のすべてのビジネストランザクション"affects": {"type": "BT","btAffectedEntities": {"type": "WITHIN_TIERS","tiers": [11,12]}}(11 と 12 は階層 ID)
      ID 別の具体的なビジネストランザクション"affects": {"type": "BT","btAffectedEntities": {"type": "SPECIFIC","bts": [1,2]}}(1 と 2 は BT の ID)
      条件に一致するビジネストランザクション

    "affects": {"type": "BT","btAffectedEntities": {"type": "CRITERIA","matchesOperator": "CONTAINS","matchesValue": "pojo"}}
    。ここで、「matchesOperator」は次のようになります。

    • CONTAINS
    • EQUALS
    • STARTS
    • 終了日
    • REGEX_VALUE
    ティアTIER1 つ以上の階層に対応 
      すべてのレベル"affects": {"type": "TIER","tierAffectedEntities": {"type": "ALL"}}
      特定のティア"affects": {"type": "TIER","tierAffectedEntities": {"type": "SPECIFIC","tiers": [11,12]}}(11 と 12 は階層 ID)
    ノードノード1 つ以上のノードに対応 
      すべてのノード"affects": {"type": "NODE","nodeAffectedEntities": {"type": "ALL","nodeType": "ALL"}}
      特定の階層に属するノード"affects": {"type": "NODE","nodeAffectedEntities": {"type": "WITHIN_TIERS","nodeType": "ALL","tiers": [11,12]}}(11 と 12 は階層 ID)
      特定のノード"affects": {"type": "NODE","nodeAffectedEntities": {"type": "SPECIFIC","nodeType": "ALL","nodes": [9,10]}}(9 と 10 はノード ID)
      条件に一致するノード
     
    "affects": {"type": "NODE","nodeAffectedEntities": {"type": "NAME_CRITERIA","nodeType": "ALL","nameMatchesOperator": "EQUALS","nameMatchesValue": "Node"}} - String match
     "affects": {"type": "NODE","nodeAffectedEntities": {"type": "PROPERTY_CRITERIA","nodeType": "ALL","metaInfoProperties": [{"name": "ProcessID","value": "12343"}]}} - Meta Info Properties match

    ここで、「matchesOperator」は次のようになります。

    • CONTAINS
    • EQUALS
    • STARTS
    • 終了日
    • REGEX_VALUE
    マシンMACHINE1 つ以上のマシンに対応"affects": {"type": "MACHINE","machineAffectedEntities": {"type": "SPECITIC","machines": [4,5]}}(4 と 5 はマシン ID)
    (info)基本のコードに入力ミスがあるため、値は正確に「SPECITIC」と入力するようご注意ください。

    要求の例

    No Format
     /controller/api/accounts/2/applications/9/actionsuppressions

    ヘッダー

    • 名前:Content-Type
    • 値:application/vnd.appd.cntrl+json;v=1

    本体

    No Format
    {"name": "App-ASW_2","timeRange": {"startTimeMillis": "2014-10-25T04:16:30+0000","endTimeMillis": "2014-10-25T06:16:30+0000"},"affects": {"type": "APP"}}

     

    または

    No Format
    {"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 ごとに削除する

    これは DELETE 要求です。「204 - No Content」を返す必要があります。

    URI

    DELETE /controller/api/accounts/account_id/applications/application_id/actionsuppressions/actionsuppression_id

    入力パラメータ

    パラメータ名

    Parameter Type

    必須

    account_idURIアカウント IDあり

    application_id

    URI

    アプリケーション ID

    あり

    actionsuppression_idURI削除されるアクションの抑制 IDはい