cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

How to monitor elastic search in Appdynamics 4.2.6

Is there any extention for Elastic Search monitoring from Appdynamics?. If yes please provide details of download link and install/config details.

10 REPLIES 10

Raunak.Mohanty
AppDynamics Team (Retired)

Hi Sujith,

 

 Please have a look at https://www.appdynamics.com/community/exchange/extension/elasticsearch-monitoring-extension/

 

Thanks,

Raunak



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

Thanks for the link.

What level of permission is required for the user account?. And what are the below details for?.

 

       displayName: Server1
       uri: "http://localhost:9200"

Hi Sujith,

 

uri is the address where the elastic search instance is running. Extension connects to the elastic search REST API endpoint to fetch metrics.

displayName is to categorize all the metrics that are fetched from this extension to appear under this name in AppDynamics metric browser.

 

The user should have permissions to access elastic search REST endpoints inorder for this extension to work.

 

Hope this answers your questions.

 

Thanks



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

Any thoughts how to use the Encryption tool?

 

What is the syntax?.

java -cp "appd-exts-commons-1.1.2.jar" com.appdynamics.extensions.crypto.Encryptor encryptionKey password

 

I assume we need to just replace password string with User Password in above command. But I dont see any fields like passwordEncrypted and encryptionKey in config.yml. But the doc says as below. Do we need create this fields as below.

 

displayName: Server1

    uri: "http://localhost:9200"

    username: ""

    password: ""

passwordEncrypted: " "

 

"tese values should be used in the passwordEncrypted and encryptionKey fields in config.yml instead of plain text password"

Hi,

 

Please use the below format in case of password encryption. Note that password is commented out, instead passwordEncrypted and encryptionKey is used.

 

 

servers:
  - displayName: Server1
    uri: "http://localhost:9200"
    username: ""
    #password: ""
    passwordEncrypted: ""
encryptionKey: ""

As you have rightly said, the password string while using the utility jar is the plain text password.

 

Please let us know in case of any more questions.

 

Thanks

 



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

Iam getting below error in the machineagent log. I did set the encryptionKey

[Agent-Monitor-Scheduler-1] 11 Jul 2017 06:01:41,082  INFO Http4ClientBuilder - Creating the auth scope for URI [http://localhost:9200]
[Agent-Monitor-Scheduler-1] 11 Jul 2017 06:01:41,083 ERROR Http4ClientBuilder - Cannot decrypt the password. Encryption key not set
[Agent-Monitor-Scheduler-1] 11 Jul 2017 06:01:41,084 ERROR PeriodicTaskRunner - Error creating environment task
java.lang.RuntimeException: Cannot decrypt [passwordEncrypted], since [encryptionKey] is not set
        at com.appdynamics.extensions.http.Http4ClientBuilder.getPassword(Http4ClientBuilder.java:225)
        at com.appdynamics.extensions.http.Http4ClientBuilder.configureAuthentication(Http4ClientBuilder.java:146)
        at com.appdynamics.extensions.http.Http4ClientBuilder.configureBuilder(Http4ClientBuilder.java:89)
        at com.appdynamics.extensions.http.Http4ClientBuilder.getBuilder(Http4ClientBuilder.java:80)

Is the below structure maintained? Please note that encryptionKey is common to all the passwords in the config.yml. If issue still persists, please open a support ticket by emailing to help@appdynamics.com with config.yml and machine-agent.log

 

servers:
  - displayName: Server1
    uri: "http://localhost:9200"
    username: ""
    #password: ""
    passwordEncrypted: ""
encryptionKey: ""

Thanks,

Bala 



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

Didn't really understand what you mean by "encryptionKey is common to all the passwords in the config.yml". I thought this is something we are setting it for each password while running the jar utility.

 

Command: java -cp "appd-exts-commons-1.1.2.jar" com.appdynamics.extensions.crypto.Encryptor encryptionKey password

 

used  Syntax "java -cp "appd-exts-commons-1.1.2.jar" com.appdynamics.extensions.crypto.Encryptor Hello@123 <My Password>"

And then updated the config.yml as

servers:
  - displayName: Server1
    uri: "http://localhost:9200"
    username: "User Name"
    #password: ""
    passwordEncrypted: "Encryptedpwd"

encryptionKey: "Hello@123"

 

Is this accurate way of using it?.

Yes, the structure is correct. For example if you are monitoring two ES servers using the extension, the encryptionKey remains the same for both the ES sever passwords.

 

servers:
- displayName: Server1
uri: "http://localhost:9200"
username: ""
passwordEncrypted: ""
- displayName: Server2
uri: "http://localhost:9200"
username: ""
passwordEncrypted: ""

encryptionKey: ""


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