diff options
| author | Paul Buetow <paul@buetow.org> | 2025-12-30 21:29:05 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2025-12-30 21:29:05 +0200 |
| commit | 37a0ce2c6ad01a7439739c0794e74fd0b052bcae (patch) | |
| tree | 839cbd853e84b0d493d2c4336f36a95029a82d52 /f3s/prometheus-pusher/go.mod | |
| parent | c3705dda38a51b63825855c6ba21d645eb845a7c (diff) | |
Add Prometheus Pushgateway and data ingestion tool
This commit adds a complete Prometheus data ingestion solution:
1. Pushgateway Helm Chart (f3s/pushgateway/)
- Standalone helm chart for Prometheus Pushgateway
- Deployed to monitoring namespace
- Receives pushed metrics via HTTP POST on port 9091
2. Prometheus Pusher (f3s/prometheus-pusher/)
- Standalone Go binary (12MB) for pushing metrics to Pushgateway
- Demonstrates all Prometheus metric types:
* Counter (app_requests_total)
* Gauge (app_active_connections, app_temperature_celsius)
* Histogram (app_request_duration_seconds)
* Labeled Counter (app_jobs_processed_total)
- Pushes metrics every 15 seconds
- Includes comprehensive documentation and examples
3. Prometheus Configuration
- Updated additional-scrape-configs.yaml to scrape Pushgateway
- Uses honor_labels to preserve pushed metric labels
Architecture:
Go Binary → Pushgateway → Prometheus → Grafana
The pusher binary generates realistic example metrics and pushes them
to Pushgateway in Prometheus text format. Prometheus then scrapes the
Pushgateway and makes the metrics available for querying and alerting.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Diffstat (limited to 'f3s/prometheus-pusher/go.mod')
| -rw-r--r-- | f3s/prometheus-pusher/go.mod | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/f3s/prometheus-pusher/go.mod b/f3s/prometheus-pusher/go.mod new file mode 100644 index 0000000..4576c38 --- /dev/null +++ b/f3s/prometheus-pusher/go.mod @@ -0,0 +1,16 @@ +module prometheus-pusher + +go 1.21 + +require github.com/prometheus/client_golang v1.20.5 + +require ( + github.com/beorn7/perks v1.0.1 // indirect + github.com/cespare/xxhash/v2 v2.3.0 // indirect + github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect + github.com/prometheus/client_model v0.6.1 // indirect + github.com/prometheus/common v0.55.0 // indirect + github.com/prometheus/procfs v0.15.1 // indirect + golang.org/x/sys v0.22.0 // indirect + google.golang.org/protobuf v1.34.2 // indirect +) |
