collectd-softirqs
is a Python plugin for Collectd that measures the rate at which the Linux kernel handles softirqs.
- Deploy the
softirqs.py
plugin into collectd's Python plugin directory (e.g./usr/lib/collectd/plugins/python
) - Configure the plugin (see below)
- Restart collectd
Add the following to your collectd configuration file:
<LoadPlugin python>
Globals true
</LoadPlugin>
<Plugin python>
ModulePath "/usr/lib/collectd/plugins/python"
Import "softirqs"
<Module softirqs>
Verbose false
</Module>
</Plugin>
The following options may be specified in the Module
configuration stanza:
Option | Type | Default | Description |
---|---|---|---|
Softirq |
String | - | Select this softirq to be collected (may appear multiple times) |
IgnoreSelected |
Boolean | False | If this is set to true , all selected softirqs are ignored and all others are collected |
Verbose |
Boolean | False | Enable verbose logging (not recommended) |
The collectd-softirqs
plugin is very similar to the Collectd's builtin IRQ plugin. It works by parsing the /proc/softirqs
file to extract data about the number of softirqs handled by the kernel since boot time.
You can run collectd-softirqs
from the command line as a simple python script. It will output something like this and exit immediately:
$ python softirqs.py
HRTIMER:4949
SCHED:1834967
BLOCK_IOPOLL:21
NET_TX:2920
RCU:1985467
TIMER:2095671
HI:68181
NET_RX:936
TASKLET:2829290
BLOCK:93491
This could be useful to get an idea of the values the plugin parses and dispatches to collectd.
This is an example graph (a mostly idle system) created using rrdgraph: