Skip to content

Instantly share code, notes, and snippets.

@jburwell
Created November 19, 2014 14:34
Show Gist options
  • Save jburwell/b58b2a794bbdc1ac5e08 to your computer and use it in GitHub Desktop.
Save jburwell/b58b2a794bbdc1ac5e08 to your computer and use it in GitHub Desktop.
Riak collectd Configuration Templates
#
# Config file for collectd(1).
# Please read collectd.conf(5) for a list of options.
# http://collectd.org/
#
##############################################################################
# Logging #
#----------------------------------------------------------------------------#
# Plugins which provide logging functions should be loaded first, so log #
# messages generated when loading or configuring other plugins can be #
# accessed. #
##############################################################################
LoadPlugin "logfile"
<Plugin "logfile">
LogLevel "${log_level}"
File "${collectd_home}/var/log/collectd.log"
Timestamp true
</Plugin>
##############################################################################
# Global #
#----------------------------------------------------------------------------#
# Global settings for the daemon. #
##############################################################################
#Hostname "localhost"
FQDNLookup false
BaseDir "${collectd_home}/var/lib/collectd"
PIDFile "${collectd_home}/var/run/collectd.pid"
PluginDir "${collectd_home}/lib/collectd"
TypesDB "${collectd_home}/share/collectd/types.db"
#----------------------------------------------------------------------------#
# Interval at which to query values. This may be overwritten on a per-plugin #
# base by using the 'Interval' option of the LoadPlugin block: #
# <LoadPlugin foo> #
# Interval 60 #
# </LoadPlugin> #
#----------------------------------------------------------------------------#
Interval ${interval}
#Timeout 2
#ReadThreads 5
#WriteThreads 5
Include "${collectd_home}/etc/collect.d/*.conf"
LoadPlugin write_graphite
<Plugin write_graphite>
<Node "default">
Host "${endpoint_host}"
Port "${endpoint_port}"
Prefix "${prefix}."
#Postfix "collectd"
Protocol "${endpoint_protocol}"
StoreRates true
AlwaysAppendDS false
EscapeCharacter "_"
</Node>
</Plugin>
LoadPlugin curl_json
LoadPlugin processes
<Plugin curl_json>
<URL "http://${riak_http_host}:${riak_http_port}/stats">
Instance "riak"
<Key "coord_redirs_total">
Type "counter"
</Key>
<Key "memory_processes">
Type "bytes"
</Key>
<Key "memory_system">
Type "bytes"
</Key>
<Key "node_get_fsm_objsize_100">
Type "gauge"
</Key>
<Key "node_get_fsm_objsize_95">
Type "gauge"
</Key>
<Key "node_get_fsm_objsize_99">
Type "gauge"
</Key>
<Key "node_get_fsm_objsize_mean">
Type "gauge"
</Key>
<Key "node_get_fsm_objsize_median">
Type "gauge"
</Key>
<Key "node_get_fsm_siblings_100">
Type "gauge"
</Key>
<Key "node_get_fsm_siblings_95">
Type "gauge"
</Key>
<Key "node_get_fsm_siblings_99">
Type "gauge"
</Key>
<Key "node_get_fsm_siblings_mean">
Type "gauge"
</Key>
<Key "node_get_fsm_siblings_median">
Type "gauge"
</Key>
<Key "node_get_fsm_time_100">
Type "gauge"
</Key>
<Key "node_get_fsm_time_95">
Type "gauge"
</Key>
<Key "node_get_fsm_time_99">
Type "gauge"
</Key>
<Key "node_get_fsm_time_mean">
Type "gauge"
</Key>
<Key "node_get_fsm_time_median">
Type "gauge"
</Key>
<Key "node_get_fsm_rejected_60s">
Type "gauge"
</Key>
<Key "node_gets">
Type "gauge"
</Key>
<Key "node_gets_total">
Type "counter"
</Key>
<Key "node_put_fsm_time_100">
Type "gauge"
</Key>
<Key "node_put_fsm_time_95">
Type "gauge"
</Key>
<Key "node_put_fsm_time_99">
Type "gauge"
</Key>
<Key "node_put_fsm_time_mean">
Type "gauge"
</Key>
<Key "node_put_fsm_time_median">
Type "gauge"
</Key>
<Key "node_puts">
Type "gauge"
</Key>
<Key "node_puts_total">
Type "counter"
</Key>
<Key "node_put_fsm_rejected_60s">
Type "gauge"
</Key>
<Key "pbc_active">
Type "gauge"
</Key>
<Key "pbc_connects">
Type "gauge"
</Key>
<Key "pbc_connects_total">
Type "counter"
</Key>
<Key "pipeline_active">
Type "gauge"
</Key>
<Key "pipeline_create_one">
Type "counter"
</Key>
<Key "read_repairs">
Type "gauge"
</Key>
<Key "read_repairs_total">
Type "counter"
</Key>
<Key "read_repair">
Type "counter"
</Key>
</URL>
</Plugin>
<Plugin "processes">
ProcessMatch "riak" ".*beam.*riak.*"
</Plugin>
LoadPlugin aggregation
LoadPlugin cpu
LoadPlugin curl_json
LoadPlugin disk
LoadPlugin interface
LoadPlugin load
LoadPlugin memory
LoadPlugin processes
LoadPlugin swap
LoadPlugin vmem
##############################################################################
# Plugin configuration #
#----------------------------------------------------------------------------#
# In this section configuration stubs for each plugin are provided. A desc- #
# ription of those options is available in the collectd.conf(5) manual page. #
##############################################################################
<Plugin "aggregation">
<Aggregation>
Plugin "cpu"
Type "cpu"
GroupBy "Host"
GroupBy "TypeInstance"
CalculateSum true
CalculateAverage true
</Aggregation>
</Plugin>
<Plugin disk>
Disk "/^[hs]d[a-f][0-9]?$$/"
IgnoreSelected false
</Plugin>
# TODO Filter interfaces ...
<Plugin "swap">
ReportByDevice false
ReportBytes true
</Plugin>
<Plugin vmem>
Verbose false
</Plugin>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment