An 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)

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)
  • 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)

For more information, please check out the documentation.

Project URL   Documentation

Related Resources

CPU Telegraf Plugin

The CPU Telegraf Plugin gathers metrics on the system CPU that you can store in InfluxDB.

DNS Query Telegraf Plugin

Start collecting DNS Query metrics to understand performance, set thresholds and send alerts to avoid any issues.

Disk Telegraf Plugin

The Disk Telegraf Plugin gathers metrics about the disk usage of your apps, servers, and more.

Scroll to Top