Transcript for:
Exploring New Relic for Application Performance

just so you know a bit about me I have a master's degree in software engineering and I'm currently working as a devops technologist in Bangalore India my skill set primarily involves application Performance Management which include both Enterprise and open source Tools in terms of Enterprise I've worked on multiple tools including data Dog app Dynamics New Relic spank and many other tools open source Ive worked on uh setting up Prometheus grafana alert manager Thanos cortex elastic stack and I also have scripting knowledge with python which is derived which U I'll be primarily using in setting up synthetic scripts for uh the Enterprise tools or any other the components in terms of container Technologies I worked on Docker Cloud Foundry kubernetes and devops tools I've set I used uh implemented the Monitoring Solutions using GitHub and also I've use jira for tracking the changes uh Cloud infrastructure I have experience in setting up applications in AWS and my domain experience include uh Insurance banking Telecom e-commerce chemical media media in terms of any media platforms that require Monitoring Solutions to be implemented in this demo we'll be exploring the powerful features of New Relic a comprehensive observability platform that provides realtime insights into the health and performance of your applications and infrastructure with mind Magics as a skill partner we are excited to show you how to get the most out of neur including monitoring troubleshooting alerting reporting and Analysis our goal is to provide you with a comprehensive understanding of how neur can help you proactively Monitor and manage your systems ensuring the reliability availability and performance of your applications whether you're are a developer IT professional or a business owner this course will help you with the tools and insights you need to optimize the performance of your systems and improve the user experience so sit back relax and let's dive into the world of neic with mind Magics within this course uh will be within this course demo outline uh we'll be going through this uh topics that would include application Performance Management uh introduction into New Relic how do we set up New Relic how we can effectively use New Relic to monitor the applications and troubleshooting the applications if any issue occurs that is using hudic and set up alerts and notifications whenever an issue occurs and the right notification channels be it slack or email or page duty to send to respective application owners reporting and Analysis would include setting up uh custom dashboards analyze Trends why those custom dashboards and set up uh PDF uh uh reporting for the clients who are application owners for those applications and in conclusion we'll derive the best practices that can be used to use new Rel effectively so what is application Performance Management application Performance Management is a practice of monitoring and managing the performance of your application availability and application availability of your software applications APM is all about ensuring the applications are performing as expected and that they are meeting the needs of the end users by monitoring key metrics such as response time throughput error rates and more you can identify and resolve issues faster than any normal log uh analysis that an an individual human can do Performance Management is basically the translation of it metrics into a business meing for example let's take for example an e-commerce application which would say I am an end user for that e-commerce application and I'm logging into it that application I'm buying a product I'm adding it to it to cart I'm doing a checkout I'm doing a payment those are all individual transactions which are converted into individual business meanings so as an end user if the transaction that I do like login and uh check out the tools like neur what it does is it captures individual metries for those transactions which we can further derive into uh what is the response time taken for that particular Transaction what is the uh errors if at all if it occurs when that particular transaction was done by an IND User it's also a practice to monitor application Insight so we can improve the performance of the application uh you improve uh end user EXP experience in terms of was I a satisfied end user when I was logging into that application and doing those individual transactions of buying a product also using tools like New Relic which basically primary which whose primary product is application Performance Management we can reduce errors issues and Trigger alerts or with respect to thresholds whenever they occur how is application monitoring performed say for example we have an e-commerce application that is running on a Windows host what we what application Performance Management tools does is it has a plug-in or an agent that would be running within the host where the application is running and the agent will post logs traces matrixes and events for that particular application using which we can perform Trends we can uh get performance trends at a glance uh get insights from an user perspective in terms of was I a satisfied user or dissatisfied user we can also do root cause analysis if at all if any incident or an issue occurs we can generate alerts on anomalies in terms of say I don't want a CP utilization to go more than 100 uh 95 or 90% And based on on which an alert needs to be triggered we can also track individual SQL statements say uh an application is making a database call uh to fetch a particular parameter and a call is supposed to the database has is supposed to return the output for that particular call and we can track it using application Performance Management tools like New Relic it also gives us code level Diagnostics in terms of say earlier I exam explained an example of a login transaction or a checkout transaction when I am an user I'm doing the transaction tools like neic what it does is it captures code level Diagnostics in terms of which class and Method or the code with respect to be java.net we can capture the class level or method level details for those particular transaction and further diagnos in terms of which class and Method took the maximum time uh or which class and method is causing an issue with respect to that particular transaction introduction into neic yeah we've jumped into the actual topic here neur Relic is a cloud-based software analytics company that provides monitoring observability and optimization solutions for software applications the company was founded in 2008 and is headed in San Francisco California neic offers a variety of products and services designed to help improve the performance and reliability of software applications and these would include application performance monitoring which is a new new relix flagship product which provides realtime performance and Analysis for web Mobile and other types of applications infrastructure monitoring allows us to monitor the health and performance of infrastructure including servers containers and cloud-based environments browser monitor monitoring is helps us understand the performance of the website or web applications from an end user perspective which includes uh helps us understanding getting metrics like page load time errors or JavaScript errors and much more synthetic monitoring is stimulating end user transactions with for the website or application that we monitor to identify potential issues before they impact the use real users synthetic monitoring again it's uh kind of like a b which does robotic transactions for a particular website it would be primarily written in Python script where in uh it's similar to uh a performance testing or which that can be done with load Runner but in terms of this one we can create alerts if that particular website transactions are not performing optimally say for example before a Monday morning peak time if our application is not running optimally before end users log into that particular application and do performance uh do transactions for this particular for within that particular application it would cause a big hazard in terms of loss to the particular company that runs that application so using two features like synthetic we can run stimulate you end user transactions and which gives us metric in terms of whether that application is running fine before an actual end user logs into that application mobile monitoring provides monitoring and error reporting for mobile apps on IOS and Android platforms log management helps us collect store and analyze logs from your applications and infrastructure neic products are designed to help improve their software include the company's software development and delivery process which helps in reducing downtime errors op and optimize their applications see in this diagram that we see over here the left side is where the application is running within a host and the right side is all the neur Relic components or to where the agent push the matrixes to within the host we see over here a different set of agent called infrastructure agent which fetches matrixes like CPU CPU utilization memory utilization dis input output or the dis space use so such kind of metric would be feted using the infrastructure agent which would also include a log uh forwarder which catches the metrics in terms of the logs for those particular for that particular application that is captured within the system APM agents depending on the flavor of the application be it Java net nodejs PHP Ruby or any of the any of the current flavors of the application and application performance model monitoring agent will be installed within the server and configured to monitor that particular application that using instrumentation called bite code instrumentation the agents whatever matrixes it captures it sends the matrixes to neic uh APM agents also captures something called as traces traces means it captures uh an application would be uh making calls to different services within it and the call to different services can be trapped using tra captured using traces that's also it's can be visible using feature call service map and the logs also directly send to the New Relic uh an admin or an user of New Relic can log into New Relic and capture these metries create custom dashboards set create alerts whenever the there's a breach in this in the metrix say for example if we are capturing CP utilization and the metrix is captured by neur when by then that is sent by the agents using New Relic we can set up thresholds for whenever those alerts are breached and send right notifications to respective channels either slack pag of Duty emails depending on the client requirement setting up New Relic is as easy as loging set clicking on the new Rel website selecting for free trial or depending on the type of uh monitoring required we can also go for a paid subscription from the new website once the free trial account or the PID subscription account is created we'll be getting access to the New Relic SAS platform which from where we can download the respective agents coming back to agents we have in New Relic there are different types of agents for each kind of monitoring that we'll be doing for infrastructure there's a separate set of agent called infrastructure agent for application there's an IPM application performance monitoring agent that again depends on the flavor of the application uh we can download the neur agent from the SAS neur platform and install agent within the host where the application is running once the agent is installed while for example if I'm creating an application monitoring agent I'm installing an application monitoring agent in the configuration section will be primarily need to give the application name so the same would be reflecting in the neur UI for better debugging or better identifying the issue and we can we have to en transaction tracing error reporting and custom instrumentation in terms of if there's a particular critical transaction that needs to be captured we can also create custom instrumentation while conflicting the agent once the agent is installed it will send matrixes to neur and and within the New Relic there would be users or admins or application owners who will be viewing those metric via New Relic and creating their own respective metric as creating alerts or dashboards for the same monitoring with New Relic New Relic provides a comprehensive suit of monitoring tools that can help you gain visibility into the performance and health of your software applications and infrastructure with monitoring of neic coming back to application performance monitoring neur relic's application performance monitoring tools allow us to monitor the performance of your applications in real time we can see detailed metries on response time errors throughput and more response time is the time taken for a particular transaction to load successfully and how much time it took for that transaction to be successful and if there is an issue for let's say for example a normal login transaction should be successful within say one second or two seconds but the actual transaction time is taking more than 5 Seconds that is an issue something that is happening from the application site or it's an issue at the infrastructure that is causing this application to downgrade infrastructure monitoring again using neur Relic allows us to monitor the health and performance of our application servers uh containers and cloud-based environment neur using neic we can see metric like CPU memory disc output Network input traffic and many more we can also set up alerts and thresholds whenever those alerts the metric are metric's alerts are breached in terms of here we can also monitor those infrastructures like say containers individual containers can be monitored that are running within the host uh using kubernetes cluster can be monitored AWS resource monitoring can also be enabled AWS resource monitoring also goes both ways one is we can monitor by placing an agent or we can integrate it with new AWS Cloud watch and fetch the metrics directly from cloud watch also and visualize the same within the new troubleshooting with New Relic uh using these are below parameters primarily an SM from New Relic would look into whenever an issue occurs that is primarily looking into in investigating on performance issues they can use New Relic to analyze various metric such as response time through put and error rates if at all when we see uh an issues happening for a particular application we you can check the overall performance of the application that is derived from the configuration i s i told earlier when installing an agent will'll be giving a name for that particular application and the same would be reflecting in the neic UI we can identify bottlenecks in terms of uh why an issue has occurred using New Relic we can use application monitoring performance monitoring Trace transaction traces to feature to drill down into the performance of individual transactions here wherein we can see which components is taking the most time and identify the bottleneck in the application stat analyze database queries we can use the DAT app APM database tab to analyze the performance of database queries and look for queries that are slow inefficient that that may be causing performance issues analyzing error rates using New Relic uh we can uh identify the frequency and the type of error rates that are occurring within the application and identify the problem monitor error rates is using neic uh APM error analytics feature analytics dashboard to monitor the fre we can monitor the frequency and the type of Errors occurring in the application we can also see which OCC errors are occurring most frequently and identify patterns analyze stack traces using the AP errors tab in New Relic we can see a detailed information about individual errors uh including the stack trees and environment variables this can help us identify the root cause and take corrective actions So based on the errors that's been identified can set up alerts to notify the respective application owners or the operations team that handles this errors we can start also diagnosing the problems within individual transactions say for example like I told a checkout transaction is having an issue we can trace the checkout transaction from within the application Neally Qi log into that go into that particular application and TR trace the transaction flow from with respect to seeing where all the transaction check out transaction has placed through we can analyze the trace data using a custom dashboard or using the service map feature of New Relic we can also compare the traces in terms of going into different timelines and seeing where an issu is happening with respect to that particular individual transaction and take action in terms of setting up alerts coming back to the mean and actual feature of uh neic that is setting up alerts and notifications based on the metries that neur has captured configuring alerts alerts can be configured based on the metric say for example I'm creating a neur relic alert for CPU utilization of the e-commerce application server that that I'm monitoring uh while creating the CPU utilization alert I'll be setting up a threshold for warning as 85 and critical alerting threshold for 90 so whenever uh the threshold is breached and it started at 85 host server has reached CP utilization of 85% an alert will be triggered saying a warning alert that will be triggered to the respective channels or application owners and whenever it reaches uh 95% it will be sent as critical so feature of setting up both warning and critical is useful in terms of we can mitigate the issue at the warning stage itself and not allow not allow the application server to reach 95% there are different application metries that can be used so one is for application performance monitoring metric that would include response time error rates uh the throughput how many calls per minute has happened infrastructure metrics again it include CPU memory dis utilization more again coming back to synthetics with with and mobile it will include the page load time uh the JavaScript errors for that particular application it's based on which by setting up thresholds an alert notification can be triggered so we using new Rel we can set up multiple uh not we can set up notification channels like uh email slack SMS page of Duty web hooks these candies needs to be integrated or enabled within the new Rel to send uh alerting via VIA these respective channels responding to alerts we can also set up escalation policy so that if an alert is not acknowledged or resolved within a certain period of time it can be escalated to a higher level of support one is we can also use the neic feature for this also we can we have the option of setting integrating it with service now which is an incident management tool which set which triggers an which when neic triggers an incident it will be integrated in integrated uh incident message will also be sent out via US s to the respective assignment group or the on call person who works on those issue reporting and Analysis neic has a nice feature of reporting and Analysis wherein we can generate reports analyze Trends and identify areas of improvement neic has pre-built in dashboards that can be used out of the box or we can create custom dashboard both based on the client specific needs analyzing Trends uh we can analyze Trends over a period of time and identify areas of improvement and track progress analyzing Trends can be primarily say for example uh there's the performance of performance testing team that does the performance testing for an application and does version based upgrade for that particular application and they are doing test every week or so and say they have done a test last week and captured those results in a particular custom dashboard and they are doing another round of test this week uh for the same uh number of parameters but of upgraded version and while running this after running this test the performance testing team can uh visualize the changes in this application for the a version upgrade in terms of was there any issues with CPU being high when the testing was done or was there any application in terms of high response time being happening within the application for this current version upgrade or if there is any memory utilization or if there is any uh jbm related issues like jbm Heap utilization going high or the garbage collection not happening so these Trends can be captured and analyzed over a period of time so for a better upgrade for their application once the issues are identified we need to ident idy what slow transactions are happening and optimize the code to improve performance we need to identify what are the error rates and diiz and fix those issues monitor infrastructure performance to identify bottlenecks in terms of why the CP utilization is going high or why the memory is going high also we can track user engagement in terms of for each transaction was he was a transaction satisfied for a particular user or does it needs Improvement coming to the conclusion in conclusion we will see in during the course in partnership with mind Magics which helps us gain realtime insights into the performance of their application with the with its comprehensive set of features neur includes application performance monitoring uh infrastructure monitoring browser monitoring and mobile monitoring error reporting and much more also we'll be seeing how neur monitoring and troubleshooting allows us to identify and resolve issues and reducing downtime and improving the user experience we'll also see how neix alerting and notification system that allows us to set up alerts based on various needs and events ensuring that uh the end user is notified of issues before it impacts the application with the reporting and Analysis we'll see how we can gain insights and beh into the behavior of the system identify Trends and patterns and take action and optimize the code whether optimize the code whether we are whether it's a small startup or a large Enterprise neur Relic can help us provide the tools and insights to ensure reliability availability and performance of the system some of the tips to use neic effectively would be to set up alerts create custom dashboards for that application monitor critical transaction collaborate with the teams keep update with the New Relic update new features that it releases best practices would be to monitor performance proactively and not reactively monitor endtoend transactions diagn issues quickly collaborate with teams say there are multiple teams that is database team the infrastructure monitoring team the application team that creates that application continuously optimize the performance of the application using NE Rel trouble shooting features again is same coming it's it involves monitoring the slow response time of IND usual transactions whenever they show occurs a capture height want visualize the transa height error rate transactions from the error transaction page uh Capt capture the infr issues and set up alerts synthetic failures as the primary one like I've given an example at the starting of this demo that I'm an end user uh before an inducer lcks in during the peak cars of Monday morning we can create synthetic uh testing within the New Relic and see if there are any failures for the particular application some of the projects that will be working during the course would be say setting up Java application monitoring application dependency mapping is again tracking the flow of a particular transaction from say an application C is being made to a database and how much time it take took to for the database to respond back uh error monitoring in terms of how to monitor how to uh do a root cause analysis whenever an issue occurs and how to set up alerts for the for that whenever the same issue occurs the team is notified and resolves that issue before it impacts the application how to set up log monitoring these are some of the projects that we will be delling into when we start the course the lab setup would Goode to follow this course uh let's go over the prerequisits and system requirements for this lab you'll need basic proficiency with Windows UI and Linux as well as Docker and get installed on the operating system you'll be using uh it's also fine we can install it uh I can explain if you don't know how to install Docker or get it's it doesn't take more than half an hour to set up that and we can use it rightly during the course tenure in addition it's important to note that neic agent run requires running kernel version of 2.6.3 2 or later and the network connectivity with firewall rules allowing outgoing traffic on Port 443 for system requirements if you're using Windows you will need a faster processor of 1.6 gz or faster uh dual code operating system with Windows 10 11 or 8 you'll need a minimum of 4 GB of RAM and 30 GB of hard disk displace if you'll be using Linux you'll need a minimum of 512 MB of memory and one core of CPU with these prerequisites and system requirements in mind we would be ready to get started with setting up New Relic agents during the course for additional course resources we can log into the neural documentation website and look into the getting started in visard to just get to know of the components that that New Uses to set up monitoring mock interview questions would include s for can you explain what is the real what what New Relic does and how does it benefit businesses how do you troubleshoot a performance issue when with within a web application how to implement New Relic in a production environment what is your experience with setting up alerts and dashboards in New Relic can you explain how distributed transaction works and and neic after attending this course one can easily plan for the below certifications of offer by neix Learning Center that would include neur certified performance Pro new certified performance engineer neural certified reliability [Music] engineer