How to Use Graphite for Monitoring: A Practical Tutorial
Graphite is an open-source monitoring tool that stores time-series metrics and visualizes them through graphs. It works well for infrastructure and application monitoring, scaling from a single server to thousands of metrics. This guide covers the essentials to get started quickly.
1. Install Graphite Components
Graphite has three parts: Carbon (receives metrics), Whisper (stores data), and Graphite Web (renders graphs). The fastest way is Docker: run docker run -d --name graphite -p 80:80 -p 2003:2003 graphiteapp/graphite-statsd. This bundles Carbon, Whisper, and the web UI.

2. Send Metrics to Carbon
Metrics use a simple plaintext protocol: metric.path value timestamp. For example, echo "server.cpu.load 0.75 $(date +%s)" | nc localhost 2003. Use agents to automate this:
- collectd
- StatsD
- Telegraf
3. Query and Visualize
Open http://localhost to access Graphite Web. Use the query builder or functions like sum(), average(), and derivative() to transform data. Save graphs to dashboards for real-time monitoring.
4. Set Up Alerts and Retention
Alerting
Graphite does not alert natively. Pair it with Grafana or Bosun for alerting.
Retention
Configure Whisper retention in storage-schemas.conf to balance resolution and disk usageāfor example, keep 10-second data for 7 days and 1-minute data for 1 year.
Conclusion
Graphite is a powerful, flexible monitoring backbone. Install the components, push metrics via Carbon, and visualize them in Graphite Web. Add Grafana for alerts and dashboards to build a complete monitoring stack.