Use IcingaDB as Default with Monitoring Disabled

I’ve been struggling to find a solution on how to enable IcingaDB as the default view without having to disable the monitoring module.

I have the Grafana module (v1.4.2) installed, and that is reliant on the monitoring module. I dont think the Grafana module is under active dev anymore.

Does anyone know of a way to keep Grafana (or update it somehow to work under IcingaDB) and have Monitoring disabled?

TIA

Hi,

that the monitoring module must be enabled for the grafana integration to work is only a bug. It will be resolved with the next minor update and the monitoring module only needs to be installed, not enabled.

Thanks, for anyone who wants to get it working with the monitoring module disabled, git clone the newest copy of the Grafana module, and then modify the follwing IcingaDB module file

/usr/share/icingaweb2/modules/icingadb/library/Icingadb/Widget/Detail/ObjectDetail.php

Line 450

Comment out (/* */)

if (! Module::exists('monitoring')) {
  return $extensions;
}

Disable the monitoring module, and you’re off

Ref…

And if you want the time frame buttons to work, modify

/usr/share/icingaweb2/modules/grafana/library/Grafana/ProvidedHook/Grapher.php

and search for this relevant stanza, and modify it accordingly

if ($this->object instanceof Host) {
            $this->cacheTime = $this->object->host_next_check - $this->object->host_last_check;
            $serviceName = $this->object->check_command;
            $hostName = $this->object->host_name;
            $parameters = array(
               'name' => $this->object->host_name,
            );
            /*$link = 'monitoring/host/show';*/
              $link = 'icingadb/host';
        } elseif ($this->object instanceof Service) {
            $this->cacheTime = $this->object->service_next_check - $this->object->service_last_check;
            $serviceName = $this->object->service_description;
            $hostName = $this->object->host->getName();
            $parameters = array(
                'host.name' => $this->object->host->getName(),
                'name' => $this->object->service_description,
            );
            /*$link = 'monitoring/service/show';*/
              $link = 'icingadb/service';
        }