Skip to content

Latest commit

 

History

History
77 lines (65 loc) · 2.57 KB

service-monitoring.adoc

File metadata and controls

77 lines (65 loc) · 2.57 KB

Service Monitoring

New Relic

Download and Configure Agent

  1. Sign up for a new account: https://newrelic.com/signup

  2. Login and select ‘Get Started’

  3. From ‘Choose your language’, select ‘Java’

  4. Download the Java Agent zip file and unzip

  5. Configure the license in newrelic.yml

  6. Set enable_auto_app_naming to true in newrelic.yml. This will ensure that multiple microservices deployed in same instance of application server will be monitored in their own namespace. More details at: https://docs.newrelic.com/docs/agents/java-agent/configuration/automatic-application-naming

Deploy the Application

  1. Clone the workspace: git clone https://github.com/arun-gupta/microservices.git

  2. Start WildFly application server: ./bin/standalone.sh

  3. Change the directory to microservice and deploy as mvn install -Pwildfly

  4. Access the application at http://localhost:8080/everest-web

  5. Go through the application flow and shop around

Show Stats

  1. Access http://rpm.newrelic.com, select Applications to see the output

    newrelic applications
    Warning
    The data shown in the dashboard is updated after a few seconds as it is collected every minute. There is no way to change this setting for now.
  2. Select an application, say “everest-web”

  3. Click on “Transactions”, “/Faces Servlet” to see more details about the application:

    newrelic everest web faces servlet
  4. Scroll down and select on “Breakdown table” and show the % distribution

    newrelic everest web breakdown table
  5. Click on the first row (as that is most time consuming resource). This is also the external microservice that is being invoked.

    newrelic catalog item rest
  6. Click on “Service Maps” at the top to show how different services are interacting with each other:

    newrelic service map
    Warning
    This service map is a snapshot of how different microservices are interacting at the current moment. It does not provide historical data at this time.

TODO: . How to show the SQL query? . Response times . Errors and timeouts . Request flow . System resources (CPU, network, disk) . JVM pressure (threads GC, mem) . Apdex score