Splunk AppDynamics

How to monitor elastic search in Appdynamics 4.2.6

pbsuju
Explorer

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

Labels (1)
0 Karma

Raunak_Mohanty
Builder
0 Karma

pbsuju
Explorer

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"

0 Karma

Balakrishna_Vad
Explorer

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

0 Karma

pbsuju
Explorer

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"

0 Karma

Balakrishna_Vad
Explorer

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

0 Karma

pbsuju
Explorer

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)

0 Karma

Balakrishna_Vad
Explorer

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 

0 Karma

pbsuju
Explorer

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?.

0 Karma

Balakrishna_Vad
Explorer

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: ""
0 Karma

pbsuju
Explorer

Ok. After starting the maching agent with the account which run the Elastic serach process, it worked. Without any userId and password in the config file. I can see some custom metrics being collected now.

0 Karma
Get Updates on the Splunk Community!

Splunk AI Assistant for SPL | Key Use Cases to Unlock the Power of SPL

Splunk AI Assistant for SPL | Key Use Cases to Unlock the Power of SPL  The Splunk AI Assistant for SPL ...

Buttercup Games: Further Dashboarding Techniques (Part 5)

This series of blogs assumes you have already completed the Splunk Enterprise Search Tutorial as it uses the ...

Customers Increasingly Choose Splunk for Observability

For the second year in a row, Splunk was recognized as a Leader in the 2024 Gartner® Magic Quadrant™ for ...