... | ... | @@ -47,7 +47,7 @@ If we wish to compare monitoring solutions, we should generate some traffic insi |
|
|
|
|
|
#### Overview
|
|
|
|
|
|
[Prometheus](https://prometheus.io) is an open-source system monitoring tool. It is specifically targeted for highly dynamic container environments, such as `kubernetes`. It offers monitoring of many aspects of environment and automatic alerting. Prometheus works by collecting metrics from monitored targets by scraping the `/metrics` HTTP endpoint and stores these metrics to storage. We can use PromQL language to then query the stored metrics. While Prometheus allows same basic data visualization, we will use Grafana to visualize the data and Prometheus for scraping.
|
|
|
[Prometheus](https://prometheus.io) is an open-source system monitoring tool with support for alerting. It is specifically targeted for highly dynamic container environments, such as `kubernetes`. It offers monitoring of many aspects of environment and automatic alerting. Prometheus works by collecting metrics from monitored targets by scraping the `/metrics` HTTP endpoint and stores these metrics to storage. We can use PromQL language to then query the stored metrics. While Prometheus allows same basic data visualization, we will use Grafana to visualize the data and Prometheus for scraping.
|
|
|
|
|
|
#### Setup
|
|
|
|
... | ... | @@ -93,3 +93,12 @@ Dashboard requires a Bearer-token to access it for security reasons. To generate |
|
|
*Cluster overview*
|
|
|
![image](uploads/bb29daae555b527448b9666167b061ee/image.png)
|
|
|
*Minikube node*
|
|
|
|
|
|
## Jaeger
|
|
|
|
|
|
[Jaeger](https://www.jaegertracing.io) is an open source distributed tracing system used for monitoring micro-service based environments. In k8s cluster we usually have lots of services communicating with each other. When we start experiencing delays or other issues in our applications, it can be hard to find out which service is malfunctioning. That what tracing is for, it allows us to track each request from its origin to finish, how long each service too to respond and even if the service returned an error. Jaeger will collect these traces and allow us to perform operations on them.
|
|
|
|
|
|
#### Instrumentation
|
|
|
|
|
|
Instrumentation means that out application is emitting traces, metrics etc. Jaeger itself doesn't produce the traces, so we need and instrumenting framework. It is [recommended](https://www.jaegertracing.io/docs/1.40/getting-started/#instrumentation) to use [OpenTelemetry](https://opentelemetry.io)(OTel). OTel allows producing and sending of traces to a tracing backend like Jaeger. OTel has support for all of the most popular programming languages.
|
|
|
|