Application monitoring in Azure Kubernetes cluster using new relic

305 views Asked by At

Requirement - New Relic monitoring for an application running in pods as part of a kubernetes cluster.

I have installed Kube-state-metrics on my cluster and able to see kubernetes dashboard using newrelic insights.

Also, need to configure the Application monitoring for the same. Following https://blog.newrelic.com/2017/11/27/monitoring-application-performance-in-kubernetes/ for the same.

Have some questions for the same -

  1. Can this be achieved using kube-state-metrics ?

  2. Do I need to have separate yaml file for each pod containing license key?

  3. Do I need to make changes in my application also or adding the information in spec will work?

  4. Do I need to install Java agent in every pod? If yes, will it eat resources?

Somehow, Installation of application monitoring is becoming complex. Please explain the exact requirement of installation

1

There are 1 answers

1
Lev Kuznetsov On

You didn't mention your stack, you should follow instructions on their site for your language. Typically you just pull in their agent library and configure credentials to get started. You should not have a reason to tell your pods apart, so the agent credentials should be the same for all pods

Installing agents at infrastructure will let you have infrastructure data. So you'll get alerts if you're running out of memory/space/cpu and such. Infrastructure agent cannot possibly know about application data. If you want application performance data (apm) you need to install the agent at the application level too and you'll get data such as http request rates, error rates and response times if it's a webserver. You can also annotate current transaction with data which is all application specific. They have a bunch of client agents, see if there's one for your stack. For example all you need for a nodejs service is require('newrelic') at the top of your app and configuration