Hello Readers, I hope you liked my previous blog on kubernetes autoscaling through karpenter. Today in this blog we will know about an amazing tool called New Relic. Also we will see application performance observation through New Relic. which can be helpful in making applications reliable as well as highly available for consumers. New Relic is a observability platform for application performance which can be integrate with almost all cloud provider.
For any organization Performance of its application is a critical attribute. Admins must track application performance as traffic levels and infrastructure demands shift. Poor performance affects customer satisfaction and business revenue, and even compromises compliance.
Application performance monitoring platforms like New Relic which follow the behaviours of web and non-web applications that run across the business. When admins watch the performance of an application over time, they can validate provisioned resources, ensure adherence to customer SLAs and troubleshoot potential issues effectively which makes the application highly reliable and highly available for customers.
Now here questions arise that in the market many successful monitoring tools already exist and some are self hosted also, so what makes New Relic unique from them.
New Relic is built for full stack observability. It links all relevant data so that you get the whole picture of everything that enables your systems to deliver value to your customers, from the container running a microservice in the cloud to a mobile website’s shopping cart button.
Features of New Relic
New Relic APM software as a service has a feature set intended to collect data, analyze the data and report relevant performance metrics to IT administrators and other application stakeholders.
- Metrics gathering: It gathers metrics on web transactions, including response time on the web server side as well as metrics on individual HTTP requests. The tool also digs into the metrics of major database applications, such as SQL, to report response times and throughput, time per query, slow queries and other details that help pinpoint SQL statements that might bog down a website.
- Analytics: New Relic APM provides detailed error analytics that identify the exact error locations and classify the associated transactions and error types. Admins can filter results to tease out specific error details and attributes for each trace.
- Alerting and reporting. Its alerting model is based on transaction-level and access to transaction dashboards, topology maps and SLA compliance reports. A key transactions monitor tracks and reports the most important business transactions related to the application.
- Troubleshoot from anywhere: New Relic UI allows us to start observability journey from any element of your stack. For example, we can get to crucial infrastructure logs from traces of an application running on a problematic Kubernetes pod.
How New Relic works
- Metrics Collection and Storage: New Relic APM collects and stores metrics and data from web-based and other associated applications within the enterprise. New Relic receives data over the network and then processes and analyzes it. Users view the data through a dashboard-type interface.
- Use of Agents: Small segments of code installed into the application or application environment. Numerous agents handle a wide range of applications, and users can find agents in C (as an SDK), Go, Java, .NET, Node.js, PHP, Python and Ruby.
Administrators can review these details, identify any factors that might delay performance, and determine the root of the delays. Dashboards point out issues in real time and track trends over time. When an issue is discovered, administrators and developers can take corrective action — such as a code update — and then compare the performance differences to objectively determine the effect of any changes.
New Relic has numerous integrations to interoperate with tools across the enterprise. For example, the New Relic platform can integrate with alerting and collaboration tools such as PagerDuty, Campfire, HipChat and Slack. Ticketing and help desk integrations include Atlassian Jira, Lighthouse or Pivotal Tracker, and the tool can interoperate with a range of public cloud services from Amazon Web Services, Google and Microsoft Azure. Organizations can use APIs to create custom queries of metrics data and access data about error rates, application server performance and more.
I hope till now we have understood the theory part of new relic and it way of working now its time to do some hands on New relic. We are going to have some hands by integrating new relic with kubernetes
We will integrate new relic with GKE Cluster with the help of helm
- Find and copy your New Relic license key.
- Choose a display name for your cluster.
kubectl config current-context
- We deploy new relic with auto-installer of new relic.
- Select account in new relic.
- Select environment in which we want to deploy
After clicking on Begin installation we get redirected to installation method in which we chose helm3 option
Now we will run helm command to start installation.
helm repo add newrelic https://helm-charts.newrelic.com && helm repo update && \ kubectl create namespace newrelic ; helm upgrade --install newrelic-bundle newrelic/nri-bundle \ --set global.licenseKey=null \ --set global.cluster=new-relic-test-cluster \ --namespace=newrelic \ --set newrelic-infrastructure.privileged=true \ --set global.lowDataMode=true \ --set ksm.enabled=true \ --set kubeEvents.enabled=true
It will take few minutes to integrate with our cluster. We can check by running below command
kubect get pods -n newrelic
login in new relic account
We will also deploy Pixie for more data observation
Now we will login in our new relic account and we can see our GKE cluster in it and all stats for performance evaluation and monitoring.
Pros and Cons
- Querying data with their dialect/syntax.
- Inventory data around system and configuration.
- Mobile Monitoring.
- NRQL does a good job but not as sophisticated/able to be fine-tunes as a SQL Query.
- Limited New Relic Support at times – Good but sometimes limited.
- More on the storage size for JSON/text.
New Relic competitors
New Relic competitors include AppDynamics, Datadog, Dynatrace, SignalFx and Splunk Technology. An APM tool can be part of the IT toolset for years, so evaluate each prospective tool carefully — compare features, benefits and costs — prior to a final decision.
In the blog we saw how New Relic can help the teams in making their application perform better. This is an advanced tool and a must-have utility for advanced web and mobile environments. Configuring New Relic with any application is easy and new relic documentation covers every aspect of the application monitoring. That’s pretty much it for this blog. If you have any feedback or queries, please do let me know in the comments. Also, if you liked the article, please give me a thumbs up and I will keep writing blogs like this for you in the future as well. Keep reading and Keep coding.