cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Not a customer? Start a free trial

Click the Start a free trial link to start a 15-day SaaS trial of our product and join our community as a trial user. If you are an existing customer do not start a free trial.

AppDynamics customers and established members should click the sign in button to authenticate.

Dynamic Languages (Node.JS, Python, PHP, C/C++, Webserver Agent)

Create Oracle Database via REST

SOLVED
Josh.Fox
Creator

Create Oracle Database via REST

Hello,

I am trying to create an Oracle database collector with the REST API. I don't seem to be able to get it working. The example online is of a SQL server, so I was hoping someone could please provide an example of an Oracle server JSON payload. Below is what I get if I do a GET. Also, our controller version is 4.5, so not sure if maybe that is part of the problem. The error I get is just a generic 500 Internal Server Error.

{
"id": 42,
"version": 0,
"name": "Oracle-OLTP",
"nameUnique": true,
"builtIn": false,
"createdBy": null,
"createdOn": 1531336844000,
"modifiedBy": null,
"modifiedOn": 1531336844000,
"type": "ORACLE",
"hostname": "Oracle-OLTP.domain",
"useWindowsAuth": false,
"username": "USER",
"password": "appdynamics_redacted_password",
"port": 1521,
"loggingEnabled": true,
"enabled": true,
"excludedSchemas": [
""
],
"jdbcConnectionProperties": [],
"databaseName": null,
"failoverPartner": null,
"connectAsSysdba": false,
"useServiceName": true,
"sid": "SRVC",
"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": "Default Database Agent",
"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": [],
"jmxPort": 0
}
By replying you agree to the Terms and Conditions of the AppDynamics Community.
Create Oracle Database via REST
2 REPLIES 2
Hiroki.Ito
AppDynamics Team

Hi @Josh.Fox ,

Thank you for posting to the community.

Although some keys such as id, version, createdOn and modifiedOn are unnecessary, The JSON you posted may be able to create Oracle database collector with the REST API, because it worked with version 4.5.17.

Could you confirm if you are using a curl command like below?
curl -X POST --user {username}@{account_name}:{password} "{Controller_URL}/controller/rest/databases/collectors/create" -H"Accept: application/json" -H"Content-type: application/json" -d @{PATH_TO_JSON_FILE}

In addition, could you please share what is shown in the controller's log located at <controller_home>/logs/server.log
after executing the API and get 500 Internal Server Error?
The log can be searched by "Exception Id" returned by the API
 
e.g.
  • API Response
<html><body><h1>500 Internal Server Error</h1><br/>Exception Id:d9aeaa41-ce82-4965-a4f1-211b17235ee5<br/></body></html>

  • server.log
[#|2021-07-02T04:37:51.653+0000|SEVERE|glassfish 4.1|com.singularity.ee.controller.servlet.handlers.aa|_ThreadID=49;_ThreadName=http-listener-1(4);_TimeMillis=1625200671653;_LevelValue=1000;|500 Error with Exception Id: d9aeaa41-ce82-4965-a4f1-211b17235ee5 and Class Name: java.lang.NullPointerException
java.lang.NullPointerException
...

Best Regards,
Hiroki

Found something helpful? Click the Accept as Solution button to help others find answers faster.
Liked something? Click the Thumbs Up button.
Josh.Fox
Creator

Hello, thanks for the response, this is super helpful. I got this working with some help. Here is the working JSON payload:

 

{
"type": "ORACLE",
"agentName": "Default Database Agent",
"name": "MYTest",
"hostname": "MYTest.domain",
"enterpriseDB": false,
"failoverPartner": null,
"port": 1521,
"customConnectionString": null,
"useServiceName": true,
"sid": "SRVCID",
"connectAsSysdba": false,
"username": "USER",
"password": "password",
"loggingEnabled": true,
"enableOSMonitor": false,
"hostOS": null,
"useLocalWMI": false,
"hostDomain": null,
"sshPort": 0,
"certificateAuth": false,
"hostUsername": null,
"hostPassword": ""
}
 
Hope this saves the next person some time. The 'type' field has to be all caps. I believe these are all the required fields but not absolutely sure on this.