MetricsΒΆ
Starting with goiardi v0.10.4, goiardi can export metrics about itself via statsd. In turn, statsd can feed these metrics into a time series database like graphite. Once in graphite, one could visualize the data with something like `grafana https://grafana.org`_, or set up alerts with that data in `bosun http://bosun.org`_.
At this time, goiardi exports via statsd metrics covering the runtime (memory usage, garbage collection, goroutines), API timing, information about chef-client runs, the number of nodes, and search timing.
The available metrics via statsd currently are:
node.count- number of nodes currently in the systemruntime.goroutines- number of goroutines runningruntime.memory.allocated- allocated memory in bytesruntime.memory.mallocs- number of mallocsruntime.memory.frees- number of times memory’s been freedruntime.memory.heap- size of heap memory in bytesruntime.memory.stack- size of stack memory in bytesruntime.gc.total_pause- how many nanoseconds goiardi has paused for garbage collection the whole time the process has been running.runtime.gc.pause_per_sec- pauses per secondruntime.gc.pause_per_tick- pauses per interval sending metrics to statsd (currently 10 seconds)runtime.gc.num_gc- number of garbage collectionsruntime.gc.gc_per_sec- gc per secondruntime.gc.gc_per_tick- gc per statsd tick (as above, every 10 secodns)runtime.gc.pause- timing of how long each gc pause lastsapi.timing.%s.%s, where “%s.%s” is the first part of the api endpoint path and the HTTP method (so, for example, a PUT to cookbooks would beapi.timing.cookbooks.put) - timing of API endpoint requestsclient.run.started- Count of started chef-client runsclient.run.success- Count of successful chef-client runsclient.run.failure- Count of failed chef-client runsclient.run.run_time- Timing of how longclient.run.total_resource_count- Total resources in a runclient.run.updated_resources- Total updated resources in a runsearch.in_mem- timing of in-memory searchessearch.pg- timing of Postgres-based searches