Vspheredb using perfdata

Hello everyone,

I am trying to use perfdata for check where I need to be alarmed

My service declaration :

apply Service "icingacli-vspheredb-datastore" {
  import "service-10m
  display_name = "Check datastore TEST
  check_command = "icingacli-vspheredb
  vars.vspheredb_check_mode = "datastore
  vars.vspheredb_object_name = "Datastore-TEST
  vars.vspheredb_perfdata = true
  vars.notifications = [ ]

  assign where "vmware_vcenter" in host.groups
}

Check command used :

object CheckCommand "icingacli-vspheredb" {
    import "plugin-check-command"
    command = [ "/usr/bin/icingacli", "vspheredb", "check" ]
    timeout = 1m
    arguments += {
        "(no key)" = {
            order = 1
            required = true
            skip_key = true
            value = "$vspheredb_check_mode$"
        }
        "--name" = {
            order = 2
            required = false
            value = "$vspheredb_object_name$"
        }
        "--perfdata" = {
            order = 3
            required = false
            set_if = "$vspheredb_perfdata$"
        }
    }
}

When I go to influx: no perfdata

time                acknowledgement current_attempt downtime_depth execution_time hostname                    latency  max_check_attempts reachable service                       state state_type
----                --------------- --------------- -------------- -------------- --------                    -------  ------------------ --------- -------                       ----- ----------
1645082459000000000 0               1               0              0.054609       xxx.xxx.net              0.000293        3                  true      icingacli-vspheredb-datastore 0     1
> 

When I try the command directly: no perfdata
icingacli vspheredb check datastore --name "Datastore-TEST" --perfdata

Has anyone ever been able to use perfdata?

Edited your post according to our Markdown Guidelines, please check them for future posts!
Hope this helps getting answers :slight_smile:

Hello,

we have the same problem to get vmware host performace data (cpu/memory). Vspheredb seems collecting performance data form the virtual machines but not from hosts itself:


The data in HostCpu table come only from the virtual servers.

Our Check command is '/usr/bin/icingacli' 'vspheredb' 'check' 'host' '--name' 'our-esxi-host.net' '--rule' 'ComputeResourceUsage/CpuUsage' '--perfdata' and it seems that there is no effect of --perfdata parameter. We are missing e.g. CpuUsage performance data for our esxi-host for that check command in influxdb .

Are there some examples how to use the --perfdata parameter correctly?

I would appreciate feedback, thank you.