title
Prometheus Monitoring - Steps to monitor third-party apps using Prometheus Exporter | Part 2

description
► Part of the DevOps Bootcamp 🚀 More infos here: https://bit.ly/3q9iWly Learn how to monitor any third-party application in Kubernetes using Prometheus Monitoring | MongoDB Exporter | Service Monitor and Service Discovery explained | Grafana ► Thanks Okteto for sponsoring this video! ► Get a 2 months free trial for Okteto Cloud Pro Plan here: https://cloud.okteto.com/#/promo/NANA2020 🚀 Full Prometheus Monitoring Tutorial: ► Prometheus explained: https://youtu.be/h4Sl21AKiDg ► Demo Part 1: Setup Prometheus Monitoring on Kubernetes using Prometheus Operator: https://youtu.be/QoDqxm7ybLc Demo Part 2: this video In this Prometheus Monitoring Tutorial I show you how to monitor a third party application, like Mysql, Mongodb, Redis or any other service running in your Kubernetes cluster using Prometheus Monitoring. I personally think this is a complex topic, simply because there are so many options and combinations of doing it and it’s also very badly documented. So it’s difficult to get a clear picture of how it works. And this is exactly what I want to address with this video. I will give you a good overview of all the different options and clear image of steps required to set up the monitoring. So no matter what application you have, you will know exactly how to configure its metrics collection for Prometheus. And here is what we are gonna do: * First we will deploy a Prometheus Operator in our Minikube cluster using a helm chart - this is a pretty easy step (Part 1 of demo!) * Second we will deploy a MongoDB application as an example * and then we will configure our MongoDB application for Prometheus monitoring using a MongoDB exporter I explain all the concepts, including Exporter, ServiceMonitor and so on as we go through the setup. So you understand with every step exactly what we are doing. ▬▬▬▬▬▬ T I M E S T A M P S ⏰ ▬▬▬▬▬▬ 0:00 - Intro 0:13 - Steps to monitor MongoDB (or any other third party application) metrics 2:06 - Prometheus Operator deployed - recap of part 1 5:13 - Service Monitor - How Prometheus discovers new targets? 8:10 - Deploy MongoDB application (Deployment and Service component) 8:56 - MongoDB Exporter - exposing MongoDB metrics 09:28 - What is a Exporter? 12:32 - 3 components you need when deploying an Exporter 13:40 - Deploy MongoDB Exporter using Helm Chart 19:37 - Check /metrics endpoint of MongoDB Exporter 20:35 - See new target in Prometheus UI 21:17 - See MongoDB metrics data in Grafana UI ▬▬▬▬▬▬ Useful Links 🛠 ▬▬▬▬▬▬ Git Repo ► https://gitlab.com/nanuchi/kubernetes-tutorial-series-youtube/-/tree/master/prometheus-exporter Official Prometheus Exporters List ► https://prometheus.io/docs/instrumenting/exporters/ #prometheus #prometheusmonitoring #devops #techworldwithnana ▬▬▬▬▬▬ Want to learn more? 🚀 ▬▬▬▬▬▬ Full Kubernetes and Docker tutorial ► https://bit.ly/2YGeRp9 Complete Jenkins Pipeline Tutorial ► https://youtu.be/7KCS70sCoK0 DevOps Tools, like Ansible, Terraform ► https://bit.ly/2W9UEq6 ▬▬▬▬▬▬ Maybe interesting for you 😎 ▬▬▬▬▬▬ 30% off Udemy course Logging in K8s with EFK stack ► https://bit.ly/2IkzZez Kubernetes 101 - cheatsheet for your work (handy ebook bundle) ► https://bit.ly/3mPIaiU ▬▬▬▬▬▬ Connect with me 👋 ▬▬▬▬▬▬ Join private Facebook group ► https://bit.ly/32UVSZP Don't forget to subscribe ► https://bit.ly/3mO4jxT DEV ► https://bit.ly/3h2fqiO INSTAGRAM ► https://bit.ly/2F3LXYJ TWITTER ► https://bit.ly/3i54PUB LINKEDIN ► https://bit.ly/3hWOLVT

detail
{'title': 'Prometheus Monitoring - Steps to monitor third-party apps using Prometheus Exporter | Part 2', 'heatmap': [{'end': 443.362, 'start': 429.713, 'weight': 0.869}, {'end': 1000.861, 'start': 952.935, 'weight': 0.891}, {'end': 1102.828, 'start': 1077.294, 'weight': 0.702}, {'end': 1184.532, 'start': 1163.579, 'weight': 0.843}], 'summary': 'Demonstrates setting up prometheus in a mini cube cluster to monitor a mongodb application, deploying prometheus and grafana, using service monitors for metrics collection, monitoring applications with prometheus exporter, managing deprecated helm charts, and configuring mongodb exporter in a kubernetes cluster.', 'chapters': [{'end': 96.115, 'segs': [{'end': 34.484, 'src': 'embed', 'start': 0.45, 'weight': 0, 'content': [{'end': 1.09, 'text': 'In this video,', 'start': 0.45, 'duration': 0.64}, {'end': 12.063, 'text': "I'm going to show you how to monitor a third party application like MongoDB or MySQL or any other service in Kubernetes using Prometheus.", 'start': 1.09, 'duration': 10.973}, {'end': 14.826, 'text': 'So our setup is going to look like this.', 'start': 12.703, 'duration': 2.123}, {'end': 17.949, 'text': "We're going to have a mini cube local cluster.", 'start': 15.246, 'duration': 2.703}, {'end': 25.236, 'text': 'And in the first part of this video series, I have already deployed a Prometheus operator using a helm chart.', 'start': 18.67, 'duration': 6.566}, {'end': 28.439, 'text': 'So if you want to know how the deployment works,', 'start': 25.777, 'duration': 2.662}, {'end': 34.484, 'text': 'how to install the helm chart and what are the components that get created when that chart is installed,', 'start': 28.439, 'duration': 6.045}], 'summary': 'Tutorial on monitoring third-party services in kubernetes using prometheus with a mini cube local cluster and a deployed prometheus operator using a helm chart.', 'duration': 34.034, 'max_score': 0.45, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/mLPg49b33sA/pics/mLPg49b33sA450.jpg'}, {'end': 96.115, 'src': 'embed', 'start': 46.754, 'weight': 1, 'content': [{'end': 58.859, 'text': "we're going to deploy a MongoDB application and we're going to expose the data of MongoDB or metrics of the MongoDB application using MongoDB exporter.", 'start': 46.754, 'duration': 12.105}, {'end': 69.464, 'text': "And once the metrics is exposed through a MongoDB exporter, we're going to allow Prometheus to scrape this data or this metrics.", 'start': 59.519, 'duration': 9.945}, {'end': 74.025, 'text': "And we're going to do that using another component, which is called service monitor.", 'start': 69.864, 'duration': 4.161}, {'end': 78.926, 'text': 'So along the process, I will explain all of these concepts in detail.', 'start': 74.525, 'duration': 4.401}, {'end': 87.449, 'text': 'I will explain what exporter is, what service monitor is so that you also understand the concept and then see how to use that in practice right away.', 'start': 79.006, 'duration': 8.443}, {'end': 96.115, 'text': "And finally, once we've configured all of these and Prometheus, start scraping the MongoDB application through the MongoDB exporter.", 'start': 87.949, 'duration': 8.166}], 'summary': 'Deploy mongodb app, expose metrics using mongodb exporter, scrape with prometheus', 'duration': 49.361, 'max_score': 46.754, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/mLPg49b33sA/pics/mLPg49b33sA46754.jpg'}], 'start': 0.45, 'title': 'Monitoring third party apps with prometheus in kubernetes', 'summary': 'Demonstrates setting up prometheus to monitor a mongodb application in a mini cube local cluster with a deployed prometheus operator and mongodb exporter, allowing prometheus to scrape the metrics exposed through a service monitor.', 'chapters': [{'end': 96.115, 'start': 0.45, 'title': 'Monitoring third party apps with prometheus in kubernetes', 'summary': 'Demonstrates setting up prometheus to monitor a mongodb application in a mini cube local cluster with a deployed prometheus operator and mongodb exporter, allowing prometheus to scrape the metrics exposed through a service monitor.', 'duration': 95.665, 'highlights': ['Deploying Prometheus operator using a helm chart and setting up a mini cube local cluster. The deployment process and components created when installing the helm chart should be understood before continuing with the video.', 'Deploying a MongoDB application in the cluster and exposing its metrics using MongoDB exporter. The process involves setting up and allowing Prometheus to scrape the exposed metrics via a MongoDB exporter.', 'Explaining the concepts of exporter and service monitor in detail for better understanding. The video provides detailed explanations of exporter and service monitor concepts for practical usage.']}], 'duration': 95.665, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/mLPg49b33sA/pics/mLPg49b33sA450.jpg', 'highlights': ['Deploying Prometheus operator using a helm chart and setting up a mini cube local cluster.', 'Deploying a MongoDB application in the cluster and exposing its metrics using MongoDB exporter.', 'Explaining the concepts of exporter and service monitor in detail for better understanding.']}, {'end': 312.681, 'segs': [{'end': 154.642, 'src': 'embed', 'start': 124.406, 'weight': 0, 'content': [{'end': 126.489, 'text': "So with that, let's get right in.", 'start': 124.406, 'duration': 2.083}, {'end': 132.235, 'text': 'For starting mini cube cluster.', 'start': 130.714, 'duration': 1.521}, {'end': 138.016, 'text': 'basically, you can execute this command, which starts the cluster with more resources than the default,', 'start': 132.235, 'duration': 5.781}, {'end': 143.858, 'text': 'because we are going to use a little bit more resources because Prometheus operator actually creates a lot of components.', 'start': 138.016, 'duration': 5.842}, {'end': 146.039, 'text': 'So it may need more resources.', 'start': 144.239, 'duration': 1.8}, {'end': 154.642, 'text': "I'm going to put the commands for starting a mini cube cluster and installing Prometheus operator in a repository for you to just copy it from there.", 'start': 146.439, 'duration': 8.203}], 'summary': 'Starting mini cube cluster with more resources for prometheus operator.', 'duration': 30.236, 'max_score': 124.406, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/mLPg49b33sA/pics/mLPg49b33sA124406.jpg'}, {'end': 265.446, 'src': 'embed', 'start': 213.795, 'weight': 1, 'content': [{'end': 225.238, 'text': 'So this will basically allow me to access the application that is running inside mini cube virtual box to access it on my local host through a browser.', 'start': 213.795, 'duration': 11.443}, {'end': 228.379, 'text': "So I'm going to do a cube city port forward service.", 'start': 225.278, 'duration': 3.101}, {'end': 231.52, 'text': 'This is the Prometheus application.', 'start': 229.459, 'duration': 2.061}, {'end': 243.357, 'text': "And then I'm going to need the port that it's running at, and this command will expose Prometheus UI at local host port 1990.", 'start': 233.18, 'duration': 10.177}, {'end': 255.163, 'text': 'I can actually copy this and type it here, and here you see Prometheus UI, and on the status targets I can actually see all the targets.', 'start': 243.357, 'duration': 11.806}, {'end': 257.084, 'text': "they're being scraped out of the box.", 'start': 255.163, 'duration': 1.921}, {'end': 259.946, 'text': 'So if I close all this I have a list of.', 'start': 257.685, 'duration': 2.261}, {'end': 263.204, 'text': 'all the endpoints of Prometheus is monitoring itself.', 'start': 260.802, 'duration': 2.402}, {'end': 265.446, 'text': 'The operator is getting scraped, et cetera.', 'start': 263.224, 'duration': 2.222}], 'summary': 'Using port forwarding, accessing prometheus ui at localhost:1990 to monitor targets.', 'duration': 51.651, 'max_score': 213.795, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/mLPg49b33sA/pics/mLPg49b33sA213795.jpg'}], 'start': 96.115, 'title': 'Deploying prometheus and grafana in minicube', 'summary': "Covers deploying prometheus and grafana in a minicube cluster, utilizing more resources due to the prometheus operator creating several components, including prometheus, grafana, alert manager, and prometheus operator, exposing prometheus ui using a cube city port forward command, and using prometheus ui to monitor targets and adding mongodb to the list of targets for scraping, all out of the box, with a mention of octeto cloud's kubernetes namespace management.", 'chapters': [{'end': 189.213, 'start': 96.115, 'title': 'Prometheus and grafana deployment', 'summary': 'Covers deploying prometheus and grafana in a mini cube cluster, utilizing more resources due to the prometheus operator creating several components, including prometheus, grafana, alert manager, and prometheus operator.', 'duration': 93.098, 'highlights': ['The chapter covers deploying Prometheus and Grafana in a mini cube cluster, utilizing more resources due to the Prometheus operator creating several components, including Prometheus, Grafana, alert manager, and Prometheus operator.', 'A command is provided to start the mini cube cluster with more resources than the default due to the resource requirements of the Prometheus operator.', 'The tutorial emphasizes the importance of following along for maximum benefit and recommends having a mini cube cluster installed as a prerequisite.', 'The speaker plans to provide commands for starting a mini cube cluster and installing Prometheus operator in a repository for easy access.']}, {'end': 243.357, 'start': 189.693, 'title': 'Exposing prometheus ui', 'summary': 'Covers the process of exposing prometheus ui using a cube city port forward command, allowing access to the application running inside minicube virtual box at local host port 1990.', 'duration': 53.664, 'highlights': ['Using Cube City port forward command to expose Prometheus UI at local host port 1990, allowing access to the application running inside MiniCube virtual box.', 'The process involves accessing the application through a browser after executing the Cube City port forward command.']}, {'end': 312.681, 'start': 243.357, 'title': 'Prometheus ui and service monitor', 'summary': "Demonstrates using prometheus ui to monitor targets and adding mongodb to the list of targets for scraping, all out of the box, with a mention of octeto cloud's kubernetes namespace management.", 'duration': 69.324, 'highlights': ['Using Prometheus UI to monitor targets and adding MongoDB to the list of targets for scraping Demonstrates the process of using Prometheus UI to monitor targets and adding MongoDB to the list of targets for scraping, all out of the box.', "Mention of Octeto Cloud's Kubernetes namespace management Acknowledges Octeto Cloud for making the video possible and highlights their offering of instant access to manage Kubernetes namespaces."]}], 'duration': 216.566, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/mLPg49b33sA/pics/mLPg49b33sA96115.jpg', 'highlights': ['The chapter covers deploying Prometheus and Grafana in a mini cube cluster, utilizing more resources due to the Prometheus operator creating several components, including Prometheus, Grafana, alert manager, and Prometheus operator.', 'Using Cube City port forward command to expose Prometheus UI at local host port 1990, allowing access to the application running inside MiniCube virtual box.', 'Using Prometheus UI to monitor targets and adding MongoDB to the list of targets for scraping Demonstrates the process of using Prometheus UI to monitor targets and adding MongoDB to the list of targets for scraping, all out of the box.']}, {'end': 539.347, 'segs': [{'end': 344.627, 'src': 'embed', 'start': 315.356, 'weight': 2, 'content': [{'end': 317.884, 'text': 'So if I go back to my cluster.', 'start': 315.356, 'duration': 2.528}, {'end': 329.159, 'text': "And I do keep city, I'll get service monitor I see a whole list of service monitors that the operator chart actually created.", 'start': 319.509, 'duration': 9.65}, {'end': 336.183, 'text': 'And these are exactly the service monitors that generate these targets list here.', 'start': 329.56, 'duration': 6.623}, {'end': 338.044, 'text': 'So these are exactly the same components.', 'start': 336.383, 'duration': 1.661}, {'end': 340.625, 'text': 'Service Monitor is a custom component.', 'start': 338.444, 'duration': 2.181}, {'end': 344.627, 'text': 'We can also see one of the service monitor components here.', 'start': 340.925, 'duration': 3.702}], 'summary': 'The operator chart created a list of service monitors for the cluster.', 'duration': 29.271, 'max_score': 315.356, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/mLPg49b33sA/pics/mLPg49b33sA315356.jpg'}, {'end': 403.172, 'src': 'embed', 'start': 372.011, 'weight': 0, 'content': [{'end': 385.443, 'text': 'Because this label allows Prometheus to find service monitors in the cluster and register them so that it can start scraping the application,', 'start': 372.011, 'duration': 13.432}, {'end': 390.948, 'text': 'or endpoint, which is right here, of the application that service monitor is pointing to.', 'start': 385.443, 'duration': 5.505}, {'end': 395.852, 'text': "So here you see it's pointing to Grafana at metrics endpoint.", 'start': 391.148, 'duration': 4.704}, {'end': 403.172, 'text': 'And this attribute basically allows service monitor itself to be discovered by Prometheus.', 'start': 397.97, 'duration': 5.202}], 'summary': "Service monitor label enables prometheus to discover and scrape application endpoints, such as grafana's metrics endpoint.", 'duration': 31.161, 'max_score': 372.011, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/mLPg49b33sA/pics/mLPg49b33sA372011.jpg'}, {'end': 460.194, 'src': 'heatmap', 'start': 429.713, 'weight': 1, 'content': [{'end': 431.835, 'text': 'So this one right here.', 'start': 429.713, 'duration': 2.122}, {'end': 434.837, 'text': "So we're going to check its configuration file.", 'start': 431.855, 'duration': 2.982}, {'end': 443.362, 'text': 'This And in this configuration file here, we have the specification, all the different configurations.', 'start': 437.48, 'duration': 5.882}, {'end': 448.065, 'text': 'And if you scroll all the way down this line here is interesting for us.', 'start': 443.402, 'duration': 4.663}, {'end': 453.429, 'text': 'It says service monitor selector match labels release Prometheus.', 'start': 448.146, 'duration': 5.283}, {'end': 460.194, 'text': 'So basically this says match all the service monitors that have a label release Prometheus.', 'start': 454.17, 'duration': 6.024}], 'summary': 'Config file contains specifications for matching service monitors with label release prometheus.', 'duration': 28.339, 'max_score': 429.713, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/mLPg49b33sA/pics/mLPg49b33sA429713.jpg'}, {'end': 539.347, 'src': 'embed', 'start': 477.815, 'weight': 3, 'content': [{'end': 488.918, 'text': "we're going to deploy MongoDB and we're going to configure everything so that MongoDB becomes one of the targets for Prometheus to collect its metrics.", 'start': 477.815, 'duration': 11.103}, {'end': 490.639, 'text': "So let's do that.", 'start': 489.838, 'duration': 0.801}, {'end': 494.38, 'text': "So first, we're going to create a deployment and a service.", 'start': 491.079, 'duration': 3.301}, {'end': 496.02, 'text': 'So pretty straightforward.', 'start': 494.86, 'duration': 1.16}, {'end': 499.997, 'text': 'I have this configuration file already created here.', 'start': 496.08, 'duration': 3.917}, {'end': 506.762, 'text': "So it's basically a simple deployment MongoDB image and ports defined here.", 'start': 500.437, 'duration': 6.325}, {'end': 508.843, 'text': "And we're creating a service for it.", 'start': 507.262, 'duration': 1.581}, {'end': 510.084, 'text': 'Pretty straightforward.', 'start': 509.283, 'duration': 0.801}, {'end': 516.207, 'text': "I'm also going to provide the YAML files that I use in this video in the repository so you can use them from there.", 'start': 510.164, 'duration': 6.043}, {'end': 519.65, 'text': "So I'm going to apply this in the cluster.", 'start': 517.068, 'duration': 2.582}, {'end': 533.403, 'text': 'out exporter and our deployment and service got created.', 'start': 525.518, 'duration': 7.885}, {'end': 535.965, 'text': 'So I have MongoDB pod getting created here.', 'start': 533.423, 'duration': 2.542}, {'end': 539.347, 'text': 'Cool. So now we have MongoDB pod running,', 'start': 536.605, 'duration': 2.742}], 'summary': 'Deployed mongodb as a prometheus target with a service and pod.', 'duration': 61.532, 'max_score': 477.815, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/mLPg49b33sA/pics/mLPg49b33sA477815.jpg'}], 'start': 315.356, 'title': 'Service monitors and mongodb deployment for prometheus', 'summary': 'Explains the role of service monitors in prometheus and the deployment of mongodb for prometheus metrics collection, covering configuration details and pod verification in the cluster.', 'chapters': [{'end': 477.815, 'start': 315.356, 'title': 'Understanding service monitors in prometheus', 'summary': "Explains the role of service monitors in prometheus, detailing their configuration and the importance of the 'release prometheus' label, which allows prometheus to discover and register service monitors for scraping applications and endpoints.", 'duration': 162.459, 'highlights': ["The 'Release Prometheus' label allows Prometheus to find and register service monitors for scraping applications and endpoints, enabling the discovery of service monitors using this attribute.", "The configuration file in Prometheus specifies matching service monitors with the label 'Release Prometheus', ensuring that service monitors without this label will not be discovered by Prometheus.", 'The chapter demonstrates the role of service monitors in generating targets for scraping applications and endpoints within a cluster, providing insights into the logic of how Prometheus discovers service monitors using specific attributes.']}, {'end': 539.347, 'start': 477.815, 'title': 'Deploying mongodb for prometheus', 'summary': 'Covers the deployment of mongodb and configuration for prometheus metrics collection, including creating a deployment and service, and verifying the mongodb pod creation in the cluster.', 'duration': 61.532, 'highlights': ['The chapter covers the deployment of MongoDB and configuration for Prometheus metrics collection.', 'Creation of a deployment and service for MongoDB.', 'Verification of MongoDB pod creation in the cluster.']}], 'duration': 223.991, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/mLPg49b33sA/pics/mLPg49b33sA315356.jpg', 'highlights': ["The 'Release Prometheus' label enables service monitor discovery.", 'Prometheus configuration specifies matching service monitors.', 'Demonstrates the role of service monitors in generating targets.', 'Covers deployment and configuration for Prometheus metrics collection.', 'Creation of a deployment and service for MongoDB.', 'Verification of MongoDB pod creation in the cluster.']}, {'end': 834.458, 'segs': [{'end': 639.161, 'src': 'embed', 'start': 567.99, 'weight': 0, 'content': [{'end': 580.419, 'text': 'Right So export is basically a translator between the applications, data or application metrics to metrics or data that Prometheus will understand.', 'start': 567.99, 'duration': 12.429}, {'end': 592.28, 'text': "So it's basically sitting between the application and Prometheus getting the data from the application and transforming it into data or metrics that Prometheus will be able to collect.", 'start': 580.859, 'duration': 11.421}, {'end': 599.846, 'text': 'an exporter itself will expose the slash metrics endpoint so that Prometheus will be able to scrape it from there.', 'start': 592.28, 'duration': 7.566}, {'end': 601.527, 'text': 'Right So it does two things.', 'start': 600.306, 'duration': 1.221}, {'end': 608.411, 'text': 'It collects the metrics data from the application and converts it to data understandable by Prometheus.', 'start': 602.007, 'duration': 6.404}, {'end': 617.698, 'text': 'And the second thing is it exposes these metrics at a slash metrics endpoint for Prometheus to be able to scrape them.', 'start': 608.752, 'duration': 8.946}, {'end': 619.479, 'text': 'So this is the role of the exporter.', 'start': 617.918, 'duration': 1.561}, {'end': 626.447, 'text': 'An exporter can be a separate deployment in the cluster independent of the application, which is a good thing,', 'start': 619.859, 'duration': 6.588}, {'end': 634.456, 'text': "because when you decide to monitor your application later, you don't have to change the deployment configuration file or service or anything.", 'start': 626.447, 'duration': 8.009}, {'end': 636.037, 'text': "You don't have to touch the application.", 'start': 634.476, 'duration': 1.561}, {'end': 639.161, 'text': "You just create an exporter if you don't want to monitor it.", 'start': 636.378, 'duration': 2.783}], 'summary': 'Exporters translate app data for prometheus, providing separate deployment and endpoint for scraping.', 'duration': 71.171, 'max_score': 567.99, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/mLPg49b33sA/pics/mLPg49b33sA567990.jpg'}, {'end': 703.322, 'src': 'embed', 'start': 664.201, 'weight': 3, 'content': [{'end': 667.124, 'text': 'hardware related stuff, messaging systems.', 'start': 664.201, 'duration': 2.923}, {'end': 675.171, 'text': 'So basically, for a lot of different applications, there are already exporters that you can use instead of having to create them.', 'start': 667.504, 'duration': 7.667}, {'end': 684.555, 'text': 'Right And here, if you notice in the Prometheus operator that we installed, there is a node exporter that gets deployed out of the box.', 'start': 675.632, 'duration': 8.923}, {'end': 686.196, 'text': 'So this is one of the exporters.', 'start': 684.855, 'duration': 1.341}, {'end': 687.676, 'text': 'And, as the name says,', 'start': 686.296, 'duration': 1.38}, {'end': 703.322, 'text': 'it is translating the metrics of the nodes of the cluster node in this case mini cube into data that Prometheus will understand and exposes that metrics data at slash metrics endpoint for Prometheus to scrape it.', 'start': 687.676, 'duration': 15.646}], 'summary': 'Prometheus operator includes a node exporter that translates node metrics into data for prometheus to scrape.', 'duration': 39.121, 'max_score': 664.201, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/mLPg49b33sA/pics/mLPg49b33sA664201.jpg'}, {'end': 767.491, 'src': 'embed', 'start': 716.449, 'weight': 6, 'content': [{'end': 720.032, 'text': 'Actually end up in a repository of MongoDB exporter.', 'start': 716.449, 'duration': 3.583}, {'end': 726.657, 'text': 'These exporters are also available as Docker images so you can also search them on Docker Hub actually.', 'start': 720.793, 'duration': 5.864}, {'end': 733.443, 'text': 'So if I write here MongoDB exporter.', 'start': 728.018, 'duration': 5.425}, {'end': 741.591, 'text': 'then I will find a list of a lot of one going to be exporters which are managed by different communities.', 'start': 735.509, 'duration': 6.082}, {'end': 745.712, 'text': 'And you should probably go with the one that has been recently updated.', 'start': 742.291, 'duration': 3.421}, {'end': 748.033, 'text': 'So, for example, this one right here.', 'start': 746.052, 'duration': 1.981}, {'end': 752.074, 'text': 'So you can actually find if there are any available like this.', 'start': 748.753, 'duration': 3.321}, {'end': 758.256, 'text': 'Now, there are three things or three components that you need to have when you deploy an exporter.', 'start': 752.574, 'duration': 5.682}, {'end': 767.491, 'text': 'So first of all, it will be the application itself in Docker image that the exporter application that will expose the metrics endpoint.', 'start': 758.703, 'duration': 8.788}], 'summary': 'Mongodb exporters are available as docker images, with multiple options to choose from. three components are needed when deploying an exporter.', 'duration': 51.042, 'max_score': 716.449, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/mLPg49b33sA/pics/mLPg49b33sA716449.jpg'}, {'end': 834.458, 'src': 'embed', 'start': 807.877, 'weight': 8, 'content': [{'end': 815.821, 'text': 'Now, we could, of course, go and create all those three components configuration files ourselves so we can create a deployment.', 'start': 807.877, 'duration': 7.944}, {'end': 823.191, 'text': 'service and the service monitor and put together all these attributes or my preferred way of doing it.', 'start': 816.306, 'duration': 6.885}, {'end': 831.536, 'text': 'We can search for a Helm chart that already has all these configuration files ready and configured,', 'start': 823.231, 'duration': 8.305}, {'end': 834.458, 'text': 'so that you can basically just install them with one command.', 'start': 831.536, 'duration': 2.922}], 'summary': 'Use helm chart to streamline deployment configuration and save time.', 'duration': 26.581, 'max_score': 807.877, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/mLPg49b33sA/pics/mLPg49b33sA807877.jpg'}], 'start': 539.347, 'title': 'Prometheus exporter monitoring', 'summary': 'Discusses deploying applications in a cluster and monitoring them using prometheus, utilizing exporters to translate application metrics into data understandable by prometheus, with each application having its own exporter and exposing metrics at a /metrics endpoint. it also highlights the role of exporters in monitoring applications, the benefits of separate deployments in the cluster, finding and installing exporters, and the availability of various exporters for different applications. additionally, it covers deploying mongodb exporter with prometheus, including finding and deploying the exporter, the necessary components required for deployment, and the use of helm charts for simplifying the process.', 'chapters': [{'end': 617.698, 'start': 539.347, 'title': 'Prometheus exporter monitoring', 'summary': 'Discusses deploying applications in a cluster and monitoring them using prometheus, utilizing exporters to translate application metrics into data understandable by prometheus, with each application having its own exporter and exposing metrics at a /metrics endpoint.', 'duration': 78.351, 'highlights': ['Exporters translate application metrics into data understandable by Prometheus Exporters act as translators between application metrics and data that Prometheus can understand.', 'Each application has its own exporter Every application, such as MongoDB, MySQL, Redis, etc., has its dedicated exporter.', 'Exporters expose metrics at a /metrics endpoint for Prometheus to scrape Exporters make the metrics available at a /metrics endpoint for Prometheus to scrape and collect.']}, {'end': 714.548, 'start': 617.918, 'title': 'Role of exporter in monitoring', 'summary': 'Discusses the role of exporters in monitoring applications, highlighting the benefits of using separate deployments in the cluster, finding and installing exporters, and the availability of various exporters for different applications.', 'duration': 96.63, 'highlights': ['An exporter can be a separate deployment in the cluster independent of the application, allowing easy monitoring without changing the deployment configuration file or service.', 'Prometheus offers a list of available exporters for different databases, hardware-related stuff, and messaging systems, providing a wide range of options for monitoring without needing to create custom exporters.', 'The Prometheus operator installs a node exporter by default, which translates node metrics into data that Prometheus understands and exposes the metrics data for scraping.', 'Official exporters from Prometheus itself are available for certain applications, such as MongoDB, simplifying the process of finding and installing exporters.', 'Exporters enable easy addition and removal for monitoring without affecting the application, providing flexibility and scalability in the monitoring process.']}, {'end': 834.458, 'start': 716.449, 'title': 'Deploying mongodb exporter with prometheus', 'summary': 'Discusses deploying mongodb exporter with prometheus, including finding and deploying the exporter, the necessary components required for deployment, and the use of helm charts for simplifying the process.', 'duration': 118.009, 'highlights': ['The chapter explains the process of finding MongoDB exporters, available as Docker images on Docker Hub, and recommends choosing an exporter managed by a recently updated community.', 'It emphasizes the three essential components required for deploying the exporter: the exporter application in a Docker image, a service for Prometheus to connect to the exporter, and a service monitor to notify Prometheus about the new application ready to be scraped.', 'The chapter suggests using Helm charts with pre-configured files for deploying MongoDB exporter, simplifying the installation process with one command.']}], 'duration': 295.111, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/mLPg49b33sA/pics/mLPg49b33sA539347.jpg', 'highlights': ['Exporters translate application metrics into data understandable by Prometheus', 'Each application has its own exporter', 'Exporters expose metrics at a /metrics endpoint for Prometheus to scrape', 'Prometheus offers a list of available exporters for different databases, hardware-related stuff, and messaging systems', 'An exporter can be a separate deployment in the cluster independent of the application, allowing easy monitoring without changing the deployment configuration file or service', 'Official exporters from Prometheus itself are available for certain applications, such as MongoDB, simplifying the process of finding and installing exporters', 'The chapter explains the process of finding MongoDB exporters, available as Docker images on Docker Hub, and recommends choosing an exporter managed by a recently updated community', 'It emphasizes the three essential components required for deploying the exporter: the exporter application in a Docker image, a service for Prometheus to connect to the exporter, and a service monitor to notify Prometheus about the new application ready to be scraped', 'The chapter suggests using Helm charts with pre-configured files for deploying MongoDB exporter, simplifying the installation process with one command']}, {'end': 979.844, 'segs': [{'end': 862.323, 'src': 'embed', 'start': 835.119, 'weight': 0, 'content': [{'end': 838.441, 'text': "So let's go back and check for MongoDB.", 'start': 835.119, 'duration': 3.322}, {'end': 843.184, 'text': 'Exporter Helm chart chart.', 'start': 840.542, 'duration': 2.642}, {'end': 849.895, 'text': 'And this is the first one in the search here.', 'start': 847.614, 'duration': 2.281}, {'end': 851.136, 'text': 'It says deprecated.', 'start': 849.955, 'duration': 1.181}, {'end': 854.458, 'text': 'This is something that happens often with Helm charts.', 'start': 851.196, 'duration': 3.262}, {'end': 856.119, 'text': 'They get deprecated.', 'start': 855.279, 'duration': 0.84}, {'end': 856.68, 'text': "They're moved.", 'start': 856.159, 'duration': 0.521}, {'end': 860.082, 'text': 'A lot of them have been moved to Prometheus community Helm charts.', 'start': 856.9, 'duration': 3.182}, {'end': 862.323, 'text': "So they're managed by the community.", 'start': 860.342, 'duration': 1.981}], 'summary': 'Mongodb exporter helm chart is deprecated, many moved to prometheus community helm charts.', 'duration': 27.204, 'max_score': 835.119, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/mLPg49b33sA/pics/mLPg49b33sA835119.jpg'}, {'end': 979.844, 'src': 'embed', 'start': 947.146, 'weight': 1, 'content': [{'end': 950.909, 'text': "It's clear this has been added.", 'start': 947.146, 'duration': 3.763}, {'end': 959.837, 'text': 'And now I can do Helm show values and we need a chart name.', 'start': 952.935, 'duration': 6.902}, {'end': 966.599, 'text': 'So Helm show values chart name will actually show me all the parameters that I can configure.', 'start': 960.597, 'duration': 6.002}, {'end': 974.822, 'text': 'And this is actually a YAML file and I can actually save them into values that YAML and open it in the editor.', 'start': 967.26, 'duration': 7.562}, {'end': 979.844, 'text': 'So these are all the default values and you can override any one of those.', 'start': 976.041, 'duration': 3.803}], 'summary': 'Using helm, you can view and configure parameters in a yaml file.', 'duration': 32.698, 'max_score': 947.146, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/mLPg49b33sA/pics/mLPg49b33sA947146.jpg'}], 'start': 835.119, 'title': 'Managing deprecated helm charts and configuring chart parameters', 'summary': 'Discusses the monitoring of deprecated helm charts, demonstrates installation of a mongodb exporter helm chart, and explains configuring chart parameters using helm show values command.', 'chapters': [{'end': 979.844, 'start': 835.119, 'title': 'Managing deprecated helm charts and configuring chart parameters', 'summary': 'Discusses the importance of monitoring deprecated helm charts, demonstrates how to find and install a mongodb exporter helm chart managed by prometheus community, and explains the process of configuring chart parameters using helm show values command.', 'duration': 144.725, 'highlights': ["The importance of monitoring deprecated Helm charts It's essential to monitor deprecated Helm charts to avoid installing unmaintained software, as many Helm charts, including the MongoDB exporter, have been moved to Prometheus community Helm charts.", 'Demonstration of finding and installing a MongoDB exporter Helm chart The chapter demonstrates the process of finding and installing a MongoDB exporter Helm chart managed by Prometheus community, which is a part of the list of all charts managed by the community.', 'Explanation of configuring chart parameters using Helm show values command The process of configuring chart parameters is explained, emphasizing the use of Helm show values command to display and override default values for specific charts, providing flexibility in deployment configurations.']}], 'duration': 144.725, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/mLPg49b33sA/pics/mLPg49b33sA835119.jpg', 'highlights': ['Demonstration of finding and installing a MongoDB exporter Helm chart managed by Prometheus community, which is a part of the list of all charts managed by the community.', 'Explanation of configuring chart parameters using Helm show values command, emphasizing the use of Helm show values command to display and override default values for specific charts, providing flexibility in deployment configurations.', 'The importance of monitoring deprecated Helm charts to avoid installing unmaintained software, as many Helm charts, including the MongoDB exporter, have been moved to Prometheus community Helm charts.']}, {'end': 1383.409, 'segs': [{'end': 1102.828, 'src': 'heatmap', 'start': 1003.377, 'weight': 0, 'content': [{'end': 1007.699, 'text': 'We need to tell MongoDB exporter how to connect to MongoDB.', 'start': 1003.377, 'duration': 4.322}, {'end': 1013.821, 'text': 'Right So we need to give you the service endpoint so that it can connect to the independently running MongoDB.', 'start': 1007.819, 'duration': 6.002}, {'end': 1015.902, 'text': 'So the endpoint is going to be.', 'start': 1014.182, 'duration': 1.72}, {'end': 1023.686, 'text': 'MongoDB protocol and MongoDB service.', 'start': 1018.323, 'duration': 5.363}, {'end': 1027.867, 'text': "That's the endpoint and.", 'start': 1026.146, 'duration': 1.721}, {'end': 1030.888, 'text': 'The port, right.', 'start': 1029.528, 'duration': 1.36}, {'end': 1035.771, 'text': 'So at this URI MongoDB is accessible.', 'start': 1031.528, 'duration': 4.243}, {'end': 1039.474, 'text': 'Now the second parameter service monitor additional labels.', 'start': 1036.551, 'duration': 2.923}, {'end': 1045.14, 'text': 'Remember I showed you this release Prometheus label that all the service monitors in the cluster have.', 'start': 1040.015, 'duration': 5.125}, {'end': 1056.85, 'text': 'Right This release Prometheus basically is a label that allows Prometheus to discover or to automatically find a new service monitor in the cluster.', 'start': 1045.66, 'duration': 11.19}, {'end': 1066.832, 'text': "And this chart by default doesn't add that release Prometheus label to service monitor, which kind of makes sense because that label can be different.", 'start': 1057.27, 'duration': 9.562}, {'end': 1073.573, 'text': 'So we have a possibility to add that label to the service monitor component that the chart will create.', 'start': 1067.272, 'duration': 6.301}, {'end': 1076.954, 'text': "So let's add that label right here.", 'start': 1074.473, 'duration': 2.481}, {'end': 1082.495, 'text': "So additional labels and I'm going to say release Prometheus.", 'start': 1077.294, 'duration': 5.201}, {'end': 1086.918, 'text': 'So now we have all the parameters we need for the chart.', 'start': 1083.516, 'duration': 3.402}, {'end': 1088.299, 'text': "So let's go and install it.", 'start': 1087.158, 'duration': 1.141}, {'end': 1090.28, 'text': "I'm going to copy the chart name again.", 'start': 1088.719, 'duration': 1.561}, {'end': 1096.204, 'text': "Let's clear this Helm install.", 'start': 1093.122, 'duration': 3.082}, {'end': 1102.828, 'text': "Let's call it MongoDB exporter in the chart name.", 'start': 1096.224, 'duration': 6.604}], 'summary': 'Configuring mongodb exporter to connect to mongodb and adding release prometheus label to service monitor for automatic discovery.', 'duration': 79.118, 'max_score': 1003.377, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/mLPg49b33sA/pics/mLPg49b33sA1003377.jpg'}, {'end': 1147.017, 'src': 'embed', 'start': 1111.686, 'weight': 4, 'content': [{'end': 1118.388, 'text': 'So the chart will take the values file as an attribute and it will apply all these parameters that we said here.', 'start': 1111.686, 'duration': 6.702}, {'end': 1120.088, 'text': "So I'm going to install it now.", 'start': 1118.868, 'duration': 1.22}, {'end': 1124.669, 'text': "And let's check.", 'start': 1123.869, 'duration': 0.8}, {'end': 1133.791, 'text': "We have MongoDB exporter and this is the chart version, so it's two point eight point one.", 'start': 1126.689, 'duration': 7.102}, {'end': 1139.933, 'text': 'and our pods or our pod must be running already.', 'start': 1135.231, 'duration': 4.702}, {'end': 1142.275, 'text': 'So this is the part of the exporter.', 'start': 1140.014, 'duration': 2.261}, {'end': 1147.017, 'text': "Let's also check that the service was created here.", 'start': 1142.795, 'duration': 4.222}], 'summary': 'Installing mongodb exporter chart version 2.8.1 and verifying pod and service creation.', 'duration': 35.331, 'max_score': 1111.686, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/mLPg49b33sA/pics/mLPg49b33sA1111686.jpg'}, {'end': 1192.857, 'src': 'heatmap', 'start': 1163.579, 'weight': 0.843, 'content': [{'end': 1165.3, 'text': 'And here is our service monitor.', 'start': 1163.579, 'duration': 1.721}, {'end': 1170.463, 'text': "Let's actually check that the label is there.", 'start': 1168.102, 'duration': 2.361}, {'end': 1175.066, 'text': 'And here you see release Prometheus.', 'start': 1172.685, 'duration': 2.381}, {'end': 1177.187, 'text': 'So everything looks good.', 'start': 1175.746, 'duration': 1.441}, {'end': 1184.532, 'text': 'So the first thing that we can do is check the end point of the exporter at slash metrics.', 'start': 1177.628, 'duration': 6.904}, {'end': 1186.933, 'text': "So let's see what data it's collecting.", 'start': 1184.752, 'duration': 2.181}, {'end': 1189.875, 'text': "So let's print out the services again.", 'start': 1187.413, 'duration': 2.462}, {'end': 1192.857, 'text': 'So this is the service.', 'start': 1191.716, 'duration': 1.141}], 'summary': 'Service monitor shows prometheus release with endpoint /metrics.', 'duration': 29.278, 'max_score': 1163.579, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/mLPg49b33sA/pics/mLPg49b33sA1163579.jpg'}, {'end': 1380.707, 'src': 'embed', 'start': 1353.31, 'weight': 1, 'content': [{'end': 1356.251, 'text': 'So I can see some of its metrics that has been collected.', 'start': 1353.31, 'duration': 2.941}, {'end': 1361.296, 'text': 'And of course, you can do some other visualization in Grafana from this metrics.', 'start': 1356.994, 'duration': 4.302}, {'end': 1371.762, 'text': 'So this is basically how you can configure metric scraping for any application in your Kubernetes cluster so that it can be monitored by Prometheus.', 'start': 1361.977, 'duration': 9.785}, {'end': 1378.866, 'text': 'You can apply the same concept for any other application like my sequel or some messaging services, et cetera.', 'start': 1372.243, 'duration': 6.623}, {'end': 1380.707, 'text': 'So I hope you learned a lot.', 'start': 1379.287, 'duration': 1.42}], 'summary': 'Configure metric scraping for applications in kubernetes to be monitored by prometheus, applicable to various services.', 'duration': 27.397, 'max_score': 1353.31, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/mLPg49b33sA/pics/mLPg49b33sA1353310.jpg'}], 'start': 980.164, 'title': 'Configuring mongodb exporter', 'summary': 'Discusses overriding parameters for mongodb exporter to connect to an independently running mongodb, and configuring metric scraping for a mongodb exporter in a kubernetes cluster, including adding labels, installing the chart, checking the services and service monitors, and visualizing the metrics in grafana.', 'chapters': [{'end': 1039.474, 'start': 980.164, 'title': 'Override parameters for mongodb exporter', 'summary': 'Discusses the need to override two parameters, the service endpoint and the additional labels attribute, for the mongodb exporter to connect to an independently running mongodb.', 'duration': 59.31, 'highlights': ['The need to override two parameters, the service endpoint and additional labels attribute, for the MongoDB exporter to connect to an independently running MongoDB.', 'Explaining the service endpoint required for the MongoDB exporter to connect to an independently running MongoDB, specifying the MongoDB protocol, MongoDB service, and the port.']}, {'end': 1383.409, 'start': 1040.015, 'title': 'Configuring metric scraping for prometheus', 'summary': 'Explains how to configure metric scraping for a mongodb exporter in a kubernetes cluster, including adding labels, installing the chart, checking the services and service monitors, and visualizing the metrics in grafana.', 'duration': 343.394, 'highlights': ["The MongoDB exporter chart doesn't add the release Prometheus label by default, so it needs to be manually added to the service monitor component created by the chart. The default MongoDB exporter chart does not include the release Prometheus label, requiring manual addition to the service monitor component created by the chart.", 'The chapter demonstrates the process of installing the MongoDB exporter chart and verifying the creation of pods, services, and service monitors, ensuring the correct labeling and functionality. The process of installing the MongoDB exporter chart is demonstrated, including verifying the creation of pods, services, and service monitors, ensuring correct labeling and functionality.', 'The exporter exposes metrics for Prometheus, with the service monitor automatically discovered by Prometheus in the cluster, eliminating the need to manually change the configuration file of Prometheus. The exporter exposes metrics for Prometheus, with the service monitor automatically discovered by Prometheus in the cluster, eliminating the need to manually change the configuration file of Prometheus.', 'The chapter concludes by demonstrating how to visualize the collected metrics in the Grafana UI, emphasizing the ability to apply the same concept to monitor other applications in the Kubernetes cluster. The chapter concludes by demonstrating how to visualize the collected metrics in the Grafana UI, emphasizing the ability to apply the same concept to monitor other applications in the Kubernetes cluster.']}], 'duration': 403.245, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/mLPg49b33sA/pics/mLPg49b33sA980164.jpg', 'highlights': ['The exporter exposes metrics for Prometheus, with the service monitor automatically discovered by Prometheus in the cluster, eliminating the need to manually change the configuration file of Prometheus.', 'The chapter concludes by demonstrating how to visualize the collected metrics in the Grafana UI, emphasizing the ability to apply the same concept to monitor other applications in the Kubernetes cluster.', 'The need to override two parameters, the service endpoint and additional labels attribute, for the MongoDB exporter to connect to an independently running MongoDB.', 'Explaining the service endpoint required for the MongoDB exporter to connect to an independently running MongoDB, specifying the MongoDB protocol, MongoDB service, and the port.', 'The chapter demonstrates the process of installing the MongoDB exporter chart and verifying the creation of pods, services, and service monitors, ensuring correct labeling and functionality.', "The MongoDB exporter chart doesn't add the release Prometheus label by default, so it needs to be manually added to the service monitor component created by the chart."]}], 'highlights': ['Deploying Prometheus operator using a helm chart and setting up a mini cube local cluster.', 'Deploying a MongoDB application in the cluster and exposing its metrics using MongoDB exporter.', 'Explaining the concepts of exporter and service monitor in detail for better understanding.', 'The chapter covers deploying Prometheus and Grafana in a mini cube cluster, utilizing more resources due to the Prometheus operator creating several components, including Prometheus, Grafana, alert manager, and Prometheus operator.', 'Using Cube City port forward command to expose Prometheus UI at local host port 1990, allowing access to the application running inside MiniCube virtual box.', 'Using Prometheus UI to monitor targets and adding MongoDB to the list of targets for scraping Demonstrates the process of using Prometheus UI to monitor targets and adding MongoDB to the list of targets for scraping, all out of the box.', "The 'Release Prometheus' label enables service monitor discovery.", 'Prometheus configuration specifies matching service monitors.', 'Demonstrates the role of service monitors in generating targets.', 'Covers deployment and configuration for Prometheus metrics collection.', 'Creation of a deployment and service for MongoDB.', 'Verification of MongoDB pod creation in the cluster.', 'Exporters translate application metrics into data understandable by Prometheus', 'Each application has its own exporter', 'Exporters expose metrics at a /metrics endpoint for Prometheus to scrape', 'Prometheus offers a list of available exporters for different databases, hardware-related stuff, and messaging systems', 'An exporter can be a separate deployment in the cluster independent of the application, allowing easy monitoring without changing the deployment configuration file or service', 'Official exporters from Prometheus itself are available for certain applications, such as MongoDB, simplifying the process of finding and installing exporters', 'The chapter explains the process of finding MongoDB exporters, available as Docker images on Docker Hub, and recommends choosing an exporter managed by a recently updated community', 'It emphasizes the three essential components required for deploying the exporter: the exporter application in a Docker image, a service for Prometheus to connect to the exporter, and a service monitor to notify Prometheus about the new application ready to be scraped', 'The chapter suggests using Helm charts with pre-configured files for deploying MongoDB exporter, simplifying the installation process with one command', 'Demonstration of finding and installing a MongoDB exporter Helm chart managed by Prometheus community, which is a part of the list of all charts managed by the community.', 'Explanation of configuring chart parameters using Helm show values command, emphasizing the use of Helm show values command to display and override default values for specific charts, providing flexibility in deployment configurations.', 'The importance of monitoring deprecated Helm charts to avoid installing unmaintained software, as many Helm charts, including the MongoDB exporter, have been moved to Prometheus community Helm charts.', 'The exporter exposes metrics for Prometheus, with the service monitor automatically discovered by Prometheus in the cluster, eliminating the need to manually change the configuration file of Prometheus.', 'The chapter concludes by demonstrating how to visualize the collected metrics in the Grafana UI, emphasizing the ability to apply the same concept to monitor other applications in the Kubernetes cluster.', 'The need to override two parameters, the service endpoint and additional labels attribute, for the MongoDB exporter to connect to an independently running MongoDB.', 'Explaining the service endpoint required for the MongoDB exporter to connect to an independently running MongoDB, specifying the MongoDB protocol, MongoDB service, and the port.', 'The chapter demonstrates the process of installing the MongoDB exporter chart and verifying the creation of pods, services, and service monitors, ensuring correct labeling and functionality.', "The MongoDB exporter chart doesn't add the release Prometheus label by default, so it needs to be manually added to the service monitor component created by the chart."]}