Profundizando nagios.pdf

Vista previa de texto
1. Hostname varchar (objects)
2. Servicename varchar (objects) can be null
3. Consider Downtime boolean
4. Consider Acknowledge boolean
5. Consider Unknown boolean
6. Consider Warning boolean
7. The initial state boolean (true = up, false = down)
8. Startdate datetime
9. Stopdate datetime
10.
Debugflag boolean (Display some workflow output)
11.
quiet (No resultset, only inserts the values into a table → np_sla)
call np_checkAvailability('srv-web1', 'HTTP', true, true, true, true, null,
'2008-01-11 00:00:00', '2009-07-01 00:00:00', false, false);
sla_id
host_obje host_nam service_o service_n outage_p availabili
ct_id
e
bject_id
ame
ercent ty_percen
t
1
122
srv-web1 1761
HTTP
0.0227476 99.9772
Ejemplo de como llamar al procedimiento desde PHP5, para por ejemplo
conocer el SLA de x servicio en n cantidad de hosts.
$consulta ="SELECT nagios_hosts.display_name
FROM
nagios_hostgroups,nagios_instances,
nagios_hosts,nagios_hostgroup_members,
nagios_objects
WHERE
nagios_hostgroups.hostgroup_id=nagios_hostgroup_members.hostgroup_id
AND
nagios_hostgroup_members.host_object_id=nagios_hosts.host_object_id
AND
nagios_hostgroups.hostgroup_object_id=nagios_objects.object_id
AND
nagios_objects.name1 = '{hostgroup_a_consultar}'
ORDER BY nagios_hosts.display_name ASC";
$pdo = new PDO("mysql:dbname=nagios;host=127.0.0.1", "nagios","nagios");
$lista_hosts = $pdo->prepare($consulta);
$lista_hosts->execute();
$hosts = $lista_hosts->fetchall();
$service = "Servicio a consultar en los hosts";
foreach($hosts as $host) {
$query = $pdo->prepare("call np_checkAvailability('".$host['display_name']."',
'".$service."', false, false, false, false, true, '".$start_time."', '".
$end_time."', false, false)");
$query->execute();
print_r($query->fetch());
}
