Interrupts Monitoring
Use This InfluxDB Integration for FreeAn interrupt request (or IRQ) is a signal sent to the processor that temporarily stops a running program and allows an interrupt handler to run instead. You may want to monitor the IRQs because they could be responsible for high CPU usage, which could have a significant impact on your application/environment's performance.
Why use a Telegraf plugin for Interrupts?
Interrupts are signals that are sent across IRQ by a hardware or software.
Interrupts can happen for a number of reasons and can temporarily stop the execution of a running program and invoke a special program called Interrupt Handler or ISR (Interrupt Service Routine). Monitoring the interrupts with the Interrupts Telegraf Plugin can help you understand where the issues lie in your environment or application - especially when combined with other key system metrics like CPU/memory utilization, disk etc.
How to monitor interrupts using the Telegraf plugin
The Interrupts Telegraf Input Plugin gathers metrics about IRQs from /proc/interrupts
and /proc/softirqs
. When set to true, cpu metrics are tagged with the cpu. Otherwise cpu is stored as a field. To filter which IRQs to collect, make use of tagpass / tagdrop, i.e. [inputs.interrupts.tagdrop]
and irq = [ "NET_RX", "TASKLET" ]
Key Interrupts metrics to use for monitoring
Some of the important Interrupts metrics that you should proactively monitor include:
With cpu_as_tag = false
:
- interrupts
- tags:
- irq (IRQ name)
- type
- device (name of the device that is located at the IRQ)
- cpu
- fields:
- cpu (int, number of interrupts per cpu)
- total (int, total number of interrupts)
- soft_interrupts
- tags:
- irq (IRQ name)
- type
- device (name of the device that is located at the IRQ)
- cpu
- fields:
- cpu (int, number of interrupts per cpu)
- total (int, total number of interrupts)
- tags:
With cpu_as_tag = true
:
- interrupts
- tags:
- irq (IRQ name)
- type
- device (name of the device that is located at the IRQ)
- cpu
- fields:
- count (int, number of interrupts)
- tags:
- soft_interrupts
- tags:
- irq (IRQ name)
- type
- device (name of the device that is located at the IRQ)
- cpu
- fields:
- count (int, number of interrupts)
- tags: