When used together, these tools provide a comprehensive monitoring and observability solution:
- Instrument your .NET Core application to generate traces, metrics, and logs.
- Export the telemetry data to Prometheus (metrics) or other systems.
- Collects metrics from your app (via OpenTelemetry) and system (via NodeExporter).
- Stores metrics in a time-series database for querying and alerting.
- Provides hardware and OS-level metrics (e.g., CPU and memory) to Prometheus.
- Connects to Prometheus to visualize metrics in dashboards.
- Displays traces and logs from OpenTelemetry if configured with other backends (e.g., Jaeger, Loki).
- NodeExporter exposes server metrics (CPU, memory, etc.).
- Prometheus scrapes metrics from NodeExporter and your application (instrumented with OpenTelemetry).
- OpenTelemetry provides app-level telemetry data (traces, metrics, and logs).
- Grafana visualizes all collected data in custom dashboards for real-time monitoring and alerting.