0

what I've found in the internet regarding instrumenting application for prometheus monitoring is, people are instrumenting their app (python, go) by hard coding the application. So, they are all developers. From the devops perspective, how to instrument a huge application?

I am a DevOps engineer not a developer. I want to instrument company's current app which back end is C++ and 200+ developers are working on it. I have to monitor SOAP, GUI, DWM, TENENT, IFS etc. How can I plan my workflow? Note: Currently it is monitored by Icinga, planned to move to prometheus, Grafana.

bobs
  • 55
  • 8

2 Answers2

0

As a DevOps engineer you need to write exporters to fetching data from your services. So you should have a little development knowledge about Python or Golang.

You can check exporters list in this page.

If no one has developed the exporter you need, you have to develop it yourself.

Finally, you should be able to extract metrics from your services and monitor them using Prometheus and Grafana.

Xirehat
  • 1,155
  • 1
  • 8
  • 20
-1

As a DevOps engineer, there are a few different ways to instrument a large C++ application for Prometheus monitoring:

Automate instrumentation: One approach is to automate the instrumentation process as much as possible, using tools like Prometheus' client libraries, or third-party tools like OpenCensus. This can help to ensure that the instrumentation is consistent across the entire application, and can reduce the burden on individual developers.

Use a Service Mesh: If your application is running in a containerized environment, consider using a service mesh like Istio or Linkerd that can automatically instrument your services for Prometheus monitoring.

Use a Middleware: Another approach is to use a middleware that can automatically instrument your SOAP and DWM services for Prometheus monitoring.

Use a Wrapper: Another approach is to use a wrapper that can automatically instrument your GUI and TENENT services for Prometheus monitoring.

Create a centralized instrumentation system: Create a centralized system that can be used to instrument all the services of the application. This can be done by creating a library that developers can include in their code.

Plan your workflow: Once you have identified the best approach for your application, create a detailed plan that outlines the steps that need to be taken to instrument the application, and identify any potential roadblocks or challenges that may arise.

Consider the migration: When migrating from Icinga to Prometheus, make sure you have a plan in place to ensure that all of your existing monitoring data is retained and that there is minimal disruption to your services.

Integrate Grafana: Integrate Grafana with Prometheus to give you a complete monitoring and visualization solution, this will help you to identify issues and anomalies in your application quickly.

Finally, it is important to communicate with the development team and to make sure they understand the benefits of instrumenting the application for Prometheus monitoring and how it will help them in their work.