Download PDF
Download page データベースの可視性 API.
データベースの可視性 API
このページでは、データベースの可視性コレクタを取得、作成、更新、および削除できるデータベースの可視性 API のメソッドについて説明します。
すべてのデータベースの可視性 API リクエストには、次のヘッダーを含めます。
Accept: application/json; Content-type: application/json
JSON は現在サポートされている唯一の形式です。
データベースの可視性では、インフラストラクチャベースのライセンスが使用されます。このライセンスでは、データベースコレクタとライセンスの使用状況には直接的な相関関係はありません。したがって、コントローラバージョンが 21.2 以降の場合、licensesUsed
パラメータは常に -1
を返します。
すべてのコレクタの取得
GET /controller/rest/databases/collectors
特定のコレクタの取得
GET /controller/rest/databases/collectors/{configurationId}
コレクタの作成
POST /controller/rest/databases/collectors/create
送信する JSON には、関連するコレクタ情報が含まれている必要があります。コレクタを説明する必須フィールドは、データベースのタイプによって異なります。「UI コレクタと JSON コレクタの設定フィールド名」を参照してください。
JSON リクエストの例
{
"type":"MYSQL",
"name":"localdocker_dbagent-MySQLCollector",
"hostname":"mysql",
"port":"3306",
"username":"root",
"password":"appdynamics_redacted_password",
"enabled":true,
"excludedSchemas":null,
"databaseName":null,
"failoverPartner":null,
"connectAsSysdba":false,
"useServiceName":false,
"sid":null,
"customConnectionString":null,
"enterpriseDB":false,
"useSSL":false,
"enableOSMonitor":false,
"hostOS":null,
"useLocalWMI":false,
"hostDomain":null,
"hostUsername":null,
"hostPassword":"",
"dbInstanceIdentifier":null,
"region":null,
"certificateAuth":false,
"removeLiterals":true,
"sshPort":0,
"agentName":"localdocker_dbagent",
"dbCyberArkEnabled":false,
"dbCyberArkApplication":null,
"dbCyberArkSafe":null,
"dbCyberArkFolder":null,
"dbCyberArkObject":null,
"hwCyberArkEnabled":false,
"hwCyberArkApplication":null,
"hwCyberArkSafe":null,
"hwCyberArkFolder":null,
"hwCyberArkObject":null,
"orapkiSslEnabled":false,
"orasslClientAuthEnabled":false,
"orasslTruststoreLoc":null,
"orasslTruststoreType":null,
"orasslTruststorePassword":"",
"orasslKeystoreLoc":null,
"orasslKeystoreType":null,
"orasslKeystorePassword":"",
"ldapEnabled":false,
"customMetrics":null,
"subConfigs":[
{
"type":"MYSQL",
"name":"localdocker_dbagent-MySQLCollector sub-collector",
"hostname":"mysql-remote",
"port":"3388",
"username":"root",
"password":"different-password",
"enabled":true,
"excludedSchemas":null,
"databaseName":null,
"failoverPartner":null,
"connectAsSysdba":false,
"useServiceName":false,
"sid":null,
"customConnectionString":null,
"enterpriseDB":false,
"useSSL":false,
"enableOSMonitor":false,
"hostOS":null,
"useLocalWMI":false,
"hostDomain":null,
"hostUsername":null,
"hostPassword":"",
"dbInstanceIdentifier":null,
"region":null,
"certificateAuth":false,
"removeLiterals":true,
"sshPort":0,
"agentName":"localdocker_dbagent",
"dbCyberArkEnabled":false,
"dbCyberArkApplication":null,
"dbCyberArkSafe":null,
"dbCyberArkFolder":null,
"dbCyberArkObject":null,
"hwCyberArkEnabled":false,
"hwCyberArkApplication":null,
"hwCyberArkSafe":null,
"hwCyberArkFolder":null,
"hwCyberArkObject":null,
"orapkiSslEnabled":false,
"orasslClientAuthEnabled":false,
"orasslTruststoreLoc":null,
"orasslTruststoreType":null,
"orasslTruststorePassword":"",
"orasslKeystoreLoc":null,
"orasslKeystoreType":null,
"orasslKeystorePassword":"",
"ldapEnabled":false,
"customMetrics":null
}
]
}
extraProperties:データベースからのサンプリングクエリの頻度を構成するには(Cassandra を除く)、JSON リクエストペイロードの extraProperties
パラメータを使用できます。次の JSON のサンプルは、リクエストペイロードでサンプリング間隔を構成するために使用できます。
{
"type":"POSTGRESQL",
"agentName":"UpgradeTest204",
"name":"SamplingInterval",
"hostname":"ec2-54-202-140-213.us-west-2.compute.amazonaws.com",
"port":"5432",
"username":"postgres",
"password":"Appd123",
"removeLiterals":"true",
"enableOSMonitor":"true",
"hostOS":"LINUX",
"sshPort":"22",
"hostUsername":"ec2-user",
"hostPassword":"",
"certificateAuth":true,
"enabled":"true",
"enterpriseDB":"false",
"extraProperties":[
{
"key":"dbagent.sampling.interval",
"value":"10",
"sensitive":false
}
]
}
間隔を構成するために、extraProperties
では次の JSON キー値のペアが使用されます。
key: dbagent.sampling.interval
value:正の整数
値には、1、2、5、10、20、または 30 を指定できます。
このプロパティは、エージェントを使用して構成できます。「モニタリングデータベースのエージェント設定の構成」を参照してください。
コレクタの更新
- 更新するコレクタの
GET
リクエストを実行します。 GET
リクエストによって返された JSON 応答本文をテキストエディタにコピーし、更新するフィールドを変更します。更新するコレクタの
POST
リクエストを実行し、更新された JSON を含めます。POST /controller/rest/databases/collectors/update
CODEJSON リクエストの例
{ "id":1, "type":"MYSQL", "name":"localdocker_dbagent-MySQLCollector", "hostname":"mysql", "port":"3306", "username":"root", "password":"appdynamics_redacted_password", "enabled":true, "excludedSchemas":null, "databaseName":null, "failoverPartner":null, "connectAsSysdba":false, "useServiceName":false, "sid":null, "customConnectionString":null, "enterpriseDB":false, "useSSL":false, "enableOSMonitor":false, "hostOS":null, "useLocalWMI":false, "hostDomain":null, "hostUsername":null, "hostPassword":"", "dbInstanceIdentifier":null, "region":null, "certificateAuth":false, "removeLiterals":true, "sshPort":0, "agentName":"localdocker_dbagent", "dbCyberArkEnabled":false, "dbCyberArkApplication":null, "dbCyberArkSafe":null, "dbCyberArkFolder":null, "dbCyberArkObject":null, "hwCyberArkEnabled":false, "hwCyberArkApplication":null, "hwCyberArkSafe":null, "hwCyberArkFolder":null, "hwCyberArkObject":null, "orapkiSslEnabled":false, "orasslClientAuthEnabled":false, "orasslTruststoreLoc":null, "orasslTruststoreType":null, "orasslTruststorePassword":"", "orasslKeystoreLoc":null, "orasslKeystoreType":null, "orasslKeystorePassword":"", "ldapEnabled":false, "customMetrics":null, "subConfigs":[ { "id":2, "type":"MYSQL", "name":"localdocker_dbagent-MySQLCollector sub-collector", "hostname":"mysql", "port":"3388", "username":"root", "password":"appdynamics-redacted-password", "enabled":true, "excludedSchemas":null, "databaseName":null, "failoverPartner":null, "connectAsSysdba":false, "useServiceName":false, "sid":null, "customConnectionString":null, "enterpriseDB":false, "useSSL":false, "enableOSMonitor":false, "hostOS":null, "useLocalWMI":false, "hostDomain":null, "hostUsername":null, "hostPassword":"", "dbInstanceIdentifier":null, "region":null, "certificateAuth":false, "removeLiterals":true, "sshPort":0, "agentName":"localdocker_dbagent", "dbCyberArkEnabled":false, "dbCyberArkApplication":null, "dbCyberArkSafe":null, "dbCyberArkFolder":null, "dbCyberArkObject":null, "hwCyberArkEnabled":false, "hwCyberArkApplication":null, "hwCyberArkSafe":null, "hwCyberArkFolder":null, "hwCyberArkObject":null, "orapkiSslEnabled":false, "orasslClientAuthEnabled":false, "orasslTruststoreLoc":null, "orasslTruststoreType":null, "orasslTruststorePassword":"", "orasslKeystoreLoc":null, "orasslKeystoreType":null, "orasslKeystorePassword":"", "ldapEnabled":false, "customMetrics":null } ] }
CODE
送信する JSON には、変更するフィールドだけを変更し、既存のコレクタのすべての詳細を含める必要があります。すべてのフィールドがあることを確認するには、「特定のコレクタの取得」コールを使用します。
既存のコレクタに新しいサブコレクタを追加するには、id
フィールドを使用せずにサブコレクタの詳細を指定します。
extraProperties
パラメータを参照してください。
特定のコレクタの削除
DELETE /controller/rest/databases/collectors/{configurationId}
削除リクエストの例
DELETE /controller/rest/databases/collectors/{1}
複数のコレクタの一括削除
POST /controller/rest/databases/collectors/batchDelete
コレクタの構成 ID の配列を送信します。
次に、batch delete コマンドの例を示します。
curl --user {username}@{account_name}:{password} -H "Accept: application/json" -H "Content-type: application/json" -X POST -d '[1,2,3]' {Controller_URL}/controller/rest/databases/collectors/batchDelete
すべてのモニタ対象データベースサーバの取得
GET /controller/rest/databases/servers
例
curl --user {username}@{account_name}:{password} {Controller_URL}/controller/rest/databases/servers
出力は、データベースサーバとその詳細のリストです。
データベースサーバの詳細の取得
GET /controller/rest/databases/servers/{dbserver_id}
例
curl --user {username}@{account_name}:{password} {Controller_URL}/controller/rest/databases/servers/{dbserver_id}
出力には、名前、ノード ID、データベースタイプなど、データベースの詳細のリストが含まれます。
すべてのデータベース エージェント イベントの取得
GET /controller/rest/applications/_dbmon/events
クエリ文字列パラメータのリストについては、「イベントデータを取得する」を参照してください。
例
curl --user {username}@{account_name}:{password} {Controller_URL}/controller/rest/applications/_dbmon/events?time-range-type=BEFORE_NOW&duration-in-mins=30&event-types=%20AGENT_EVENT,DB_SERVER_PARAMTER_CHANGE&severities=INFO,WARN,ERROR
出力には、イベントのリストが表示されます。各イベント要素では、エンティティ定義要素を検索することにより、イベントがマッピングされるノードを判別できます。
すべてのデータベース モニタリング アプリケーション ノードの取得
GET /controller/rest/applications/_dbmon/nodes
例
curl --user {username}@{account_name}:{password} {Controller_URL}/controller/rest/applications/_dbmon/nodes
UI コレクタと JSON コレクタの設定フィールド名
次の表を使用して、API コールに正しいフィールド名を使用していることを確認します。コレクタ設定フィールド名については、「サーバハードウェアをモニタするデータベースエージェントの構成」および「データベースコレクタの追加」を参照してください。
セクション | UI コレクタの設定フィールド名 | JSON コレクタの設定フィールド名 |
---|---|---|
id(コレクタを設定するときに、AppDynamics がこの ID をコレクタに割り当てます。この ID は、バッチ削除の実行時に必要になります)。 | ||
Database Type | type | |
Database Agent | agentName | |
Database | name | |
Connection Details | Hostname/IP Address | hostname |
EnterpriseDB | enterpriseDB | |
Failover Partner | failoverPartner | |
Listener Port | port | |
Custom JDBC Connection String | customConnectionString | |
Use Service Name | useServiceName | |
SID or SERVICE_NAME | sid | |
Connect as a sysdba | connectAsSysdba | |
Username | username | |
Password | password | |
Logging Enabled | ||
Hardware Monitoring | Monitor Operating System | enableOSMonitor |
Operating System | hostOS | |
Use Local WMI | useLocalWMI | |
Domain | hostDomain | |
SSH Port | sshPort | |
Use certificate | certificateAuth | |
Username | hostUsername | |
Password | hostPassword |
SSL フィールド
JSON 設定フィールドに加えて、[SSL] フィールドもあります。SSL は、データベースエージェントの設定可能なプロパティです。データベースエージェントが SSL を使用するように設定されている場合は、データベースの可視性 API コールで [SSL] フィールドとその値も指定する必要があります。コレクタの正常性ルール違反の取得
GET /controller/rest/databases/servers/healthrule-violations/<server-id>
入力パラメータ
パラメータ名 | Parameter Type | 値 | 必須 |
---|---|---|---|
| URI | データベースサーバの名前または ID を入力します。 | [はい(Yes)] に設定 |
| [Query(クエリ)] | 次の値を使用できます。
このオプションを使用するには、" | [はい(Yes)] に設定 |
| [Query(クエリ)] | メトリックデータを返す期間(分単位)。 | time-range-type が |
| [Query(クエリ)] | メトリックデータが返される期間の開始時刻(ミリ秒単位)。 | time-range-type が |
| [Query(クエリ)] | メトリックデータが返される期間の終了時刻(ミリ秒単位)。 | time-range-type が |
| [Query(クエリ)] | 出力形式を変更するために URL の一部として含まれている HTTP リクエストパラメータ。有効な値は | なし |
例
curl --user {username}@{account_name}:{password} {Controller_URL}/controller/rest/databases/servers/healthrule-violations/<server-id>?time-range-type=BEFORE_NOW&duration-in-mins=<required_duration>