Icinga2 + Graphite limit sent Data to specific hosts


I am using Icinga2 + Graphite each is on a separated server, on the Icinga Server i am using the carbon-relay and it is configured to send Data collected by Icinga to the Graphite server.
And the Graphite Server is configured to cache the received Data

is there a way to limit the sent Data to specific Hosts on Icinga Server by using the relay-rules.conf or something else ? because i wont send all captured Data by Icinga.

Thanks in Advance

I used the Icinga2 + Graphite in the past so my knowledge maybe rusty but I remember there was a flag for the service properties to not send the performance data to carbon.

enable_perfdata = false maybe

Hello Community,

I’ll try to explain it better now, what i am trying to do is:

Let’s say we have many hosts ,host1 host2 host3 etc. what i want is to send data only for host2 host3 to the Graphite Server but not the data from host1.

Icinga2 Server is running on a separatet Server than Graphite, on Icinga Server the carbon-relay is running and on the Graphite Server carbon-cache is running.


One possibility is to blacklist specific metrics.
See here:

Another possibility might be to set “enable_perfdata” based on a host variable, or something similar, in the service-definition:

# Host
object Host "your_funky_host" {
  vars.no_perfdata = true

# Service
apply Service { ...
  if (vars.no_perfdata) {
      enable_perfdata = false
  } else {
      enable_perfdata = true


1 Like

Hello again,

Actualy I won’t disable the the Perfdata in Icinga, what i want is to be able to limit Data that is sent to the other Graphite Server.

your suggested Solution will disable perfdata widely, also in Icinga.