Prometheus
In this blog we are going to discuss about the Prometheus. It is opensource Observability tool for the applications. As system architecture continue to get more and more complex, new challenges arise as tracking down issues become far more challenging. There's a greater need for observability as we move towards distributed systems & microservices based application. When it comes to troubleshooting issues, we need more information than just what is wrong. We need to know to know why our application entered a specific state, what component is responsible and how we can avoid it in the future. Why are error rates rising Why is there high latency Why are services timing out Observability gives you the flexibility to understand unpredictable events. How do we accomplish observability? Logging Metrics Tracing Logging Logs are records of events that have occurred and encapsulate information about the specific event. Logs are comprised of: Timestamp of when the log occured Message containing information Logs are the most common form of observation produced by systems. However, they can be difficult to use due to the verbosity of the logs outputted by the applications. Logs of processes are likely to be interwoven with other concurrent processes spread across multiple systems. Traces Traces allow you to follow operations as they traverses through various systems & services. So, we can follow an individual request and see it flow through our system hop by hop. Traces help us connect the dots on how processes and services work together. Each trace has a trace-id that can be used to identify a request as it traverses the system. Individual events forming a trace are called spans. Each span tracks the following: Start time Duration Parent-Id Metrics Metrics provide information about the state of a system using numerical values CPU Load Number of open files HTTP response times Number of errors The data collected can be aggregated over time and graphed using visualization tools to identify trends over time. Usecases Prometheus is primarily written in Go Lang.

In this blog we are going to discuss about the Prometheus. It is opensource Observability tool for the applications.
As system architecture continue to get more and more complex, new challenges arise as tracking down issues become far more challenging.
There's a greater need for observability as we move towards distributed systems & microservices based application.
When it comes to troubleshooting issues, we need more information than just what is wrong.
We need to know to know why our application entered a specific state, what component is responsible and how we can avoid it in the future.
- Why are error rates rising
- Why is there high latency
- Why are services timing out
Observability gives you the flexibility to understand unpredictable events.
How do we accomplish observability?
- Logging
- Metrics
- Tracing
Logging
Logs are records of events that have occurred and encapsulate information about the specific event.
Logs are comprised of:
- Timestamp of when the log occured
- Message containing information
Logs are the most common form of observation produced by systems.
However, they can be difficult to use due to the verbosity of the logs outputted by the applications.
Logs of processes are likely to be interwoven with other concurrent processes spread across multiple systems.
Traces
Traces allow you to follow operations as they traverses through various systems & services.
So, we can follow an individual request and see it flow through our system hop by hop.
Traces help us connect the dots on how processes and services work together.
Each trace has a trace-id that can be used to identify a request as it traverses the system.
Individual events forming a trace are called spans.
Each span tracks the following:
- Start time
- Duration
- Parent-Id
Metrics
Metrics provide information about the state of a system using numerical values
- CPU Load
- Number of open files
- HTTP response times
- Number of errors The data collected can be aggregated over time and graphed using visualization tools to identify trends over time.
Usecases
Prometheus is primarily written in Go Lang.