Overview
This template provides a production‑ready Graphite instance as a Monk runnable. You can:- Run it directly to get a managed Graphite container with sensible defaults
- Inherit it in your own runnable to seamlessly add time-series metrics storage and visualization to your stack
What this template manages
- Graphite container (
graphiteapp/graphite-statsdimage, configurable tag) - Network services:
- Web UI on port 80
- Carbon plaintext protocol on port 2003
- StatsD management on port 8126
- Time-series data storage and visualization
Quick start (run directly)
- Load templates
- Run Graphite with defaults
- Customize port (optional)
variables.
- Preferred: inherit and customize variables as shown below.
- Alternative: fork/clone and edit the
variablesingraphite.yml, thenmonk load MANIFESTand run.
http://localhost:80 (or the configured gui_port) and send metrics to port 2003.
Configuration
Key variables you can customize in this template:Use by inheritance (recommended for apps)
Inherit the Graphite runnable in your application to add metrics collection. Example:Ports and connectivity
- Service:
gui-svcon TCP port80(web UI, configurable viagui_port) - Service:
plaintext-svcon TCP port2003(Carbon plaintext protocol for metrics ingestion) - Service:
management-svcon TCP port8126(StatsD management interface) - From other runnables in the same process group, use
connection-hostname("\<connection-name>")to resolve the Graphite host.
Sending metrics to Graphite
You can send metrics using the plaintext protocol on port 2003:Features
- Time-series data storage with Whisper database
- Real-time graphing and visualization
- Multiple data retention policies
- Carbon plaintext and pickle protocols
- Built-in StatsD daemon
- HTTP API for data queries
- Dashboard creation and sharing
- Graphite Query Language (GQL) for data manipulation
Related templates
- Combine with
grafana/for advanced visualization and dashboards - Integrate with
telegraf/for comprehensive metrics collection - Use with
prometheus/for additional monitoring capabilities
Troubleshooting
- If the web UI is not accessible, verify that the
gui_portis not already in use and check firewall rules. - Ensure metrics are being sent to the correct port (2003 for plaintext protocol).
- Check logs:
- To verify metrics are being received, check the web UI’s “Composer” view or query the API directly.