Skip to content

prami/gomon

Repository files navigation

gomon

Small Go service wired with OpenTelemetry metrics, an OTLP collector, and a Prometheus/Grafana front-end. Handy for verifying instrumentation patterns or trying out dashboard ideas before rolling them into real systems.

Ingredients

  • Go HTTP handler exposes one endpoint, adds custom counters/histograms, and streams runtime stats via otelruntime (main.go).
  • OTLP gRPC exporter feeds the collector, which batches and re-exports as a Prometheus target (otel-collector.yaml).
  • Prometheus scrapes the collector (prometheus.yml) and Grafana provisions that datasource and optional dashboards on startup.
  • Docker Compose connects the services, runs the app through Air for hot reloads, and stores Prometheus/Grafana data on volumes.

Quick start

docker compose up --build

When everything is running:

Reference points

  • main.go – instrumentation setup, runtime metrics, graceful shutdown.
  • otel-collector.yaml – OTLP receiver + Prometheus exporter.
  • prometheus.yml – scrape configuration.
  • docker-compose.yml – service topology and env wiring.

About

Go service + OTel + Prometheus/Grafana stack

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors