Component Development: Escalations
Posted: Mon Jun 18, 2012 1:38 pm
Is there a way to access notification & escalation information for hosts and services through the API?
Some or our application servers have multiple tiers, with some variance in services, which has made for a cluster of varying escalations.
Since escalations will only match host that have services specified, we have separate escalations steps for each. (some of which have 5-6 separate steps)
Example.
4 Web Servers
- 10 services each, 3 of which are not shared on all servers, 5 escalation steps
- Requires 15 escalation steps
10 App servers
- 18 services, two servers are non standard in checks, 5 escalation steps
- Requires 10 escalation steps
3 DB servers
- 40+ services, identical checks, 5 escalation steps each
- Requires 5 escalation steps
This is just one application stack, and we are currently monitoring around 15 similarly structured stacks.
All servers have different escalations during non-business hours.
So for this example, we have 60 escalation steps to meet the business needs for notifications.
I am trying to visually present notifications to our admins, to allow them to click on a host/service, and see all escalation steps and notification information related to this check without having to drill through what could be many escalations display with the info button.
While I believe I saw default notification information for the host/service in the backend API, it does not appear that it contains any information about escalations, nor notifications defined in templates.
I have managed to get some of this by direct DB queries, but I would like to find out if there is a better way to do that.
So...
1. Is there a way to access notification information for host/services, templates & escalations through the API.
if not
1. What is the best way to make DB queries in a component?
2. Is there a schema definition that would help to discover the mappings and table relationships in the DB?
Some or our application servers have multiple tiers, with some variance in services, which has made for a cluster of varying escalations.
Since escalations will only match host that have services specified, we have separate escalations steps for each. (some of which have 5-6 separate steps)
Example.
4 Web Servers
- 10 services each, 3 of which are not shared on all servers, 5 escalation steps
- Requires 15 escalation steps
10 App servers
- 18 services, two servers are non standard in checks, 5 escalation steps
- Requires 10 escalation steps
3 DB servers
- 40+ services, identical checks, 5 escalation steps each
- Requires 5 escalation steps
This is just one application stack, and we are currently monitoring around 15 similarly structured stacks.
All servers have different escalations during non-business hours.
So for this example, we have 60 escalation steps to meet the business needs for notifications.
I am trying to visually present notifications to our admins, to allow them to click on a host/service, and see all escalation steps and notification information related to this check without having to drill through what could be many escalations display with the info button.
While I believe I saw default notification information for the host/service in the backend API, it does not appear that it contains any information about escalations, nor notifications defined in templates.
I have managed to get some of this by direct DB queries, but I would like to find out if there is a better way to do that.
So...
1. Is there a way to access notification information for host/services, templates & escalations through the API.
if not
1. What is the best way to make DB queries in a component?
2. Is there a schema definition that would help to discover the mappings and table relationships in the DB?