How to have APM monitor ElasticSearch?

Document ID : KB000012736
Last Modified Date : 14/02/2018
Show Technical Document Details
Introduction:

  This came up as Community topic -- https://communities.ca.com/thread/241771169 and the essence is covered in this Knowledge Document.

Question:

  I want to pull data in Wily APM from ElasticSearch. How can I do this?

Environment:
All APM Releases.
Answer:

  Out of the box, this is not supported. However, some suggestions on possible ways to do this: 

 

   Overall Goal:  

  To get the data into CA APM, you need to "publish" the data.  Typically, this is via the EPAgent.

   This should be able to be done withe the ElasticSearch API.  There are a variety of mechanisms to bring data to the EPAgent for publishing, everything from log file scraping, command scraping, to RESTful with JSON.  

   Possible Next Steps: 

   1. Create an EP Agent to pull data from ElasticSearch using the Docker field pack as an example on how this can be done.

    https://communities.ca.com/external-link.jspa?url=https%3A%2F%2Fgithub.com%2FCA-APM%2Fca-apm-fieldpack-docker

   2. Get EPAgent and configure its REST API. (See https://docops.ca.com/ca-apm/10-5/en/implementing-agents/ep-agent/configure-the-epagent-restful-interface

 

  The EPA REST API will accept JSON data. Since ElasticSearch outputs JSON, you're alreadyclose to doing this. You need to parse/convert the ELK JSON into EPA REST accepted format (documented in the above URL). You could use Node.js or something else to do the pull/convert/push. Then you can push the data into APM EPA REST and have it display as APM metrics.