Is there a way to determine Business Impact programatically or from the command line?

Hi everyone,

I’m really struggling with this one. I need to determine the Business Impact of a Host/Service from the command line or via an API. What I need to replicate is the Business Impact option when looking at the Host or Service via Icingaweb. I cannot seem get the Business Process NodeID via the icingacli businessprocess command line as it only returns the Node Description.

Basically what I’m trying to do is to create a notification email showing the business impact of a host or service that is critical. I’ve tried using the business process check command to generate the notification, but an alarm does not get triggered when additional sub nodes fail in the Business Process. So I’m attempting to work the other way round:-

  1. Receive the alert on my notification script.
  2. Determine ALL the Business Processes affected.
  3. Run icingacli businessprocess process check “NodeID” --config “Config File” --details and add that to the Notification email for all affected Business Processes.
  4. Send the notification.

Any ideas?

Many thanks

Hi,

do you have a sample BP tree config for others to try out and better understand the issue?

Cheers,
Michael

Hi Michael,

Hope I can explain this better…

Below is the output of the Business Impact link in icingaweb2 on the critical service “VBS Queue Rate” on host “SERVER_A”.


As you can see there are two Business Processes impacted by this failure, showing the node statuses all the way down the tree.

I’m looking for a means to determine the impact (As above) of a service/host failure via an (API/command line) in my notification script.

I’ve found that sending notifications from a Business Process service check has a couple of shortcomings but I won’t go into that here…this is why I want to determine Impact from the standard host/service alert.

The “icingacli businessprocess” command due to it’s limitations requires a lot of going back and forth programmatically to determine business processes and nodes affected by host/service failure. One even has to read the .conf files to determine the node names. Ideally what I’m asking for could be a icingacli businessprocess command. E.g icingacli businessprocess check HOST SERVICE, and this would return BP’s and nodes affected.

The PHP code for “Business Impact” in the Business Process module does exactly what I need in icingaweb, only I’ve no idea how to hook into that as my PHP knowledge is beyond bad…

Hope this makes sense…

Cheer
Bruce