Diamond
To collect useful system metrics in Hosted Graphite such as System CPU, User CPU, Load Average, and Physical Memory you can use a python daemon called Diamond.
Diamond runs on your server, and intermittently sends these useful system metrics to Graphite. Here’s a quick primer on how to configure it.
Configuring Diamond
Download Diamond - Available at https://github.com/BrightcoveOS/Diamond.
Install Diamond - Follow the installation instructions at https://github.com/BrightcoveOS/Diamond/wiki/Installation.
Edit the config file - Usually located at
/etc/diamond/diamond.confAt the top of the config file, add the HostedGraphiteHandler
# Handlers for published metrics. handlers = diamond.handler.hostedgraphite.HostedGraphiteHandlerUnder the
[handlers][[HostedGraphiteHandler]]section, set:
apikey = YOUR_API_KEY timeout = 15 batch = 1Under the
[[default]]section, you can change how frequently metrics are reported:
On our servers we also enable collectors for network metrics and MySQL:
[[NetworkCollector]] enabled = True [[MySQLCollector]] enabled = True hosts = username:pass@localhost:3306/mysql, master = True innodb = TrueMore collectors - Here is a full list of Diamond collectors for various systems e.g. Hadoop, NetApp, Nginx, Postgres, RabbitMQ, Redis, and Zookeeper.
Start Diamond - Usually with
/etc/init.d/diamond startbut it may differ depending on your OS.
Diamond should now be configured to send data to Hosted Graphite and it will appear under the ‘servers’ entry in your tree of metrics. Once you start receiving Diamond metrics, an automatic Diamond dashboard will be created in your account which offers a great starting point and can be customized further.
Last updated
Was this helpful?