? Description
This project is a complete distributed monitoring and tracking application using OpenTelemetry, Grafana Tempo, Prometheus and Grafana. It collects and stores distributed traces and metrics associated with application operations, allowing visualization and analysis of both metrics and traces.
? Technologies Used
Grafana Tempo: Collects and stores distributed traces for telemetry analysis.
Prometheus: Collects metrics from applications and Grafana Tempo.
Grafana: Visualizes both metrics collected by Prometheus and Grafana Tempo traces.
Go (Golang): Application that emits metrics and traces using OpenTelemetry.
Docker Compose: Manages project containers and infrastructure.
PostgreSQL: Relational database to store Account and Payment information.
— -
? Requirements
Docker
Docker Compose
? Project Structure
.
├── docker-compose.yml # Configuration of all Docker services
├── prometheus.yml # Configuring Prometheus to collect metrics
├── otel-collector-config.yaml # OpenTelemetry Collector configuration
├── tempo.yaml # Grafana Tempo configuration
├── go-app/ # Go application code
│ ├── main.go # Main application file
│ └── internal/ # Handlers and application business logic
│ ├── account/ # Account-related logic
│ │ ├── handler.go # Handler for Account operations
│ ├── payment/ # Logic related to payments
│ │ ├── handler.go # Handler for Payment operations
└── README.md # This file
Repository: https://www.linkedin.com/posts/airton-lira-junior-6b81a661_opentelemetry-trace-golang-activity-7233603923104677890-Vz19?utm_source=share&utm_medium=member_desktop
The above is the detailed content of Golang with Opentelemetry, Prometheus, Grafana tempo OSS and Grafana standard. For more information, please follow other related articles on the PHP Chinese website!