go-rsyslog-pstats

Parses and forwards rsyslog process stats
to a local statsite, statsd, or wire
protocol compatible service
Getting set up
go-rsyslog-pstats is meant to be executed by rsyslog under
omprog
Once you have go-rsyslog-pstats installed you can add the following lines to your rsyslog config
and restart rsyslog
module(load="omprog")
ruleset(name="pstats"){
action(type="omprog" binary="/path/to/go-rsyslog-pstats --port 8125")
}
module(load="impstats" interval="10" severity="7" format="json" ruleset="pstats")
Output
All stats ingested will generally be put into the following format
rsyslog.<ORIGIN>.<NAME>.<STAT>
origin describes the type of module emitting the metrics ie. input modules, actions, etc.
name is the name assigned to the module either automatically or through configuration.
stat is the actual metric emitted by the module.
Each of the above parts are sanitized and will not contain .. This was primarily done to avoid
further nesting of values and to simplify graphing everything under a given module.
Examples
Actions generate the following:
rsyslog.core_action.custom_relp.failed:0|g
rsyslog.core_action.custom_relp.suspended:0|g
rsyslog.core_action.custom_relp.suspended_duration:0|g
rsyslog.core_action.custom_relp.resumed:0|g
rsyslog.core_action.custom_relp.processed:1223|g
Queues will generate the following (note this example is of a disk assisted queue, hence the _da):
rsyslog.core_queue.action_1_queue_da.size:0|g
rsyslog.core_queue.action_1_queue_da.enqueued:0|g
rsyslog.core_queue.action_1_queue_da.full:0|g
rsyslog.core_queue.action_1_queue_da.discarded_full:0|g
rsyslog.core_queue.action_1_queue_da.discarded_nf:0|g
rsyslog.core_queue.action_1_queue_da.maxqsize:0|g
Rsyslog runtime stats will look like:
rsyslog.resource_usage.nivcsw:6|g
rsyslog.resource_usage.utime:0|g
rsyslog.resource_usage.maxrss:4676|g
rsyslog.resource_usage.minflt:420|g
rsyslog.resource_usage.majflt:9|g
rsyslog.resource_usage.stime:8000|g
rsyslog.resource_usage.inblock:152|g
rsyslog.resource_usage.oublock:40|g
rsyslog.resource_usage.nvcsw:44|g
Inputs and dynstats are also supported but the
stats they emit are specific to each input module or configuration.