リソースへのアクセス

リソースを取得することによって、簡易 HTTP GET 要求を実装できます。Web ブラウザでベース URL にアクセスすることによって、利用可能なリソースおよびアクションについて説明するルート リソースを取得します。個々のリソースまたはリソースのコレクションを要求できます。また、改ページ調整の制御や、リソースの並べ替え、フィルタ、または検索ができます。
apmdevops102jp
リソースを取得することによって、簡易 HTTP GET 要求を実装できます。Web ブラウザでベース URL にアクセスすることによって、利用可能なリソースおよびアクションについて説明するルート リソースを取得します。個々のリソースまたはリソースのコレクションを要求できます。また、改ページ調整の制御や、リソースの並べ替え、フィルタ、または検索ができます。
CA APM RESTful API は HAL インターネット メディア タイプをサポートするため、デフォルトで HAL 形式のドキュメントが返されます。また、一部の API は、他の形式(application/xml、text/csv、text/plain など)もサポートできます。
ルート リソース
すべての CA APM パブリック API はルート リソースを公開します。ルート リソースには、利用可能なすべてのリソースへの(HAL)リンクおよびメタデータ、バージョンなどの追加情報が含まれます。
API のベース URL にアクセスすることによって、ルート リソースを取得できます。
GET https://<host>:<port>/apm/<service>
たとえば、以下の要求を使用して、CA APM Command Center のルート リソースを取得します。
GET https://localhost:8443/apm/acc
以下に、応答として受信したルート リソースを示します。
{ "vendor": "CA Technologies", "apiVersion": "1.0.1", "serverVersion": "10.0.1" "serviceProvider": "com.ca.apm.acc", "_links": { "controller": { "href": "https://localhost:8443/apm/acc/controller{?page,size,sort}", "templated": true }, . . . } } }
このルート リソースには以下の情報が含まれます。
  • vendor: CA Technologies
  • apiVersion: API バージョン
  • serverVersion: この RESTful API によってビジネス ロジックを公開する application/component のバージョン。
  • serviceProvider: サービスの完全修飾名
  • _links: 利用可能なすべてのリソースへのリンクのリスト
リソースのコレクション
クライアントは個々のリソースまたはリソースのコレクションを要求できます。コレクションは個々のリソースの配列(JSON 形式に従って)として表示されます。
GET https://<host>:<port>/apm/<service>/resource
個々のリソースの配列は、以下のようにリソースの _embedded プロパティ内に埋め込まれています。
{ "_links": { << list of related links >> }, "_embedded": { "<< resource name >>": [ { << resource 1 data >> }, { << resource 2 data >> }, ..... ] }, "_page" : { <paging information> } }
個々のリソースが要求される場合、応答には要求されたリソースのみが含まれます。
GET https://<host>:<port>/apm/<service>/resource/1
応答例:
{ "id": 1, "serverName": "ACCserver01", "agentName": "Tomcat Agent", "status": "ACTIVE", "processName": "Tomcat", "_links": { "self": { "href": "/agent/1{?projection}", "templated": true }, "reports": { "href": "agent/1/report" }, "agentUpdateTasks": { "href": "/agent/1/agentUpdateTask" } } }
一般的な要求パラメータ
リソースのコレクションにアクセスする際は、リソースの数が実際の使用に対して多すぎる場合があります。そのため、クライアントが HTTP GET クエリ パラメータとして以下のプロパティを使用し、より詳細な情報を要求できます。
page および size
返されるページまたは 1 ページに含む必要がある結果数を制御できます。デフォルトで、最初の 20 の結果が返されます。
以下のパラメータを使用します。
  • page
    返されるページの数(デフォルトは 0 = 最初のページが返されます)。
  • size
    必要なページ サイズ。size=0 はすべてのリソースが表示されることを意味します。
例:
以下の要求は最初の 50 の結果を返します。
GET https://localhost:8443/apm/acc/agent?page=0&size=50
以下の要求は 51 ~ 60 の結果を返します。
GET https://localhost:8443/apm/acc/agent?page=5&size=10
sort
コレクションは特定のリソース プロパティ別に並べ替えできます。クライアントは sort パラメータを使用して並べ替えを制御できます。
例:
以下の要求は名前別でエージェントを並べ替えます。
GET https://localhost:8443/apm/acc/agent?sort=agentName
以下の要求では、エージェント名を降順およびインストール パスを昇順で並べ替えられたリストの最初(size=1)のエージェント リソースを取得します。パラメータの順序が考慮されることに注意してください。
GET https://localhost:8443/apm/acc/agent?sort=name,DESC&sort=installPath,ASC&size=1
projection
projection は、データの事前定義済みサブセットを返します。利用可能な projection には、以下の 2 つのタイプがあります。
  • 静的 projection
    静的 projection は、リソースの利用可能なプロパティの事前定義済みサブセットです。文書化された名前を持ち、リソースのコレクションまたは特定のリソースのいずれかを要求する場合に HTTP パラメータ「projection」で渡すことができます。
  • 動的 projection
    動的 projection を使用することによって、クライアントはどのリソースのプロパティが返される必要があるかを明示的に定義できます。動的なリソースを使用する場合、HTTP パラメータ「fields」は、予期されるリソース フィールドのカンマ区切りのリストを定義します。
利用可能な projection は関連 API ドキュメントに記載されています。
例:
以下の要求は、基本情報を持つエージェントのリストを返します。
GET https://localhost:8443/apm/acc/agent?projection=list
応答例:
{
  "_links": {
   "self": {
       "href": "https://localhost:8443/apm/acc/agent?projection=list{&q,page,size,sort,projection,format}",
       "templated": true
    }
 },
 "_embedded": {
     "agent": [
         {
             "id": 1,
             "serverName": "ACCLinuxServer01",
             "status": "ACTIVE",
             "processName": "Tomcat",
             "agentName": "Tomcat Agent",
             "_links": {
                 "self": {
                      "href": "https://localhost:8443/apm/acc/agent/1{?projection}",
                      "templated": true
                 },
                 "controller": {
                      "href": "https://localhost:8443/apm/acc/agent/1/controller"
                 },
                 "diagnosticReports": {
                      "href": "https://localhost:8443/apm/acc/agent/1/diagnosticReports"
                 },
                 "agentUpdateTasks": {
                      "href": "https://localhost:8443/apm/acc/agent/1/agentUpdateTasks"
                 }
             }
       },
       {
             "id": 2,
             "serverName": "ACCWinServer01",
             "status": "ACTIVE",
             "processName": "Tomcat",
             "agentName": "Tomcat Agent",
             "_links": {
                 "self": {
                      "href": "https://localhost:8443/apm/acc/agent/2{?projection}",
                      "templated": true
                 },
                 "controller": {
                      "href": "https://localhost:8443/apm/acc/agent/2/controller"
                 },
                 "diagnosticReports": {
                      "href": "https://localhost:8443/apm/acc/agent/2/diagnosticReports"
                 },
                 "agentUpdateTasks": {
                      "href": "https://localhost:8443/apm/acc/agent/2/agentUpdateTasks"
             }
         }
     }
   ]
 },
"page": {
    "size": 20,
    "totalElements": 2,
    "totalPages": 1,
    "number": 0
 }
}
format
指定された形式でデータを返します。format パラメータは、特定の形式(たとえば、Accept: text/csv; q=1.0)を要求するためのデフォルトのメカニズムである HTTP ヘッダー「Accept」より優先されます。
例:
以下の要求は、CSV 形式でのエージェントに関する情報を返します。
GET https://localhost:8443/apm/acc/agent?format=csv
応答例:
"id","agentName","serverName","processName","status","type","version","build","logLevel","registrationTimestamp","heartbeatTimestamp","emCollectorHost","emCollectorPort","appServerName","appServerVersion","platformName","platformVersion","platformArch","osName","osVersion","osArch","metricCount"
"1","Tomcat Agent","ACCLinuxServer01","Tomcat","ACTIVE","JavaAgent","9.7.1","16","INFO","2015-04-29 05:15:46 +0100","2015-04-30 05:20:45 +0100","ACCWinServer01","5001","Apache Tomcat","5.5.34.0","Oracle Corporation","1.7.0",,"Red Hat Enterprise Linux Server","6.1, kernel 2.6.32-131.0.15.el6.x86_64","amd64","59"
"2","Tomcat Agent","ACCWinServer01","Tomcat","ACTIVE","JavaAgent","9.7.1","16","INFO","2015-04-29 05:16:26 +0100","2015-04-30 05:16:26 +0100","ACCWinServer01","5001","Apache Tomcat","5.5.34.0","Oracle Corporation","1.7.0_51",,"Windows Server 2008 R2","6.1","amd64","66"
q
検索またはコレクション フィルタリング。このオプションを使用し、リソース サーバにフィルタまたは検索のクエリを渡すことができます。
時間および日付
日付および時間は、ISO 8601 形式を使用して表示されます。