タスクログ取得 API
概要
このガイドでは、構成の自動デプロイメントのために複数の API をオーケストレーションする方法について説明します。API コール間のシーケンスとデータフローを取り上げ、デプロイメントと検証のループを確実に成功させるために 1 つの API から次の API にフィードされるデータを特定します。
前提条件
- コントローラバージョン:バージョン 26.1.0 以上。
- 権限:
AGENT_MANAGEMENT_READおよびAGENT_MANAGEMENT_WRITE。 - ベース URL:AppDynamics コントローラのエンドポイント(例:
https://<company>.saas.appdynamics.com) - OAuth ログイン情報:API アクセス権を持つクライアント ID とクライアントシークレット
OAuth アクセストークンの取得
API コールを行う前に、認証してベアラートークンを取得します。
エンドポイント:POST /controller/api/oauth/access_token
curl -X POST "https://<controller-url>/controller/api/oauth/access_token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials" \
-d "client_id=your-client-id@your-account" \
-d "client_secret=your-client-secret"
次のステップ:後続のコールで Authorization: Bearer ヘッダーの access_token を保存します。
エージェント一覧のクエリ
一覧をクエリして、条件に一致するスマートエージェントを見つけます。バージョン 26.1.0 以降で使用できます。
エンドポイント:POST /controller/rest/v2/agent-management/inventory/query
{
"agentType": "SMART_AGENT",
"filters": [
{
"field": "HOST_NAME",
"value": ["ip-10-115-85-44", "ip-10-115-85-45"]
}
]
}
主な成果:応答データから agentInstanceId 値を抽出します。
設定の導入
ターゲットエージェントに構成ファイルをデプロイします。バージョン 26.1.0 以降で使用できます。
エンドポイント:POST /controller/rest/agent-management/v2/configuration/deploy
| フィールド | タイプ | 説明 |
|---|---|---|
agentInstanceIds |
List<String> | ステップ 2 の ID(最大 1,000)。 |
configFiles |
リスト<Object> | fileName と、JSON でエスケープされた fileContent が含まれます。 |
主な成果:ポーリングのためにタスク id を保存します。
タスク ステータスのモニタ
タスクステータス API をポーリングして、完了するまでデプロイメントの進行状況を監視します。
エンドポイント:POST /controller/restui/agent-management/inventory/tasks/ids
| ステータス | 意味 |
|---|---|
TRIGGERED |
デプロイメントが開始されました。 |
SUCCESS |
デプロイメントが正常に完了しました。 |
FAILED |
デプロイメントに失敗しました。タスクログを確認してください。 |
有効な構成の確認
エージェントが実際に使用している有効な構成を取得します。バージョン 26.1.0 以降で使用できます。
エンドポイント:POST /controller/rest/agent-management/v2/configuration/retrieve
{
"agentInstanceIds": ["smart-agent-1", "smart-agent-2"],
"agentType": "SMART_AGENT",
"configFileNames": ["ld_preload.json"]
}
検証:応答の checksum フィールドをデプロイされた内容と比較して、一致することを確認します。
トラブルシューティング
| 問題 | 解決策 |
|---|---|
| 401 Unauthorized | OAuth トークンの有効期限が切れています。新しいトークンをリクエストしてください。 |
| 429 Too Many Requests | ポーリング間隔を 10 ~ 15 秒に増やします。 |
| スマートエージェントが停止状態である | エージェントがオフラインです。ホストの接続を確認してください。 |