]>
Commit | Line | Data |
---|---|---|
adf72a57 MWP |
1 | --- npc/extinfo.php.orig 2005-10-10 14:17:15.000000000 +0000 |
2 | +++ npc/extinfo.php 2006-12-26 16:32:52.000000000 +0000 | |
3 | @@ -1,1473 +1,1473 @@ | |
4 | -<?php | |
5 | -/* | |
6 | - +-------------------------------------------------------------------------+ | |
7 | - | Nagios Plugin 0.1a for cacti 0.8.6f | | |
8 | - | Copyright (C) 2005 Billy Gunn (billy@gunn.org) | | |
9 | - | | | |
10 | - | This program is free software; you can redistribute it and/or | | |
11 | - | modify it under the terms of the GNU General Public License | | |
12 | - | as published by the Free Software Foundation; either version 2 | | |
13 | - | of the License, or (at your option) any later version. | | |
14 | - | | | |
15 | - | This program is distributed in the hope that it will be useful, | | |
16 | - | but WITHOUT ANY WARRANTY; without even the implied warranty of | | |
17 | - | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | | |
18 | - | GNU General Public License for more details. | | |
19 | - +-------------------------------------------------------------------------+ | |
20 | - | Cacti and Nagios are the copyright of their respective owners. | | |
21 | - +-------------------------------------------------------------------------+ | |
22 | -*/ | |
23 | - | |
24 | -chdir('../../'); | |
25 | -include_once("./include/auth.php"); | |
26 | -include_once("./include/config.php"); | |
27 | - | |
28 | -// Refresh the page at a user supplied interval | |
29 | -header("Refresh: " . read_config_option("npc_refresh") . "; URL=" . $_SERVER["REQUEST_URI"]); | |
30 | - | |
31 | -/* set default action */ | |
32 | -if (!isset($_REQUEST["type"])) { $_REQUEST["type"] = ""; } | |
33 | - | |
34 | -switch ($_REQUEST["type"]) { | |
35 | - case '1': | |
36 | - | |
37 | - hostInfo(); | |
38 | - include_once("./include/bottom_footer.php"); | |
39 | - break; | |
40 | - | |
41 | - case '2': | |
42 | - | |
43 | - serviceInfo(); | |
44 | - include_once("./include/bottom_footer.php"); | |
45 | - break; | |
46 | - | |
47 | - default: | |
48 | - | |
49 | - hostInfo(); | |
50 | - include_once("./include/bottom_footer.php"); | |
51 | - break; | |
52 | -} | |
53 | - | |
54 | - | |
55 | -function formatTime($time) { | |
56 | - | |
57 | - $days = floor($time/60/60/24); | |
58 | - $time -= $days*60*60*24; | |
59 | - $hours = floor($time/60/60); | |
60 | - $time -= $hours*60*60; | |
61 | - $minutes = floor($time/60); | |
62 | - $time -= $minutes*60; | |
63 | - $seconds = $time; | |
64 | - | |
65 | - return ($days . "d " . $hours . "h " . $minutes . "m " . $seconds . "s"); | |
66 | -} | |
67 | - | |
68 | - | |
69 | -function serviceInfo() { | |
70 | - | |
71 | - $hostid = $_REQUEST["hostid"]; | |
72 | - $serviceid = $_REQUEST["serviceid"]; | |
73 | - $hostname = $_REQUEST["hostname"]; | |
74 | - $serviceName = ereg_replace("\+", " ", $_REQUEST["service"]); | |
75 | - | |
76 | - | |
77 | - if (isset($_POST["local_graph_id"])) { | |
78 | - db_execute("update npc_service set cacti_graph_id = " . $_POST["local_graph_id"] . " where id = " . $serviceid); | |
79 | - header("Location: extinfo.php?type=2&hostid=" . $hostid . "&hostname=" . $hostname . "&serviceid=" . $serviceid . "&service=" . $_REQUEST["service"]); | |
80 | - } | |
81 | - | |
82 | - include_once("top_npc_header.php"); | |
83 | - | |
84 | - $background1 = "#F5F5F5"; | |
85 | - $background2 = "#E7E9F2"; | |
86 | - $rowColor = $background1; | |
87 | - | |
88 | - $service_detail = db_fetch_row(" | |
89 | -select distinct | |
90 | - service_soft_state as 'Current Status', | |
91 | - duration as 'State Duration', | |
92 | - check_command as 'Check Command', | |
93 | - plugin_output as 'Plugin Output', | |
94 | - performance_data as 'Performance Data', | |
95 | - current_attempt as 'Current Attempt', | |
96 | - from_unixtime(last_check) as 'Last Check', | |
97 | - from_unixtime(next_check) as 'Next Check', | |
98 | - check_latency as 'Check Latency', | |
99 | - check_execute_time as 'Check Duration', | |
100 | - hostid, | |
101 | - name, | |
102 | - host_soft_state as 'Host Soft State', | |
103 | - host_notifications as 'Host Notifications', | |
104 | - service as 'Service', | |
105 | - cacti_graph_id, | |
106 | - serviceid, | |
107 | - service_hard_state, | |
108 | - service_notifications as 'Service Notifications', | |
109 | - max_attempts as 'Max Attempts' | |
110 | -from | |
111 | - ( | |
112 | - select | |
113 | - npc_host.id as hostid, | |
114 | - npc_host.name, | |
115 | - npc_hostgroup_membership.groupid as hostgroup, | |
116 | - npc_host_history.soft_state as host_soft_state, | |
117 | - npc_host.notifications_enabled as host_notifications, | |
118 | - npc_service.id as serviceid, | |
119 | - npc_service.cacti_graph_id, | |
120 | - npc_service.service_description as service, | |
121 | - npc_service_history.soft_state as service_soft_state, | |
122 | - npc_service_history.hard_state as service_hard_state, | |
123 | - npc_service.notifications_enabled as service_notifications, | |
124 | - npc_service_check.last_check, | |
125 | - npc_service_check.next_check, | |
126 | - npc_service_check.check_execute_time, | |
127 | - npc_service_check.check_latency, | |
128 | - npc_service_check.check_command, | |
129 | - npc_service_check.performance_data, | |
130 | - unix_timestamp() - npc_service_history.started as duration, | |
131 | - npc_service_history.current_attempt, | |
132 | - npc_service_check.max_attempts, | |
133 | - npc_service_history.plugin_output | |
134 | - from | |
135 | - npc_host, | |
136 | - npc_host_history, | |
137 | - npc_hostgroup_membership, | |
138 | - npc_service, | |
139 | - npc_service_check, | |
140 | - npc_service_history | |
141 | - where | |
142 | - npc_host.id = npc_hostgroup_membership.hostid and | |
143 | - npc_host.id = npc_service.hostid and | |
144 | - npc_host.id = npc_host_history.hostid and | |
145 | - npc_service.id = npc_service_check.serviceid and | |
146 | - npc_service.id = npc_service_history.serviceid and | |
147 | - npc_service_history.lasted is null and | |
148 | - npc_host_history.lasted is null and | |
149 | - npc_service.configured = TRUE and | |
150 | - npc_service.has_been_checked = TRUE and | |
151 | - npc_host.has_been_checked = TRUE | |
152 | - union | |
153 | - select | |
154 | - npc_host.id as hostid, | |
155 | - npc_host.name, | |
156 | - 0 as hostgroup, | |
157 | - npc_host_history.soft_state as host_soft_state, | |
158 | - npc_host.notifications_enabled as host_notifications, | |
159 | - npc_service.id as serviceid, | |
160 | - npc_service.cacti_graph_id, | |
161 | - npc_service.service_description as service, | |
162 | - npc_service_history.soft_state as service_soft_state, | |
163 | - npc_service_history.hard_state as service_hard_state, | |
164 | - npc_service.notifications_enabled as service_notifications, | |
165 | - npc_service_check.last_check, | |
166 | - npc_service_check.next_check, | |
167 | - npc_service_check.check_execute_time, | |
168 | - npc_service_check.check_latency, | |
169 | - npc_service_check.check_command, | |
170 | - npc_service_check.performance_data, | |
171 | - unix_timestamp() - npc_service_history.started as duration, | |
172 | - npc_service_history.current_attempt, | |
173 | - npc_service_check.max_attempts, | |
174 | - npc_service_history.plugin_output | |
175 | - from | |
176 | - npc_host, | |
177 | - npc_host_history, | |
178 | - npc_service, | |
179 | - npc_service_check, | |
180 | - npc_service_history | |
181 | - where | |
182 | - npc_host.id not in (select hostid from npc_hostgroup_membership) and | |
183 | - npc_host.id = npc_service.hostid and | |
184 | - npc_host.id = npc_host_history.hostid and | |
185 | - npc_service.id = npc_service_check.serviceid and | |
186 | - npc_service.id = npc_service_history.serviceid and | |
187 | - npc_service_history.lasted is null and | |
188 | - npc_host_history.lasted is null and | |
189 | - npc_service.configured = TRUE and | |
190 | - npc_service.has_been_checked = TRUE and | |
191 | - npc_host.has_been_checked = TRUE | |
192 | - union | |
193 | - select | |
194 | - npc_host.id as hostid, | |
195 | - npc_host.name, | |
196 | - npc_hostgroup_membership.groupid as hostgroup, | |
197 | - -1 as host_soft_state, | |
198 | - npc_host.notifications_enabled as host_notifications, | |
199 | - npc_service.id as serviceid, | |
200 | - npc_service.cacti_graph_id, | |
201 | - npc_service.service_description as service, | |
202 | - npc_service_history.soft_state as service_soft_state, | |
203 | - npc_service_history.hard_state as service_hard_state, | |
204 | - npc_service.notifications_enabled as service_notifications, | |
205 | - npc_service_check.last_check, | |
206 | - npc_service_check.next_check, | |
207 | - npc_service_check.check_execute_time, | |
208 | - npc_service_check.check_latency, | |
209 | - npc_service_check.check_command, | |
210 | - npc_service_check.performance_data, | |
211 | - unix_timestamp() - npc_service_history.started as duration, | |
212 | - npc_service_history.current_attempt, | |
213 | - npc_service_check.max_attempts, | |
214 | - npc_service_history.plugin_output | |
215 | - from | |
216 | - npc_host, | |
217 | - npc_hostgroup_membership, | |
218 | - npc_service, | |
219 | - npc_service_check, | |
220 | - npc_service_history | |
221 | - where | |
222 | - npc_host.id = npc_hostgroup_membership.hostid and | |
223 | - npc_host.id = npc_service.hostid and | |
224 | - npc_service.id = npc_service_check.serviceid and | |
225 | - npc_service.id = npc_service_history.serviceid and | |
226 | - npc_service_history.lasted is null and | |
227 | - npc_service.configured = TRUE and | |
228 | - npc_service.has_been_checked = TRUE and | |
229 | - npc_host.has_been_checked = FALSE | |
230 | - union | |
231 | - select | |
232 | - npc_host.id as hostid, | |
233 | - npc_host.name, | |
234 | - 0 as hostgroup, | |
235 | - -1 as host_soft_state, | |
236 | - npc_host.notifications_enabled as host_notifications, | |
237 | - npc_service.id as serviceid, | |
238 | - npc_service.cacti_graph_id, | |
239 | - npc_service.service_description as service, | |
240 | - npc_service_history.soft_state as service_soft_state, | |
241 | - npc_service_history.hard_state as service_hard_state, | |
242 | - npc_service.notifications_enabled as service_notifications, | |
243 | - npc_service_check.last_check, | |
244 | - npc_service_check.next_check, | |
245 | - npc_service_check.check_execute_time, | |
246 | - npc_service_check.check_latency, | |
247 | - npc_service_check.check_command, | |
248 | - npc_service_check.performance_data, | |
249 | - unix_timestamp() - npc_service_history.started as duration, | |
250 | - npc_service_history.current_attempt, | |
251 | - npc_service_check.max_attempts, | |
252 | - npc_service_history.plugin_output | |
253 | - from | |
254 | - npc_host, | |
255 | - npc_service, | |
256 | - npc_service_check, | |
257 | - npc_service_history | |
258 | - where | |
259 | - npc_host.id not in (select hostid from npc_hostgroup_membership) and | |
260 | - npc_host.id = npc_service.hostid and | |
261 | - npc_service.id = npc_service_check.serviceid and | |
262 | - npc_service.id = npc_service_history.serviceid and | |
263 | - npc_service_history.lasted is null and | |
264 | - npc_service.configured = TRUE and | |
265 | - npc_service.has_been_checked = TRUE and | |
266 | - npc_host.has_been_checked = FALSE | |
267 | - union | |
268 | - select | |
269 | - npc_host.id as hostid, | |
270 | - npc_host.name, | |
271 | - npc_hostgroup_membership.groupid as hostgroup, | |
272 | - npc_host_history.soft_state as host_soft_state, | |
273 | - npc_host.notifications_enabled as host_notifications, | |
274 | - npc_service.id as serviceid, | |
275 | - npc_service.cacti_graph_id, | |
276 | - npc_service.service_description as service, | |
277 | - -1 as service_soft_state, | |
278 | - -1 as service_hard_state, | |
279 | - npc_service.notifications_enabled as service_notifications, | |
280 | - npc_service_check.last_check, | |
281 | - npc_service_check.next_check, | |
282 | - npc_service_check.check_execute_time, | |
283 | - npc_service_check.check_latency, | |
284 | - npc_service_check.check_command, | |
285 | - npc_service_check.performance_data, | |
286 | - 0 as duration, | |
287 | - 0 as current_attempt, | |
288 | - npc_service_check.max_attempts, | |
289 | - null as plugin_output | |
290 | - from | |
291 | - npc_host, | |
292 | - npc_host_history, | |
293 | - npc_hostgroup_membership, | |
294 | - npc_service, | |
295 | - npc_service_check | |
296 | - where | |
297 | - npc_host.id = npc_hostgroup_membership.hostid and | |
298 | - npc_host.id = npc_service.hostid and | |
299 | - npc_host.id = npc_host_history.hostid and | |
300 | - npc_service.id = npc_service_check.serviceid and | |
301 | - npc_host_history.lasted is null and | |
302 | - npc_service.configured = TRUE and | |
303 | - npc_service.has_been_checked = FALSE and | |
304 | - npc_host.has_been_checked = TRUE | |
305 | - union | |
306 | - select | |
307 | - npc_host.id as hostid, | |
308 | - npc_host.name, | |
309 | - 0 as hostgroup, | |
310 | - npc_host_history.soft_state as host_soft_state, | |
311 | - npc_host.notifications_enabled as host_notifications, | |
312 | - npc_service.id as serviceid, | |
313 | - npc_service.cacti_graph_id, | |
314 | - npc_service.service_description as service, | |
315 | - -1 as service_soft_state, | |
316 | - -1 as service_hard_state, | |
317 | - npc_service.notifications_enabled as service_notifications, | |
318 | - npc_service_check.last_check, | |
319 | - npc_service_check.next_check, | |
320 | - npc_service_check.check_execute_time, | |
321 | - npc_service_check.check_latency, | |
322 | - npc_service_check.check_command, | |
323 | - npc_service_check.performance_data, | |
324 | - 0 as duration, | |
325 | - 0 as current_attempt, | |
326 | - npc_service_check.max_attempts, | |
327 | - null as plugin_output | |
328 | - from | |
329 | - npc_host, | |
330 | - npc_host_history, | |
331 | - npc_service, | |
332 | - npc_service_check | |
333 | - where | |
334 | - npc_host.id not in (select hostid from npc_hostgroup_membership) and | |
335 | - npc_host.id = npc_service.hostid and | |
336 | - npc_host.id = npc_host_history.hostid and | |
337 | - npc_service.id = npc_service_check.serviceid and | |
338 | - npc_host_history.lasted is null and | |
339 | - npc_service.configured = TRUE and | |
340 | - npc_service.has_been_checked = FALSE and | |
341 | - npc_host.has_been_checked = TRUE | |
342 | - union | |
343 | - select | |
344 | - npc_host.id as hostid, | |
345 | - npc_host.name, | |
346 | - npc_hostgroup_membership.groupid as hostgroup, | |
347 | - -1 as host_soft_state, | |
348 | - npc_host.notifications_enabled as host_notifications, | |
349 | - npc_service.id as serviceid, | |
350 | - npc_service.cacti_graph_id, | |
351 | - npc_service.service_description as service, | |
352 | - -1 as service_soft_state, | |
353 | - -1 as service_hard_state, | |
354 | - npc_service.notifications_enabled as service_notifications, | |
355 | - npc_service_check.last_check, | |
356 | - npc_service_check.next_check, | |
357 | - npc_service_check.check_execute_time, | |
358 | - npc_service_check.check_latency, | |
359 | - npc_service_check.check_command, | |
360 | - npc_service_check.performance_data, | |
361 | - 0 as duration, | |
362 | - 0 as current_attempt, | |
363 | - npc_service_check.max_attempts, | |
364 | - null as plugin_output | |
365 | - from | |
366 | - npc_host, | |
367 | - npc_hostgroup_membership, | |
368 | - npc_service, | |
369 | - npc_service_check | |
370 | - where | |
371 | - npc_host.id = npc_hostgroup_membership.hostid and | |
372 | - npc_host.id = npc_service.hostid and | |
373 | - npc_service.id = npc_service_check.serviceid and | |
374 | - npc_service.configured = TRUE and | |
375 | - npc_service.has_been_checked = FALSE and | |
376 | - npc_host.has_been_checked = FALSE | |
377 | - union | |
378 | - select | |
379 | - npc_host.id as hostid, | |
380 | - npc_host.name, | |
381 | - 0 as hostgroup, | |
382 | - -1 as host_soft_state, | |
383 | - npc_host.notifications_enabled as host_notifications, | |
384 | - npc_service.id as serviceid, | |
385 | - npc_service.cacti_graph_id, | |
386 | - npc_service.service_description as service, | |
387 | - -1 as service_soft_state, | |
388 | - -1 as service_hard_state, | |
389 | - npc_service.notifications_enabled as service_notifications, | |
390 | - npc_service_check.last_check, | |
391 | - npc_service_check.next_check, | |
392 | - npc_service_check.check_execute_time, | |
393 | - npc_service_check.check_latency, | |
394 | - npc_service_check.check_command, | |
395 | - npc_service_check.performance_data, | |
396 | - 0 as duration, | |
397 | - 0 as current_attempt, | |
398 | - npc_service_check.max_attempts, | |
399 | - null as plugin_output | |
400 | - from | |
401 | - npc_host, | |
402 | - npc_service, | |
403 | - npc_service_check | |
404 | - where | |
405 | - npc_host.id not in (select hostid from npc_hostgroup_membership) and | |
406 | - npc_host.id = npc_service.hostid and | |
407 | - npc_service.id = npc_service_check.serviceid and | |
408 | - npc_service.configured = TRUE and | |
409 | - npc_service.has_been_checked = FALSE and | |
410 | - npc_host.has_been_checked = FALSE | |
411 | - order by | |
412 | - name | |
413 | - ) as host_details where hostid = $hostid and service = '$serviceName'"); | |
414 | - | |
415 | - $service_detail["flapping"] = db_fetch_cell("select id from npc_flapping_service where id = $serviceid"); | |
416 | - $service_config = db_fetch_row("select active_checks_enabled, passive_checks_enabled, event_handler_enabled, flap_detection_enabled, notifications_enabled, failure_prediction_enabled, process_performance_data, obsess_over_service, event_handler from npc_service where hostid = $hostid and service_description = '$serviceName'"); | |
417 | - $comments = db_fetch_assoc("select id,serviceid,timestamp,author,comment,persist,type from npc_comment where serviceid = '$serviceid'"); | |
418 | - $row_count = count($comments); | |
419 | - | |
420 | -?> | |
421 | - | |
422 | - | |
423 | - | |
424 | - | |
425 | - <table width="98%" border="0" cellpadding="0" cellspacing="0" align="center"> | |
426 | - <tr class="textSubHeaderDark" bgcolor='#6d88ad'> | |
427 | - <td> | |
428 | - <h2> [ <?php echo $serviceName; ?> ] on | |
429 | - <a href="extinfo.php?type=1&hostid=<?php echo $hostid; ?>&hostname=<?php echo $hostname; ?>"><?php echo $hostname; ?></a></h2> | |
430 | - </td> | |
431 | - <td align='right' nowrap> | |
432 | - <FORM NAME="cl" ACTION="command.php" method="POST">Command: | |
433 | - <INPUT TYPE='hidden' NAME='host' VALUE='<?php echo $hostname; ?>'> | |
434 | - <INPUT TYPE='hidden' NAME='hostid' VALUE='<?php echo $service_detail["hostid"]; ?>'> | |
435 | - <INPUT TYPE='hidden' NAME='service' VALUE='<?php echo $serviceName; ?>'> | |
436 | - <INPUT TYPE='hidden' NAME='serviceid' VALUE='<?php echo $service_detail["serviceid"]; ?>'> | |
437 | - <select name="command" size="1"> | |
438 | - | |
439 | -<?php | |
440 | - if (read_config_option("nagios_commands")) { | |
441 | - | |
442 | - echo "<OPTION VALUE='NULL'>Execute a command</option>"; | |
443 | - | |
444 | - if ($service_config["active_checks_enabled"]) { | |
445 | - echo "<strong><OPTION VALUE='DISABLE_SVC_CHECK'>Disable active checks</option></strong>"; | |
446 | - echo "<OPTION VALUE='SCHEDULE_SVC_CHECK'>Re-schedule the next check</option>"; | |
447 | - } else { | |
448 | - echo "<OPTION VALUE='ENABLE_SVC_CHECK'>Enable Active Checks</option>"; | |
449 | - } | |
450 | - if ($service_config["passive_checks_enabled"]) { | |
451 | - echo "<OPTION VALUE='PROCESS_SVC_CHECK_RESULT'>Submit passive check result</option>"; | |
452 | - echo "<OPTION VALUE='DISABLE_PASSIVE_SVC_CHECKS'>Stop accepting passive checks</option>"; | |
453 | - } else { | |
454 | - echo "<OPTION VALUE='ENABLE_PASSIVE_SVC_CHECKS'>Start accepting passive checks</option>"; | |
455 | - } | |
456 | - if ($service_config["obsess_over_service"]) { | |
457 | - echo "<OPTION VALUE='STOP_OBSESSING_OVER_SVC'>Stop obsessing</option>"; | |
458 | - } else { | |
459 | - echo "<OPTION VALUE='START_OBSESSING_OVER_SVC'>Start obsessing</option>"; | |
460 | - } | |
461 | - if ($service_detail["Current Status"] == 1 || $service_detail["Current Status"] == 2 || $service_detail["Current Status"] == 3 && $service_detail["Current Status"] == $service_detail["service_hard_state"]) { | |
462 | - if (!db_fetch_cell("select * from npc_comment where serviceid = $serviceid and type = 4;")) { | |
463 | - echo "<OPTION VALUE='ACKNOWLEDGE_SVC_PROBLEM'>Acknowledge This Service Problem</option>"; | |
464 | - } elseif (db_fetch_cell("select * from npc_comment where serviceid = $serviceid and type = 4;")) { | |
465 | - echo "<OPTION VALUE='REMOVE_SVC_ACKNOWLEDGEMENT'>Remove Problem Acknowledgement</option>"; | |
466 | - } | |
467 | - } | |
468 | - if ($service_config["notifications_enabled"]) { | |
469 | - echo "<OPTION VALUE='DISABLE_SVC_NOTIFICATIONS'>Disable Notifications</option>"; | |
470 | - if ($service_detail["Current Status"] != 0) { | |
471 | - echo "<OPTION VALUE='DELAY_SVC_NOTIFICATION'>Delay Next Service Notification</option>"; | |
472 | - } | |
473 | - } else { | |
474 | - echo "<OPTION VALUE='ENABLE_SVC_NOTIFICATIONS'>Enable Notifications</option>"; | |
475 | - } | |
476 | - echo "<OPTION VALUE='SCHEDULE_SVC_DOWNTIME'>Schedule Downtime</option>"; | |
477 | - if ($service_config["event_handler_enabled"]) { | |
478 | - echo "<OPTION VALUE='DISABLE_SVC_EVENT_HANDLER'>Disable Event Handler</option>"; | |
479 | - } else { | |
480 | - echo "<OPTION VALUE='ENABLE_SVC_EVENT_HANDLER'>Enable Event Handler</option>"; | |
481 | - } | |
482 | - if ($service_config["flap_detection_enabled"]) { | |
483 | - echo "<OPTION VALUE='DISABLE_SVC_FLAP_DETECTION'>Disable Flap Detection</option>"; | |
484 | - } else { | |
485 | - echo "<OPTION VALUE='ENABLE_SVC_FLAP_DETECTION'>Enable Flap Detection</option>"; | |
486 | - } | |
487 | - echo "<OPTION VALUE='ADD_SVC_COMMENT'>Add Service Comment</option>"; | |
488 | - echo "<OPTION VALUE='DEL_ALL_SVC_COMMENTS'>Delete All Service Comments</option>"; | |
489 | - } else { | |
490 | - echo "<OPTION VALUE=''>Command execution disabled</option>"; | |
491 | - } | |
492 | -?> | |
493 | - | |
494 | - </select> | |
495 | - <input type='image' src='../../images/button_go.gif' alt='Go' value='Execute' align='absmiddle'> | |
496 | - </form> | |
497 | - | |
498 | - | |
499 | - </td> | |
500 | - </tr> | |
501 | - | |
502 | - <tr><td> </td><td> </td></tr> | |
503 | - <tr> | |
504 | - <td valign="top"> | |
505 | - <table width="100%" border="0" align="left" valign="top"> | |
506 | - <thead> | |
507 | - <tr class="textHeaderDark" bgcolor='#00438C'> | |
508 | - <td align="center"><strong>Service State Information</strong></td> | |
509 | - </tr> | |
510 | - </thead> | |
511 | - <tbody> | |
512 | - <tr> | |
513 | - <td width="100%" valign="top"> | |
514 | - <table width="100%" align="center" cellpadding="3"> | |
515 | - <thead> | |
516 | - <tr align="center" class="textSubHeaderDark" bgcolor='#6d88ad'> | |
517 | - <td>Parameter</td> | |
518 | - <td>Value</td> | |
519 | - </tr> | |
520 | - </thead> | |
521 | - <tbody> | |
522 | - | |
523 | - | |
524 | -<?php | |
525 | - | |
526 | - | |
527 | - foreach ($service_detail as $key => $value) { | |
528 | - | |
529 | - | |
530 | - switch($key) | |
531 | - { | |
532 | - case "Current Status": | |
533 | - echo "<tr bgcolor='" . $rowColor . "'>"; | |
534 | - echo "<td>" . $key . ":</td>"; | |
535 | - switch($value) | |
536 | - { | |
537 | - case "-1": | |
538 | - echo "<td class='statusPENDING'><strong>PENDING</strong></td>"; | |
539 | - break; | |
540 | - case "0": | |
541 | - echo "<td class='statusOK'><strong>OK</strong></td>"; | |
542 | - break; | |
543 | - case "1": | |
544 | - echo "<td class='statusWARNING'><strong>WARNING</strong></td>"; | |
545 | - break; | |
546 | - case "2": | |
547 | - echo "<td class='statusCRITICAL'><strong>CRITICAL</strong></td>"; | |
548 | - break; | |
549 | - case "3": | |
550 | - echo "<td class='statusUNKNOWN'><strong>UNKNOWN</strong></td>"; | |
551 | - break; | |
552 | - } | |
553 | - echo "</tr>"; | |
554 | - break; | |
555 | - case "State Duration": | |
556 | - echo "<tr bgcolor='" . $rowColor . "'>"; | |
557 | - echo "<td>" . $key . ":</td>"; | |
558 | - echo "<td>" . formatTime($value) . "</td>"; | |
559 | - echo "</tr>"; | |
560 | - break; | |
561 | - case "Check Command": | |
562 | - echo "<tr bgcolor='" . $rowColor . "'>"; | |
563 | - echo "<td>" . $key . ":</td>"; | |
564 | - echo "<td>" . $value . "</td>"; | |
565 | - echo "</tr>"; | |
566 | - break; | |
567 | - case "Plugin Output": | |
568 | - echo "<tr bgcolor='" . $rowColor . "'>"; | |
569 | - echo "<td>" . $key . ":</td>"; | |
570 | - echo "<td>" . $value . "</td>"; | |
571 | - echo "</tr>"; | |
572 | - break; | |
573 | - case "Performance Data": | |
574 | - echo "<tr bgcolor='" . $rowColor . "'>"; | |
575 | - echo "<td>" . $key . ":</td>"; | |
576 | - echo "<td>" . $value . "</td>"; | |
577 | - echo "</tr>"; | |
578 | - break; | |
579 | - case "Current Attempt": | |
580 | - echo "<tr bgcolor='" . $rowColor . "'>"; | |
581 | - echo "<td>" . $key . ":</td>"; | |
582 | - echo "<td>" . $value . "/" . $service_detail["Max Attempts"] . "</td>"; | |
583 | - echo "</tr>"; | |
584 | - break; | |
585 | - case "Last Check": | |
586 | - echo "<tr bgcolor='" . $rowColor . "'>"; | |
587 | - echo "<td>" . $key . ":</td>"; | |
588 | - if (preg_match('/1969-12-31/', $value)) { | |
589 | - echo "<td>N/A</td>"; | |
590 | - } else { | |
591 | - echo "<td>" . $value . "</td>"; | |
592 | - } | |
593 | - echo "</tr>"; | |
594 | - break; | |
595 | - case "Next Check": | |
596 | - echo "<tr bgcolor='" . $rowColor . "'>"; | |
597 | - echo "<td>" . $key . ":</td>"; | |
598 | - echo "<td>" . $value . "</td>"; | |
599 | - echo "</tr>"; | |
600 | - break; | |
601 | - case "Check Latency": | |
602 | - echo "<tr bgcolor='" . $rowColor . "'>"; | |
603 | - echo "<td>" . $key . ":</td>"; | |
604 | - echo "<td>" . $value . "</td>"; | |
605 | - echo "</tr>"; | |
606 | - break; | |
607 | - case "Check Duration": | |
608 | - echo "<tr bgcolor='" . $rowColor . "'>"; | |
609 | - echo "<td>" . $key . ":</td>"; | |
610 | - echo "<td>" . $value . "</td>"; | |
611 | - echo "</tr>"; | |
612 | - break; | |
613 | - case "flapping": | |
614 | - echo "<tr bgcolor='" . $rowColor . "'>"; | |
615 | - echo "<td>Flapping:</td>"; | |
616 | - if ($service_detail["flapping"]) { | |
617 | - echo "<td>Yes</td>"; | |
618 | - } else { | |
619 | - echo "<td>No</td>"; | |
620 | - } | |
621 | - echo "</tr>"; | |
622 | - break; | |
623 | - } | |
624 | - | |
625 | - if($rowColor == $background1) { | |
626 | - $rowColor = $background2; | |
627 | - } else { | |
628 | - $rowColor = $background1; | |
629 | - } | |
630 | - | |
631 | - if ($key == "flapping") { | |
632 | - echo "<tr bgcolor='" . $rowColor . "'>"; | |
633 | - echo "<td>Event Handler:</td>"; | |
634 | - if (!$service_config["event_handler"]) { | |
635 | - echo "<td>N/A</td>"; | |
636 | - } else { | |
637 | - echo "<td>" . $service_config["event_handler"] . "</td>"; | |
638 | - } | |
639 | - echo "</tr>"; | |
640 | - } | |
641 | - | |
642 | - | |
643 | - } | |
644 | - | |
645 | - | |
646 | -?> | |
647 | - | |
648 | - </tbody> | |
649 | - </table> | |
650 | - | |
651 | - </td> | |
652 | - </tr> | |
653 | - </tbody> | |
654 | - </table> | |
655 | - | |
656 | - </td> | |
657 | - | |
658 | - <td valign="top"> | |
659 | - <table width="70%" border="0" align="right"> | |
660 | - <thead> | |
661 | - <tr class="textHeaderDark" bgcolor='#00438C'> | |
662 | - <td align="center"><strong>Service Monitoring Options</strong></td> | |
663 | - </tr> | |
664 | - </thead> | |
665 | - <tbody> | |
666 | - <tr> | |
667 | - <td width="70%" valign="top"> | |
668 | - <table width="100%" align="center" cellpadding="3"> | |
669 | - <thead> | |
670 | - <tr align="center" class="textSubHeaderDark" bgcolor='#6d88ad'> | |
671 | - <td>Parameter</td> | |
672 | - <td>Value</td> | |
673 | - </tr> | |
674 | - </thead> | |
675 | - <tbody> | |
676 | - | |
677 | -<?php | |
678 | - $rowColor = $background1; | |
679 | - echo "<tr bgcolor='" . $rowColor . "'>"; | |
680 | - | |
681 | - | |
682 | - foreach ($service_config as $key => $value) { | |
683 | - | |
684 | - if ($key == "event_handler") { continue; } | |
685 | - | |
686 | - echo "<tr bgcolor='" . $rowColor . "'>"; | |
687 | - | |
688 | - switch($key) | |
689 | - { | |
690 | - case "active_checks_enabled": | |
691 | - echo "<td>Active Checks:</td>"; | |
692 | - break; | |
693 | - case "passive_checks_enabled": | |
694 | - echo "<td>Passive Checks:</td>"; | |
695 | - break; | |
696 | - case "event_handler_enabled": | |
697 | - echo "<td>Event Handler:</td>"; | |
698 | - break; | |
699 | - case "flap_detection_enabled": | |
700 | - echo "<td>Flap Detection:</td>"; | |
701 | - break; | |
702 | - case "notifications_enabled": | |
703 | - echo "<td>Notifications:</td>"; | |
704 | - break; | |
705 | - case "failure_prediction_enabled": | |
706 | - echo "<td>Failure Prediction:</td>"; | |
707 | - break; | |
708 | - case "process_performance_data": | |
709 | - echo "<td>Process Performance Data:</td>"; | |
710 | - break; | |
711 | - case "obsess_over_service": | |
712 | - echo "<td>Obsess Over Service:</td>"; | |
713 | - break; | |
714 | - } | |
715 | - | |
716 | - if ($value == 0) { | |
717 | - echo "<td class='optionDISABLED'>Disabled</td></tr>"; | |
718 | - } else { | |
719 | - echo "<td class='optionENABLED'>Enabled</td></tr>"; | |
720 | - } | |
721 | - | |
722 | - if($rowColor == $background1) { | |
723 | - $rowColor = $background2; | |
724 | - } else { | |
725 | - $rowColor = $background1; | |
726 | - } | |
727 | - | |
728 | - | |
729 | - } | |
730 | - | |
731 | -?> | |
732 | - </tbody> | |
733 | - </table> | |
734 | - </td> | |
735 | - </tr> | |
736 | - </table> | |
737 | - | |
738 | - </td> | |
739 | - | |
740 | - | |
741 | - | |
742 | -<?php | |
743 | - | |
744 | - | |
745 | - | |
746 | - | |
747 | - echo "</tr>"; | |
748 | - echo "<tr>"; | |
749 | - | |
750 | -?> | |
751 | - <tr><td> </td><td> </td></tr> | |
752 | - <tr><td> </td><td> </td></tr> | |
753 | - <td valign="top" colspan='2'> | |
754 | - <table width="60%" border="0" align="center"> | |
755 | - <thead> | |
756 | - <tr class="textHeaderDark" bgcolor='#00438C'> | |
757 | - <td align="center"><strong>Service Comments</strong></td> | |
758 | - </tr> | |
759 | - </thead> | |
760 | - <tbody> | |
761 | - <tr> | |
762 | - <td width="60%" valign="top"> | |
763 | - <table width="100%" align="center" cellpadding="3"> | |
764 | - <thead> | |
765 | - <tr align="center" class="textSubHeaderDark" bgcolor='#6d88ad'> | |
766 | - <td>Entry Time</td> | |
767 | - <td>Author</td> | |
768 | - <td>Comment</td> | |
769 | - <td>Persistent</td> | |
770 | - <td>Type</td> | |
771 | - <td>Delete</td> | |
772 | - <tbody> | |
773 | -<?php | |
774 | - for($i = 0; $i < $row_count; $i++) { | |
775 | - | |
776 | - echo "<tr bgcolor='" . $rowColor . "'>"; | |
777 | - echo "<td nowrap>" . $comments[$i]["timestamp"] . "</td>"; | |
778 | - echo "<td>" . $comments[$i]["author"] . "</td>"; | |
779 | - echo "<td>" . $comments[$i]["comment"] . "</td>"; | |
780 | - echo "<td>"; | |
781 | - if ($comments[$i]["persist"]) { | |
782 | - echo "Yes"; | |
783 | - } else { | |
784 | - echo "No"; | |
785 | - } | |
786 | - echo "</td>"; | |
787 | - echo "<td>"; | |
788 | - if ($comments[$i]["type"] == 2) { | |
789 | - echo "Comment"; | |
790 | - } elseif ($comments[$i]["type"] == 4) { | |
791 | - echo "Acknowledgment"; | |
792 | - } | |
793 | - echo "</td>"; | |
794 | - echo "<td>"; | |
795 | - if ($comments[$i]["type"] == 2) { | |
796 | - echo "<a href='command.php?cmd=DEL_SVC_COMMENT&id=" . $comments[$i]["id"] . "&host=" . $hostname . "&hostid=" . $hostid . "&service=" . $_REQUEST["service"] . "&serviceid=" . $serviceid . "'><img src='images/delete.gif' alt='delete' title='Delete comment' border=0></a>"; | |
797 | - } elseif ($comments[$i]["type"] == 4) { | |
798 | - echo "<a href='command.php?cmd=REMOVE_SVC_ACKNOWLEDGEMENT&host=" . $hostname . "&hostid=" . $hostid . "&service=" . $_REQUEST["service"] . "&serviceid=" . $serviceid . "'><img src='images/delete.gif' alt='Remove' title='Remove problem acknowledgment' border=0></a>"; | |
799 | - } | |
800 | - echo "</td>"; | |
801 | - | |
802 | - | |
803 | - if($rowColor == $background1) { | |
804 | - $rowColor = $background2; | |
805 | - } else { | |
806 | - $rowColor = $background1; | |
807 | - } | |
808 | - } | |
809 | - | |
810 | - | |
811 | - | |
812 | - | |
813 | - | |
814 | - | |
815 | - | |
816 | -?> | |
817 | - </tbody> | |
818 | - </table> | |
819 | - </td> | |
820 | - </tr> | |
821 | - <tr> | |
822 | - <td> | |
823 | - <?php | |
824 | - echo "<a href='command.php?cmd=ADD_SVC_COMMENT&host=" . $hostname . "&hostid=" . $hostid . "&service=" . $_REQUEST["service"] . "&serviceid=" . $serviceid . "'><img src='images/comment.gif' alt='Add a comment' title='Add a comment' border=0></a>"; | |
825 | - echo "<a href='command.php?cmd=DEL_ALL_SVC_COMMENTS&host=" . $hostname . "&hostid=" . $hostid . "&service=" . $_REQUEST["service"] . "&serviceid=" . $serviceid . "'><img src='images/delete.gif' alt='Delete all comments' title='Delete all comments' border=0></a>"; | |
826 | - ?> | |
827 | - </td> | |
828 | - </tr> | |
829 | - </tbody> | |
830 | - </table> | |
831 | - </td> | |
832 | - <td></td> | |
833 | - <tr><td> </td><td> </td></tr> | |
834 | - <tr><td> </td><td> </td></tr> | |
835 | - <tr> | |
836 | - | |
837 | - | |
838 | - | |
839 | - | |
840 | - | |
841 | - <td valign="top" colspan='2'> | |
842 | - <table width="60%" border="0" align="center"> | |
843 | - <thead> | |
844 | - <tr align="center" class="textHeaderDark" bgcolor='#00438C'> | |
845 | - <td align="center"><strong>Graph Mapping</strong></td> | |
846 | - </tr> | |
847 | - </thead> | |
848 | - <tbody> | |
849 | - <tr> | |
850 | - <td width="60%" valign="top"> | |
851 | - <table width="100%" align="center" cellpadding="3"> | |
852 | - <tbody> | |
853 | - | |
854 | -<?php | |
855 | - | |
856 | -$cacti_graphs = db_fetch_assoc(" | |
857 | -select | |
858 | - graph_templates_graph.id, | |
859 | - graph_templates_graph.local_graph_id, | |
860 | - graph_templates_graph.height, | |
861 | - graph_templates_graph.width, | |
862 | - graph_templates_graph.title_cache as title, | |
863 | - graph_templates.name, | |
864 | - graph_local.host_id | |
865 | - from graph_local,graph_templates_graph | |
866 | - left join graph_templates on graph_local.graph_template_id=graph_templates.id | |
867 | - where graph_local.id=graph_templates_graph.local_graph_id | |
868 | - and graph_templates_graph.title_cache like '%' | |
869 | - order by graph_templates_graph.title_cache,graph_local.host_id"); | |
870 | - | |
871 | - $row_count = count($cacti_graphs); | |
872 | -/* http://logindev/cacti/graph_image.php?local_graph_id=6&rra_id=0 */ | |
873 | -?> | |
874 | - | |
875 | - <FORM NAME="gm" ACTION="" method="post"> | |
876 | - <tr bgcolor='<?php echo $background1; ?>'> | |
877 | - <td>Associated graph:</td> | |
878 | - <td> | |
879 | - <select name="local_graph_id" size="1"> | |
880 | - <?php | |
881 | - echo "<OPTION VALUE='NULL'>None</option>"; | |
882 | - for($i = 0; $i < $row_count; $i++) { | |
883 | - echo "<OPTION VALUE='" . $cacti_graphs[$i]["local_graph_id"] . "'>" . $cacti_graphs[$i]["title"] . "</option>"; | |
884 | - } | |
885 | - ?> | |
886 | - | |
887 | - | |
888 | - </select> | |
889 | - </td> | |
890 | - <td><INPUT TYPE="submit" VALUE="Map"></td> | |
891 | - </tr> | |
892 | - </FORM> | |
893 | - | |
894 | - | |
895 | - </tbody> | |
896 | - </table> | |
897 | - <?php | |
898 | - if ($service_detail["cacti_graph_id"]) { | |
899 | - echo "<table align='center'>"; | |
900 | - echo "<tr><td width='100%'>"; | |
901 | - echo "<img src='../../graph_image.php?local_graph_id=" . $service_detail["cacti_graph_id"] . "&rra_id=0'>"; | |
902 | - echo "</td></tr>"; | |
903 | - } | |
904 | - ?> | |
905 | - </td> | |
906 | - </tr> | |
907 | - </tbody> | |
908 | - </table> | |
909 | - | |
910 | - </td> | |
911 | - | |
912 | - </tr> | |
913 | - </table> | |
914 | - | |
915 | -<?php | |
916 | - | |
917 | - | |
918 | -} | |
919 | - | |
920 | - | |
921 | -function hostInfo() { | |
922 | - | |
923 | - $hostid = $_REQUEST["hostid"]; | |
924 | - $hostname = $_REQUEST["hostname"]; | |
925 | - | |
926 | - if (isset($_POST["local_graph_id"])) { | |
927 | - db_execute("update npc_host set cacti_graph_id = " . $_POST["local_graph_id"] . " where id = " . $hostid); | |
928 | - header("Location: extinfo.php?type=1&hostid=" . $hostid . "&hostname=" . $hostname); | |
929 | - } | |
930 | - | |
931 | - include_once("top_npc_header.php"); | |
932 | - | |
933 | - $background1 = "#F5F5F5"; | |
934 | - $background2 = "#E7E9F2"; | |
935 | - $rowColor = $background1; | |
936 | - | |
937 | - $host_flapping["flapping"] = db_fetch_cell("select id from npc_flapping_host where id = $hostid"); | |
938 | - | |
939 | - $host_history = db_fetch_row("select started, soft_state, hard_state, current_attempt, plugin_output from npc_host_history where hostid = $hostid order by started desc;"); | |
940 | - | |
941 | - $host_check = db_fetch_row("select check_command, check_execute_time, check_latency, from_unixtime(last_check) as last_check, from_unixtime(next_check) as next_check, max_attempts, last_notification, next_notification, no_more_notifications, check_type, performance_data from npc_host_check where hostid = $hostid;"); | |
942 | - | |
943 | - $host_config = db_fetch_row("select active_checks_enabled, passive_checks_enabled, event_handler_enabled, flap_detection_enabled, notifications_enabled, failure_prediction_enabled, process_performance_data, obsess_over_host, event_handler, cacti_graph_id from npc_host where id = $hostid"); | |
944 | - | |
945 | - $comments = db_fetch_assoc("select id,serviceid,timestamp,author,comment,persist,type from npc_comment where hostid = $hostid"); | |
946 | - | |
947 | - $graphView = db_fetch_cell("select id from graph_tree_items where host_id = (select id from host where npc_host_id = $hostid)"); | |
948 | - | |
949 | - $row_count = count($comments); | |
950 | - | |
951 | - $duration = date("U") - $host_history["started"]; | |
952 | - | |
953 | -?> | |
954 | - | |
955 | - | |
956 | - | |
957 | - | |
958 | - <table width="98%" border="0" cellpadding="0" cellspacing="0" align="center"> | |
959 | - <tr class="textSubHeaderDark" bgcolor='#6d88ad'> | |
960 | - <td> | |
961 | - <h2> <strong><?php echo $hostname; ?></strong></h2> | |
962 | - </td> | |
963 | - <td align='right' nowrap> | |
964 | - <FORM NAME="cl" ACTION="command.php" method="POST">Command: | |
965 | - <INPUT TYPE='hidden' NAME='host' VALUE='<?php echo $hostname; ?>'> | |
966 | - <INPUT TYPE='hidden' NAME='hostid' VALUE='<?php echo $hostid; ?>'> | |
967 | - <select name="command" size="1"> | |
968 | - | |
969 | -<?php | |
970 | - if (read_config_option("nagios_commands")) { | |
971 | - | |
972 | - echo "<OPTION VALUE='NULL'>Execute a command</option>"; | |
973 | - | |
974 | - if ($host_config["active_checks_enabled"]) { | |
975 | - echo "<OPTION VALUE='DISABLE_HOST_CHECK'>Disable active checks</option>"; | |
976 | - echo "<OPTION VALUE='SCHEDULE_HOST_CHECK'>Re-schedule the next check</option>"; | |
977 | - echo "<OPTION VALUE='SCHEDULE_HOST_SVC_CHECKS'>Schedule a check of all services</option>"; | |
978 | - } else { | |
979 | - echo "<OPTION VALUE='ENABLE_HOST_CHECK'>Enable Active Checks</option>"; | |
980 | - } | |
981 | - echo "<OPTION VALUE='DISABLE_HOST_SVC_CHECKS'>Disable checks of all services</option>"; | |
982 | - echo "<OPTION VALUE='ENABLE_HOST_SVC_CHECKS'>Enabble checks of all services</option>"; | |
983 | - if ($host_config["passive_checks_enabled"]) { | |
984 | - echo "<OPTION VALUE='PROCESS_HOST_CHECK_RESULT'>Submit passive check result</option>"; | |
985 | - echo "<OPTION VALUE='DISABLE_PASSIVE_HOST_CHECKS'>Stop accepting passive checks</option>"; | |
986 | - } else { | |
987 | - echo "<OPTION VALUE='ENABLE_PASSIVE_HOST_CHECKS'>Start accepting passive checks</option>"; | |
988 | - } | |
989 | - if ($host_config["obsess_over_service"]) { | |
990 | - echo "<OPTION VALUE='STOP_OBSESSING_OVER_HOST'>Stop obsessing</option>"; | |
991 | - } else { | |
992 | - echo "<OPTION VALUE='START_OBSESSING_OVER_HOST'>Start obsessing</option>"; | |
993 | - } | |
994 | - if ($host_history["soft_state"] == 1 || $host_history["soft_state"] == 2 && $host_history["soft_state"] == $host_history["hard_state"]) { | |
995 | - if (!db_fetch_cell("select * from npc_comment where hostid = $hostid and type = 4;")) { | |
996 | - echo "<OPTION VALUE='ACKNOWLEDGE_HOST_PROBLEM'>Acknowledge This Host Problem</option>"; | |
997 | - } elseif (db_fetch_cell("select * from npc_comment where hostid = $hostid and type = 4;")) { | |
998 | - echo "<OPTION VALUE='REMOVE_HOST_ACKNOWLEDGEMENT'>Remove Problem Acknowledgement</option>"; | |
999 | - } | |
1000 | - } | |
1001 | - if ($host_config["notifications_enabled"]) { | |
1002 | - echo "<OPTION VALUE='DISABLE_HOST_NOTIFICATIONS'>Disable Notifications</option>"; | |
1003 | - if ($host_history["soft_state"] != 0) { | |
1004 | - echo "<OPTION VALUE='DELAY_HOST_NOTIFICATION'>Delay Next Service Notification</option>"; | |
1005 | - } | |
1006 | - } else { | |
1007 | - echo "<OPTION VALUE='ENABLE_HOST_NOTIFICATIONS'>Enable Notifications</option>"; | |
1008 | - } | |
1009 | - echo "<OPTION VALUE='SCHEDULE_HOST_DOWNTIME'>Schedule Downtime</option>"; | |
1010 | - if ($host_config["event_handler_enabled"]) { | |
1011 | - echo "<OPTION VALUE='DISABLE_HOST_EVENT_HANDLER'>Disable Event Handler</option>"; | |
1012 | - } else { | |
1013 | - echo "<OPTION VALUE='ENABLE_HOST_EVENT_HANDLER'>Enable Event Handler</option>"; | |
1014 | - } | |
1015 | - if ($host_config["flap_detection_enabled"]) { | |
1016 | - echo "<OPTION VALUE='DISABLE_HOST_FLAP_DETECTION'>Disable Flap Detection</option>"; | |
1017 | - } else { | |
1018 | - echo "<OPTION VALUE='ENABLE_HOST_FLAP_DETECTION'>Enable Flap Detection</option>"; | |
1019 | - } | |
1020 | - echo "<OPTION VALUE='ADD_HOST_COMMENT'>Add Host Comment</option>"; | |
1021 | - echo "<OPTION VALUE='DEL_ALL_HOST_COMMENTS'>Delete All Host Comments</option>"; | |
1022 | - } else { | |
1023 | - echo "<OPTION VALUE='NULL'>Command execution disabled</option>"; | |
1024 | - } | |
1025 | -?> | |
1026 | - | |
1027 | - </select> | |
1028 | - <input type='image' src='../../images/button_go.gif' alt='Go' value='Execute' align='absmiddle'> | |
1029 | - </form> | |
1030 | - | |
1031 | - | |
1032 | - </td> | |
1033 | - </tr> | |
1034 | - <tr><td></td><td></td></tr> | |
1035 | - <tr bgcolor='#a9b7cb'> | |
1036 | - <td><a href='statusDetail.php?filter=showHost&name=<?php echo $hostname; ?>'>View Services</a> | <?php if ($graphView) { ?><a href='<?php echo $config['url_path']?>graph_view.php?action=tree&tree_id=1&leaf_id=<?php echo $graphView; ?>'>View Graphs</a> | <?php } ?><a href='hostConfig.php?name=<?php echo $hostname; ?>&hostid=<?php echo $hostid; ?>'>Configure</a></td> | |
1037 | - <td> </td></tr> | |
1038 | - </tr> | |
1039 | - | |
1040 | - <tr><td> </td><td> </td></tr> | |
1041 | - <tr> | |
1042 | - <td valign="top"> | |
1043 | - <table width="100%" border="0" align="left" valign="top"> | |
1044 | - <thead> | |
1045 | - <tr class="textHeaderDark" bgcolor='#00438C'> | |
1046 | - <td align="center"><strong>Host State Information</strong></td> | |
1047 | - </tr> | |
1048 | - </thead> | |
1049 | - <tbody> | |
1050 | - <tr> | |
1051 | - <td width="100%" valign="top"> | |
1052 | - <table width="100%" align="center" cellpadding="3"> | |
1053 | - <thead> | |
1054 | - <tr align="center" class="textSubHeaderDark" bgcolor='#6d88ad'> | |
1055 | - <td>Parameter</td> | |
1056 | - <td>Value</td> | |
1057 | - </tr> | |
1058 | - </thead> | |
1059 | - <tbody> | |
1060 | - | |
1061 | - | |
1062 | -<?php | |
1063 | - | |
1064 | - | |
1065 | - $host_detail = array( | |
1066 | - 'Current Status' => $host_history["soft_state"], | |
1067 | - 'State Duration' => formatTime($duration), | |
1068 | - 'Check Command' => $host_check["check_command"], | |
1069 | - 'Plugin Output' => $host_history["plugin_output"], | |
1070 | - 'Performance Data' => $host_check["performance_data"], | |
1071 | - 'Current Attempt' => $host_history["current_attempt"], | |
1072 | - 'Last Check' => $host_check["last_check"], | |
1073 | - 'Next Check' => $host_check["next_check"], | |
1074 | - 'Check Latency' => $host_check["check_latency"], | |
1075 | - 'Check Duration' => $host_check["check_execute_time"], | |
1076 | - 'flapping' => $host_flapping["flapping"], | |
1077 | - 'Event Handler' => $host_config["event_handler"], | |
1078 | - ); | |
1079 | - | |
1080 | - foreach ($host_detail as $key => $value) { | |
1081 | - | |
1082 | - | |
1083 | - switch($key) | |
1084 | - { | |
1085 | - case "Current Status": | |
1086 | - echo "<tr bgcolor='" . $rowColor . "'>"; | |
1087 | - echo "<td>" . $key . ":</td>"; | |
1088 | - switch($value) | |
1089 | - { | |
1090 | - case "-1": | |
1091 | - echo "<td class='statusPENDING'><strong>PENDING</strong></td>"; | |
1092 | - break; | |
1093 | - case "0": | |
1094 | - echo "<td class='statusHOSTUP'><strong>UP</strong></td>"; | |
1095 | - break; | |
1096 | - case "1": | |
1097 | - echo "<td class='statusHOSTDOWN'><strong>DOWN</strong></td>"; | |
1098 | - break; | |
1099 | - case "2": | |
1100 | - echo "<td class='statusHOSTUNREACHABLE'><strong>UNREACHABLE</strong></td>"; | |
1101 | - break; | |
1102 | - } | |
1103 | - echo "</tr>"; | |
1104 | - break; | |
1105 | - case "State Duration": | |
1106 | - echo "<tr bgcolor='" . $rowColor . "'>"; | |
1107 | - echo "<td>" . $key . ":</td>"; | |
1108 | - echo "<td>" . $value . "</td>"; | |
1109 | - echo "</tr>"; | |
1110 | - break; | |
1111 | - case "Check Command": | |
1112 | - echo "<tr bgcolor='" . $rowColor . "'>"; | |
1113 | - echo "<td>" . $key . ":</td>"; | |
1114 | - echo "<td>" . $value . "</td>"; | |
1115 | - echo "</tr>"; | |
1116 | - break; | |
1117 | - case "Plugin Output": | |
1118 | - echo "<tr bgcolor='" . $rowColor . "'>"; | |
1119 | - echo "<td>" . $key . ":</td>"; | |
1120 | - echo "<td>" . $value . "</td>"; | |
1121 | - echo "</tr>"; | |
1122 | - break; | |
1123 | - case "Performance Data": | |
1124 | - echo "<tr bgcolor='" . $rowColor . "'>"; | |
1125 | - echo "<td>" . $key . ":</td>"; | |
1126 | - echo "<td>" . $value . "</td>"; | |
1127 | - echo "</tr>"; | |
1128 | - break; | |
1129 | - case "Current Attempt": | |
1130 | - echo "<tr bgcolor='" . $rowColor . "'>"; | |
1131 | - echo "<td>" . $key . ":</td>"; | |
1132 | - echo "<td>" . $value . "/" . $host_check["max_attempts"] . "</td>"; | |
1133 | - echo "</tr>"; | |
1134 | - break; | |
1135 | - case "Last Check": | |
1136 | - echo "<tr bgcolor='" . $rowColor . "'>"; | |
1137 | - echo "<td>" . $key . ":</td>"; | |
1138 | - if (preg_match('/1969-12-31/', $value)) { | |
1139 | - echo "<td>N/A</td>"; | |
1140 | - } else { | |
1141 | - echo "<td>" . $value . "</td>"; | |
1142 | - } | |
1143 | - echo "</tr>"; | |
1144 | - break; | |
1145 | - case "Next Check": | |
1146 | - echo "<tr bgcolor='" . $rowColor . "'>"; | |
1147 | - echo "<td>" . $key . ":</td>"; | |
1148 | - if (preg_match('/1969-12-31/', $value)) { | |
1149 | - echo "<td>N/A</td>"; | |
1150 | - } else { | |
1151 | - echo "<td>" . $value . "</td>"; | |
1152 | - } | |
1153 | - echo "</tr>"; | |
1154 | - break; | |
1155 | - case "Check Latency": | |
1156 | - echo "<tr bgcolor='" . $rowColor . "'>"; | |
1157 | - echo "<td>" . $key . ":</td>"; | |
1158 | - echo "<td>" . $value . "</td>"; | |
1159 | - echo "</tr>"; | |
1160 | - break; | |
1161 | - case "Check Duration": | |
1162 | - echo "<tr bgcolor='" . $rowColor . "'>"; | |
1163 | - echo "<td>" . $key . ":</td>"; | |
1164 | - echo "<td>" . $value . "</td>"; | |
1165 | - echo "</tr>"; | |
1166 | - break; | |
1167 | - case "flapping": | |
1168 | - echo "<tr bgcolor='" . $rowColor . "'>"; | |
1169 | - echo "<td>Flapping:</td>"; | |
1170 | - if ($host_detail["flapping"]) { | |
1171 | - echo "<td>Yes</td>"; | |
1172 | - } else { | |
1173 | - echo "<td>No</td>"; | |
1174 | - } | |
1175 | - echo "</tr>"; | |
1176 | - break; | |
1177 | - case "Event Handler": | |
1178 | - echo "<tr bgcolor='" . $rowColor . "'>"; | |
1179 | - echo "<td>" . $key . ":</td>"; | |
1180 | - if (!$value) { | |
1181 | - echo "<td>N/A</td>"; | |
1182 | - } else { | |
1183 | - echo "<td>" . $value . "</td>"; | |
1184 | - } | |
1185 | - echo "</tr>"; | |
1186 | - break; | |
1187 | - } | |
1188 | - | |
1189 | - if($rowColor == $background1) { | |
1190 | - $rowColor = $background2; | |
1191 | - } else { | |
1192 | - $rowColor = $background1; | |
1193 | - } | |
1194 | - | |
1195 | - } | |
1196 | - | |
1197 | - | |
1198 | -?> | |
1199 | - | |
1200 | - </tbody> | |
1201 | - </table> | |
1202 | - | |
1203 | - </td> | |
1204 | - </tr> | |
1205 | - </tbody> | |
1206 | - </table> | |
1207 | - | |
1208 | - </td> | |
1209 | - | |
1210 | - <td valign="top"> | |
1211 | - <table width="70%" border="0" align="right"> | |
1212 | - <thead> | |
1213 | - <tr class="textHeaderDark" bgcolor='#00438C'> | |
1214 | - <td align="center"><strong>Host Monitoring Options</strong></td> | |
1215 | - </tr> | |
1216 | - </thead> | |
1217 | - <tbody> | |
1218 | - <tr> | |
1219 | - <td width="70%" valign="top"> | |
1220 | - <table width="100%" align="center" cellpadding="3"> | |
1221 | - <thead> | |
1222 | - <tr align="center" class="textSubHeaderDark" bgcolor='#6d88ad'> | |
1223 | - <td>Parameter</td> | |
1224 | - <td>Value</td> | |
1225 | - </tr> | |
1226 | - </thead> | |
1227 | - <tbody> | |
1228 | - | |
1229 | -<?php | |
1230 | - $rowColor = $background1; | |
1231 | - echo "<tr bgcolor='" . $rowColor . "'>"; | |
1232 | - | |
1233 | - | |
1234 | - foreach ($host_config as $key => $value) { | |
1235 | - | |
1236 | - if ($key == "event_handler") { continue; } | |
1237 | - if ($key == "cacti_graph_id") { continue; } | |
1238 | - | |
1239 | - echo "<tr bgcolor='" . $rowColor . "'>"; | |
1240 | - | |
1241 | - switch($key) | |
1242 | - { | |
1243 | - case "active_checks_enabled": | |
1244 | - echo "<td>Active Checks:</td>"; | |
1245 | - break; | |
1246 | - case "passive_checks_enabled": | |
1247 | - echo "<td>Passive Checks:</td>"; | |
1248 | - break; | |
1249 | - case "event_handler_enabled": | |
1250 | - echo "<td>Event Handler:</td>"; | |
1251 | - break; | |
1252 | - case "flap_detection_enabled": | |
1253 | - echo "<td>Flap Detection:</td>"; | |
1254 | - break; | |
1255 | - case "notifications_enabled": | |
1256 | - echo "<td>Notifications:</td>"; | |
1257 | - break; | |
1258 | - case "failure_prediction_enabled": | |
1259 | - echo "<td>Failure Prediction:</td>"; | |
1260 | - break; | |
1261 | - case "process_performance_data": | |
1262 | - echo "<td>Process Performance Data:</td>"; | |
1263 | - break; | |
1264 | - case "obsess_over_host": | |
1265 | - echo "<td>Obsess Over Host:</td>"; | |
1266 | - break; | |
1267 | - } | |
1268 | - | |
1269 | - if ($value == 0) { | |
1270 | - echo "<td class='optionDISABLED'>Disabled</td></tr>"; | |
1271 | - } else { | |
1272 | - echo "<td class='optionENABLED'>Enabled</td></tr>"; | |
1273 | - } | |
1274 | - | |
1275 | - if($rowColor == $background1) { | |
1276 | - $rowColor = $background2; | |
1277 | - } else { | |
1278 | - $rowColor = $background1; | |
1279 | - } | |
1280 | - | |
1281 | - | |
1282 | - } | |
1283 | - | |
1284 | -?> | |
1285 | - </tbody> | |
1286 | - </table> | |
1287 | - </td> | |
1288 | - </tr> | |
1289 | - </table> | |
1290 | - | |
1291 | - </td> | |
1292 | - | |
1293 | - | |
1294 | - | |
1295 | -<?php | |
1296 | - | |
1297 | - | |
1298 | - | |
1299 | - | |
1300 | - echo "</tr>"; | |
1301 | - echo "<tr>"; | |
1302 | - | |
1303 | -?> | |
1304 | - <tr><td> </td><td> </td></tr> | |
1305 | - <tr><td> </td><td> </td></tr> | |
1306 | - <td valign="top" colspan='2'> | |
1307 | - <table width="60%" border="0" align="center"> | |
1308 | - <thead> | |
1309 | - <tr class="textHeaderDark" bgcolor='#00438C'> | |
1310 | - <td align="center"><strong>Host Comments</strong></td> | |
1311 | - </tr> | |
1312 | - </thead> | |
1313 | - <tbody> | |
1314 | - <tr> | |
1315 | - <td width="60%" valign="top"> | |
1316 | - <table width="100%" align="center" cellpadding="3"> | |
1317 | - <thead> | |
1318 | - <tr align="center" class="textSubHeaderDark" bgcolor='#6d88ad'> | |
1319 | - <td>Entry Time</td> | |
1320 | - <td>Author</td> | |
1321 | - <td>Comment</td> | |
1322 | - <td>Persistent</td> | |
1323 | - <td>Type</td> | |
1324 | - <td>Delete</td> | |
1325 | - <tbody> | |
1326 | -<?php | |
1327 | - for($i = 0; $i < $row_count; $i++) { | |
1328 | - | |
1329 | - echo "<tr bgcolor='" . $rowColor . "'>"; | |
1330 | - echo "<td nowrap>" . $comments[$i]["timestamp"] . "</td>"; | |
1331 | - echo "<td>" . $comments[$i]["author"] . "</td>"; | |
1332 | - echo "<td>" . $comments[$i]["comment"] . "</td>"; | |
1333 | - echo "<td>"; | |
1334 | - if ($comments[$i]["persist"]) { | |
1335 | - echo "Yes"; | |
1336 | - } else { | |
1337 | - echo "No"; | |
1338 | - } | |
1339 | - echo "</td>"; | |
1340 | - echo "<td>"; | |
1341 | - if ($comments[$i]["type"] == 1) { | |
1342 | - echo "Comment"; | |
1343 | - } elseif ($comments[$i]["type"] == 3) { | |
1344 | - echo "Acknowledgment"; | |
1345 | - } | |
1346 | - echo "</td>"; | |
1347 | - echo "<td>"; | |
1348 | - if ($comments[$i]["type"] == 1) { | |
1349 | - echo "<a href='command.php?cmd=DEL_HOST_COMMENT&id=" . $comments[$i]["id"] . "&host=" . $hostname . "&hostid=" . $hostid . "'><img src='images/delete.gif' alt='delete' title='Delete comment' border=0></a>"; | |
1350 | - } elseif ($comments[$i]["type"] == 3) { | |
1351 | - echo "<a href='command.php?cmd=REMOVE_HOST_ACKNOWLEDGEMENT&host=" . $hostname . "&hostid=" . $hostid . "'><img src='images/delete.gif' alt='Remove' title='Remove problem acknowledgment' border=0></a>"; | |
1352 | - } | |
1353 | - echo "</td>"; | |
1354 | - | |
1355 | - | |
1356 | - if($rowColor == $background1) { | |
1357 | - $rowColor = $background2; | |
1358 | - } else { | |
1359 | - $rowColor = $background1; | |
1360 | - } | |
1361 | - } | |
1362 | - | |
1363 | - | |
1364 | - | |
1365 | - | |
1366 | - | |
1367 | - | |
1368 | - | |
1369 | -?> | |
1370 | - </tbody> | |
1371 | - </table> | |
1372 | - </td> | |
1373 | - </tr> | |
1374 | - <tr> | |
1375 | - <td> | |
1376 | - <?php | |
1377 | - echo "<a href='command.php?cmd=ADD_HOST_COMMENT&host=" . $hostname . "&hostid=" . $hostid . "'><img src='images/comment.gif' alt='Add a comment' title='Add a comment' border=0></a>"; | |
1378 | - echo "<a href='command.php?cmd=DEL_ALL_HOST_COMMENTS&host=" . $hostname . "&hostid=" . $hostid . "'><img src='images/delete.gif' alt='Delete all comments' title='Delete all comments' border=0></a>"; | |
1379 | - ?> | |
1380 | - </td> | |
1381 | - </tr> | |
1382 | - </tbody> | |
1383 | - </table> | |
1384 | - </td> | |
1385 | - <td></td> | |
1386 | - <tr><td> </td><td> </td></tr> | |
1387 | - <tr><td> </td><td> </td></tr> | |
1388 | - <tr> | |
1389 | - | |
1390 | - | |
1391 | - | |
1392 | - | |
1393 | - | |
1394 | - <td valign="top" colspan='2'> | |
1395 | - <table width="60%" border="0" align="center"> | |
1396 | - <thead> | |
1397 | - <tr align="center" class="textHeaderDark" bgcolor='#00438C'> | |
1398 | - <td align="center"><strong>Graph Mapping</strong></td> | |
1399 | - </tr> | |
1400 | - </thead> | |
1401 | - <tbody> | |
1402 | - <tr> | |
1403 | - <td width="60%" valign="top"> | |
1404 | - <table width="100%" align="center" cellpadding="3"> | |
1405 | - <tbody> | |
1406 | - | |
1407 | -<?php | |
1408 | - | |
1409 | -$cacti_graphs = db_fetch_assoc(" | |
1410 | -select | |
1411 | - graph_templates_graph.id, | |
1412 | - graph_templates_graph.local_graph_id, | |
1413 | - graph_templates_graph.height, | |
1414 | - graph_templates_graph.width, | |
1415 | - graph_templates_graph.title_cache as title, | |
1416 | - graph_templates.name, | |
1417 | - graph_local.host_id | |
1418 | - from graph_local,graph_templates_graph | |
1419 | - left join graph_templates on graph_local.graph_template_id=graph_templates.id | |
1420 | - where graph_local.id=graph_templates_graph.local_graph_id | |
1421 | - and graph_templates_graph.title_cache like '%' | |
1422 | - order by graph_templates_graph.title_cache,graph_local.host_id"); | |
1423 | - | |
1424 | - $row_count = count($cacti_graphs); | |
1425 | -/* http://logindev/cacti/graph_image.php?local_graph_id=6&rra_id=0 */ | |
1426 | -?> | |
1427 | - | |
1428 | - <FORM NAME="gm" ACTION="" method="post"> | |
1429 | - <tr bgcolor='<?php echo $background1; ?>'> | |
1430 | - <td>Associated graph:</td> | |
1431 | - <td> | |
1432 | - <select name="local_graph_id" size="1"> | |
1433 | - <?php | |
1434 | - echo "<OPTION VALUE='NULL'>None</option>"; | |
1435 | - for($i = 0; $i < $row_count; $i++) { | |
1436 | - echo "<OPTION VALUE='" . $cacti_graphs[$i]["local_graph_id"] . "'>" . $cacti_graphs[$i]["title"] . "</option>"; | |
1437 | - } | |
1438 | - ?> | |
1439 | - | |
1440 | - | |
1441 | - </select> | |
1442 | - </td> | |
1443 | - <td><INPUT TYPE="submit" VALUE="Map"></td> | |
1444 | - </tr> | |
1445 | - </FORM> | |
1446 | - | |
1447 | - | |
1448 | - </tbody> | |
1449 | - </table> | |
1450 | - <?php | |
1451 | - if ($host_config["cacti_graph_id"]) { | |
1452 | - echo "<table align='center'>"; | |
1453 | - echo "<tr><td width='100%'>"; | |
1454 | - echo "<img src='../../graph_image.php?local_graph_id=" . $host_config["cacti_graph_id"] . "&rra_id=0'>"; | |
1455 | - echo "</td></tr>"; | |
1456 | - } | |
1457 | - ?> | |
1458 | - </td> | |
1459 | - </tr> | |
1460 | - </tbody> | |
1461 | - </table> | |
1462 | - | |
1463 | - </td> | |
1464 | - | |
1465 | - </tr> | |
1466 | - </table> | |
1467 | - | |
1468 | -<?php | |
1469 | - | |
1470 | - | |
1471 | -} | |
1472 | - | |
1473 | - | |
1474 | - | |
1475 | - | |
1476 | -?> | |
1477 | +<?php\r | |
1478 | +/*\r | |
1479 | + +-------------------------------------------------------------------------+\r | |
1480 | + | Nagios Plugin 0.1a for cacti 0.8.6f |\r | |
1481 | + | Copyright (C) 2005 Billy Gunn (billy@gunn.org) |\r | |
1482 | + | |\r | |
1483 | + | This program is free software; you can redistribute it and/or |\r | |
1484 | + | modify it under the terms of the GNU General Public License |\r | |
1485 | + | as published by the Free Software Foundation; either version 2 |\r | |
1486 | + | of the License, or (at your option) any later version. |\r | |
1487 | + | |\r | |
1488 | + | This program is distributed in the hope that it will be useful, |\r | |
1489 | + | but WITHOUT ANY WARRANTY; without even the implied warranty of |\r | |
1490 | + | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |\r | |
1491 | + | GNU General Public License for more details. |\r | |
1492 | + +-------------------------------------------------------------------------+\r | |
1493 | + | Cacti and Nagios are the copyright of their respective owners. |\r | |
1494 | + +-------------------------------------------------------------------------+\r | |
1495 | +*/\r | |
1496 | +\r | |
1497 | +chdir('../../');\r | |
1498 | +include_once("./include/auth.php");\r | |
1499 | +include_once("./include/config.php");\r | |
1500 | +\r | |
1501 | +// Refresh the page at a user supplied interval\r | |
1502 | +header("Refresh: " . read_config_option("npc_refresh") . "; URL=" . $_SERVER["REQUEST_URI"]);\r | |
1503 | +\r | |
1504 | +/* set default action */\r | |
1505 | +if (!isset($_REQUEST["type"])) { $_REQUEST["type"] = ""; }\r | |
1506 | +\r | |
1507 | +switch ($_REQUEST["type"]) {\r | |
1508 | + case '1':\r | |
1509 | +\r | |
1510 | + hostInfo();\r | |
1511 | + include_once("./include/bottom_footer.php");\r | |
1512 | + break;\r | |
1513 | +\r | |
1514 | + case '2':\r | |
1515 | +\r | |
1516 | + serviceInfo();\r | |
1517 | + include_once("./include/bottom_footer.php");\r | |
1518 | + break;\r | |
1519 | +\r | |
1520 | + default:\r | |
1521 | +\r | |
1522 | + hostInfo();\r | |
1523 | + include_once("./include/bottom_footer.php");\r | |
1524 | + break;\r | |
1525 | +}\r | |
1526 | +\r | |
1527 | +\r | |
1528 | +function formatTime($time) {\r | |
1529 | +\r | |
1530 | + $days = floor($time/60/60/24);\r | |
1531 | + $time -= $days*60*60*24;\r | |
1532 | + $hours = floor($time/60/60);\r | |
1533 | + $time -= $hours*60*60;\r | |
1534 | + $minutes = floor($time/60);\r | |
1535 | + $time -= $minutes*60;\r | |
1536 | + $seconds = $time;\r | |
1537 | +\r | |
1538 | + return ($days . "d " . $hours . "h " . $minutes . "m " . $seconds . "s");\r | |
1539 | +}\r | |
1540 | +\r | |
1541 | +\r | |
1542 | +function serviceInfo() {\r | |
1543 | +\r | |
1544 | + $hostid = $_REQUEST["hostid"];\r | |
1545 | + $serviceid = $_REQUEST["serviceid"];\r | |
1546 | + $hostname = $_REQUEST["hostname"];\r | |
1547 | + $serviceName = ereg_replace("\+", " ", $_REQUEST["service"]);\r | |
1548 | +\r | |
1549 | +\r | |
1550 | + if (isset($_POST["local_graph_id"])) {\r | |
1551 | + db_execute("update npc_service set cacti_graph_id = " . $_POST["local_graph_id"] . " where id = " . $serviceid);\r | |
1552 | + header("Location: extinfo.php?type=2&hostid=" . $hostid . "&hostname=" . $hostname . "&serviceid=" . $serviceid . "&service=" . $_REQUEST["service"]);\r | |
1553 | + }\r | |
1554 | +\r | |
1555 | + include_once("top_npc_header.php");\r | |
1556 | +\r | |
1557 | + $background1 = "#F5F5F5";\r | |
1558 | + $background2 = "#E7E9F2";\r | |
1559 | + $rowColor = $background1;\r | |
1560 | +\r | |
1561 | + $service_detail = db_fetch_row("\r | |
1562 | +select distinct\r | |
1563 | + service_soft_state as 'Current Status',\r | |
1564 | + duration as 'State Duration',\r | |
1565 | + check_command as 'Check Command',\r | |
1566 | + plugin_output as 'Plugin Output',\r | |
1567 | + performance_data as 'Performance Data',\r | |
1568 | + current_attempt as 'Current Attempt',\r | |
1569 | + from_unixtime(last_check) as 'Last Check',\r | |
1570 | + from_unixtime(next_check) as 'Next Check',\r | |
1571 | + check_latency as 'Check Latency',\r | |
1572 | + check_execute_time as 'Check Duration',\r | |
1573 | + hostid,\r | |
1574 | + name,\r | |
1575 | + host_soft_state as 'Host Soft State',\r | |
1576 | + host_notifications as 'Host Notifications',\r | |
1577 | + service as 'Service',\r | |
1578 | + cacti_graph_id,\r | |
1579 | + serviceid,\r | |
1580 | + service_hard_state,\r | |
1581 | + service_notifications as 'Service Notifications',\r | |
1582 | + max_attempts as 'Max Attempts'\r | |
1583 | +from\r | |
1584 | + (\r | |
1585 | + select\r | |
1586 | + npc_host.id as hostid,\r | |
1587 | + npc_host.name,\r | |
1588 | + npc_hostgroup_membership.groupid as hostgroup,\r | |
1589 | + npc_host_history.soft_state as host_soft_state,\r | |
1590 | + npc_host.notifications_enabled as host_notifications,\r | |
1591 | + npc_service.id as serviceid,\r | |
1592 | + npc_service.cacti_graph_id,\r | |
1593 | + npc_service.service_description as service,\r | |
1594 | + npc_service_history.soft_state as service_soft_state,\r | |
1595 | + npc_service_history.hard_state as service_hard_state,\r | |
1596 | + npc_service.notifications_enabled as service_notifications,\r | |
1597 | + npc_service_check.last_check,\r | |
1598 | + npc_service_check.next_check,\r | |
1599 | + npc_service_check.check_execute_time,\r | |
1600 | + npc_service_check.check_latency,\r | |
1601 | + npc_service_check.check_command,\r | |
1602 | + npc_service_check.performance_data,\r | |
1603 | + unix_timestamp() - npc_service_history.started as duration,\r | |
1604 | + npc_service_history.current_attempt,\r | |
1605 | + npc_service_check.max_attempts,\r | |
1606 | + npc_service_history.plugin_output\r | |
1607 | + from\r | |
1608 | + npc_host,\r | |
1609 | + npc_host_history,\r | |
1610 | + npc_hostgroup_membership,\r | |
1611 | + npc_service,\r | |
1612 | + npc_service_check,\r | |
1613 | + npc_service_history\r | |
1614 | + where\r | |
1615 | + npc_host.id = npc_hostgroup_membership.hostid and\r | |
1616 | + npc_host.id = npc_service.hostid and\r | |
1617 | + npc_host.id = npc_host_history.hostid and\r | |
1618 | + npc_service.id = npc_service_check.serviceid and\r | |
1619 | + npc_service.id = npc_service_history.serviceid and\r | |
1620 | + npc_service_history.lasted is null and\r | |
1621 | + npc_host_history.lasted is null and\r | |
1622 | + npc_service.configured = TRUE and\r | |
1623 | + npc_service.has_been_checked = TRUE and\r | |
1624 | + npc_host.has_been_checked = TRUE\r | |
1625 | + union\r | |
1626 | + select\r | |
1627 | + npc_host.id as hostid,\r | |
1628 | + npc_host.name,\r | |
1629 | + 0 as hostgroup,\r | |
1630 | + npc_host_history.soft_state as host_soft_state,\r | |
1631 | + npc_host.notifications_enabled as host_notifications,\r | |
1632 | + npc_service.id as serviceid,\r | |
1633 | + npc_service.cacti_graph_id,\r | |
1634 | + npc_service.service_description as service,\r | |
1635 | + npc_service_history.soft_state as service_soft_state,\r | |
1636 | + npc_service_history.hard_state as service_hard_state,\r | |
1637 | + npc_service.notifications_enabled as service_notifications,\r | |
1638 | + npc_service_check.last_check,\r | |
1639 | + npc_service_check.next_check,\r | |
1640 | + npc_service_check.check_execute_time,\r | |
1641 | + npc_service_check.check_latency,\r | |
1642 | + npc_service_check.check_command,\r | |
1643 | + npc_service_check.performance_data,\r | |
1644 | + unix_timestamp() - npc_service_history.started as duration,\r | |
1645 | + npc_service_history.current_attempt,\r | |
1646 | + npc_service_check.max_attempts,\r | |
1647 | + npc_service_history.plugin_output\r | |
1648 | + from\r | |
1649 | + npc_host,\r | |
1650 | + npc_host_history,\r | |
1651 | + npc_service,\r | |
1652 | + npc_service_check,\r | |
1653 | + npc_service_history\r | |
1654 | + where\r | |
1655 | + npc_host.id not in (select hostid from npc_hostgroup_membership) and\r | |
1656 | + npc_host.id = npc_service.hostid and\r | |
1657 | + npc_host.id = npc_host_history.hostid and\r | |
1658 | + npc_service.id = npc_service_check.serviceid and\r | |
1659 | + npc_service.id = npc_service_history.serviceid and\r | |
1660 | + npc_service_history.lasted is null and\r | |
1661 | + npc_host_history.lasted is null and\r | |
1662 | + npc_service.configured = TRUE and\r | |
1663 | + npc_service.has_been_checked = TRUE and\r | |
1664 | + npc_host.has_been_checked = TRUE\r | |
1665 | + union\r | |
1666 | + select\r | |
1667 | + npc_host.id as hostid,\r | |
1668 | + npc_host.name,\r | |
1669 | + npc_hostgroup_membership.groupid as hostgroup,\r | |
1670 | + -1 as host_soft_state,\r | |
1671 | + npc_host.notifications_enabled as host_notifications,\r | |
1672 | + npc_service.id as serviceid,\r | |
1673 | + npc_service.cacti_graph_id,\r | |
1674 | + npc_service.service_description as service,\r | |
1675 | + npc_service_history.soft_state as service_soft_state,\r | |
1676 | + npc_service_history.hard_state as service_hard_state,\r | |
1677 | + npc_service.notifications_enabled as service_notifications,\r | |
1678 | + npc_service_check.last_check,\r | |
1679 | + npc_service_check.next_check,\r | |
1680 | + npc_service_check.check_execute_time,\r | |
1681 | + npc_service_check.check_latency,\r | |
1682 | + npc_service_check.check_command,\r | |
1683 | + npc_service_check.performance_data,\r | |
1684 | + unix_timestamp() - npc_service_history.started as duration,\r | |
1685 | + npc_service_history.current_attempt,\r | |
1686 | + npc_service_check.max_attempts,\r | |
1687 | + npc_service_history.plugin_output\r | |
1688 | + from\r | |
1689 | + npc_host,\r | |
1690 | + npc_hostgroup_membership,\r | |
1691 | + npc_service,\r | |
1692 | + npc_service_check,\r | |
1693 | + npc_service_history\r | |
1694 | + where\r | |
1695 | + npc_host.id = npc_hostgroup_membership.hostid and\r | |
1696 | + npc_host.id = npc_service.hostid and\r | |
1697 | + npc_service.id = npc_service_check.serviceid and\r | |
1698 | + npc_service.id = npc_service_history.serviceid and\r | |
1699 | + npc_service_history.lasted is null and\r | |
1700 | + npc_service.configured = TRUE and\r | |
1701 | + npc_service.has_been_checked = TRUE and\r | |
1702 | + npc_host.has_been_checked = FALSE\r | |
1703 | + union\r | |
1704 | + select\r | |
1705 | + npc_host.id as hostid,\r | |
1706 | + npc_host.name,\r | |
1707 | + 0 as hostgroup,\r | |
1708 | + -1 as host_soft_state,\r | |
1709 | + npc_host.notifications_enabled as host_notifications,\r | |
1710 | + npc_service.id as serviceid,\r | |
1711 | + npc_service.cacti_graph_id,\r | |
1712 | + npc_service.service_description as service,\r | |
1713 | + npc_service_history.soft_state as service_soft_state,\r | |
1714 | + npc_service_history.hard_state as service_hard_state,\r | |
1715 | + npc_service.notifications_enabled as service_notifications,\r | |
1716 | + npc_service_check.last_check,\r | |
1717 | + npc_service_check.next_check,\r | |
1718 | + npc_service_check.check_execute_time,\r | |
1719 | + npc_service_check.check_latency,\r | |
1720 | + npc_service_check.check_command,\r | |
1721 | + npc_service_check.performance_data,\r | |
1722 | + unix_timestamp() - npc_service_history.started as duration,\r | |
1723 | + npc_service_history.current_attempt,\r | |
1724 | + npc_service_check.max_attempts,\r | |
1725 | + npc_service_history.plugin_output\r | |
1726 | + from\r | |
1727 | + npc_host,\r | |
1728 | + npc_service,\r | |
1729 | + npc_service_check,\r | |
1730 | + npc_service_history\r | |
1731 | + where\r | |
1732 | + npc_host.id not in (select hostid from npc_hostgroup_membership) and\r | |
1733 | + npc_host.id = npc_service.hostid and\r | |
1734 | + npc_service.id = npc_service_check.serviceid and\r | |
1735 | + npc_service.id = npc_service_history.serviceid and\r | |
1736 | + npc_service_history.lasted is null and\r | |
1737 | + npc_service.configured = TRUE and\r | |
1738 | + npc_service.has_been_checked = TRUE and\r | |
1739 | + npc_host.has_been_checked = FALSE\r | |
1740 | + union\r | |
1741 | + select\r | |
1742 | + npc_host.id as hostid,\r | |
1743 | + npc_host.name,\r | |
1744 | + npc_hostgroup_membership.groupid as hostgroup,\r | |
1745 | + npc_host_history.soft_state as host_soft_state,\r | |
1746 | + npc_host.notifications_enabled as host_notifications,\r | |
1747 | + npc_service.id as serviceid,\r | |
1748 | + npc_service.cacti_graph_id,\r | |
1749 | + npc_service.service_description as service,\r | |
1750 | + -1 as service_soft_state,\r | |
1751 | + -1 as service_hard_state,\r | |
1752 | + npc_service.notifications_enabled as service_notifications,\r | |
1753 | + npc_service_check.last_check,\r | |
1754 | + npc_service_check.next_check,\r | |
1755 | + npc_service_check.check_execute_time,\r | |
1756 | + npc_service_check.check_latency,\r | |
1757 | + npc_service_check.check_command,\r | |
1758 | + npc_service_check.performance_data,\r | |
1759 | + 0 as duration,\r | |
1760 | + 0 as current_attempt,\r | |
1761 | + npc_service_check.max_attempts,\r | |
1762 | + null as plugin_output\r | |
1763 | + from\r | |
1764 | + npc_host,\r | |
1765 | + npc_host_history,\r | |
1766 | + npc_hostgroup_membership,\r | |
1767 | + npc_service,\r | |
1768 | + npc_service_check\r | |
1769 | + where\r | |
1770 | + npc_host.id = npc_hostgroup_membership.hostid and\r | |
1771 | + npc_host.id = npc_service.hostid and\r | |
1772 | + npc_host.id = npc_host_history.hostid and\r | |
1773 | + npc_service.id = npc_service_check.serviceid and\r | |
1774 | + npc_host_history.lasted is null and\r | |
1775 | + npc_service.configured = TRUE and\r | |
1776 | + npc_service.has_been_checked = FALSE and\r | |
1777 | + npc_host.has_been_checked = TRUE\r | |
1778 | + union\r | |
1779 | + select\r | |
1780 | + npc_host.id as hostid,\r | |
1781 | + npc_host.name,\r | |
1782 | + 0 as hostgroup,\r | |
1783 | + npc_host_history.soft_state as host_soft_state,\r | |
1784 | + npc_host.notifications_enabled as host_notifications,\r | |
1785 | + npc_service.id as serviceid,\r | |
1786 | + npc_service.cacti_graph_id,\r | |
1787 | + npc_service.service_description as service,\r | |
1788 | + -1 as service_soft_state,\r | |
1789 | + -1 as service_hard_state,\r | |
1790 | + npc_service.notifications_enabled as service_notifications,\r | |
1791 | + npc_service_check.last_check,\r | |
1792 | + npc_service_check.next_check,\r | |
1793 | + npc_service_check.check_execute_time,\r | |
1794 | + npc_service_check.check_latency,\r | |
1795 | + npc_service_check.check_command,\r | |
1796 | + npc_service_check.performance_data,\r | |
1797 | + 0 as duration,\r | |
1798 | + 0 as current_attempt,\r | |
1799 | + npc_service_check.max_attempts,\r | |
1800 | + null as plugin_output\r | |
1801 | + from\r | |
1802 | + npc_host,\r | |
1803 | + npc_host_history,\r | |
1804 | + npc_service,\r | |
1805 | + npc_service_check\r | |
1806 | + where\r | |
1807 | + npc_host.id not in (select hostid from npc_hostgroup_membership) and\r | |
1808 | + npc_host.id = npc_service.hostid and\r | |
1809 | + npc_host.id = npc_host_history.hostid and\r | |
1810 | + npc_service.id = npc_service_check.serviceid and\r | |
1811 | + npc_host_history.lasted is null and\r | |
1812 | + npc_service.configured = TRUE and\r | |
1813 | + npc_service.has_been_checked = FALSE and\r | |
1814 | + npc_host.has_been_checked = TRUE\r | |
1815 | + union\r | |
1816 | + select\r | |
1817 | + npc_host.id as hostid,\r | |
1818 | + npc_host.name,\r | |
1819 | + npc_hostgroup_membership.groupid as hostgroup,\r | |
1820 | + -1 as host_soft_state,\r | |
1821 | + npc_host.notifications_enabled as host_notifications,\r | |
1822 | + npc_service.id as serviceid,\r | |
1823 | + npc_service.cacti_graph_id,\r | |
1824 | + npc_service.service_description as service,\r | |
1825 | + -1 as service_soft_state,\r | |
1826 | + -1 as service_hard_state,\r | |
1827 | + npc_service.notifications_enabled as service_notifications,\r | |
1828 | + npc_service_check.last_check,\r | |
1829 | + npc_service_check.next_check,\r | |
1830 | + npc_service_check.check_execute_time,\r | |
1831 | + npc_service_check.check_latency,\r | |
1832 | + npc_service_check.check_command,\r | |
1833 | + npc_service_check.performance_data,\r | |
1834 | + 0 as duration,\r | |
1835 | + 0 as current_attempt,\r | |
1836 | + npc_service_check.max_attempts,\r | |
1837 | + null as plugin_output\r | |
1838 | + from\r | |
1839 | + npc_host,\r | |
1840 | + npc_hostgroup_membership,\r | |
1841 | + npc_service,\r | |
1842 | + npc_service_check\r | |
1843 | + where\r | |
1844 | + npc_host.id = npc_hostgroup_membership.hostid and\r | |
1845 | + npc_host.id = npc_service.hostid and\r | |
1846 | + npc_service.id = npc_service_check.serviceid and\r | |
1847 | + npc_service.configured = TRUE and\r | |
1848 | + npc_service.has_been_checked = FALSE and\r | |
1849 | + npc_host.has_been_checked = FALSE\r | |
1850 | + union\r | |
1851 | + select\r | |
1852 | + npc_host.id as hostid,\r | |
1853 | + npc_host.name,\r | |
1854 | + 0 as hostgroup,\r | |
1855 | + -1 as host_soft_state,\r | |
1856 | + npc_host.notifications_enabled as host_notifications,\r | |
1857 | + npc_service.id as serviceid,\r | |
1858 | + npc_service.cacti_graph_id,\r | |
1859 | + npc_service.service_description as service,\r | |
1860 | + -1 as service_soft_state,\r | |
1861 | + -1 as service_hard_state,\r | |
1862 | + npc_service.notifications_enabled as service_notifications,\r | |
1863 | + npc_service_check.last_check,\r | |
1864 | + npc_service_check.next_check,\r | |
1865 | + npc_service_check.check_execute_time,\r | |
1866 | + npc_service_check.check_latency,\r | |
1867 | + npc_service_check.check_command,\r | |
1868 | + npc_service_check.performance_data,\r | |
1869 | + 0 as duration,\r | |
1870 | + 0 as current_attempt,\r | |
1871 | + npc_service_check.max_attempts,\r | |
1872 | + null as plugin_output\r | |
1873 | + from\r | |
1874 | + npc_host,\r | |
1875 | + npc_service,\r | |
1876 | + npc_service_check\r | |
1877 | + where\r | |
1878 | + npc_host.id not in (select hostid from npc_hostgroup_membership) and\r | |
1879 | + npc_host.id = npc_service.hostid and\r | |
1880 | + npc_service.id = npc_service_check.serviceid and\r | |
1881 | + npc_service.configured = TRUE and\r | |
1882 | + npc_service.has_been_checked = FALSE and\r | |
1883 | + npc_host.has_been_checked = FALSE\r | |
1884 | + order by\r | |
1885 | + name\r | |
1886 | + ) as host_details where hostid = $hostid and service = '$serviceName'");\r | |
1887 | +\r | |
1888 | + $service_detail["flapping"] = db_fetch_cell("select id from npc_flapping_service where id = $serviceid");\r | |
1889 | + $service_config = db_fetch_row("select active_checks_enabled, passive_checks_enabled, event_handler_enabled, flap_detection_enabled, notifications_enabled, failure_prediction_enabled, process_performance_data, obsess_over_service, event_handler from npc_service where hostid = $hostid and service_description = '$serviceName'");\r | |
1890 | + $comments = db_fetch_assoc("select id,serviceid,timestamp,author,comment,persist,type from npc_comment where serviceid = '$serviceid'");\r | |
1891 | + $row_count = count($comments);\r | |
1892 | +\r | |
1893 | +?>\r | |
1894 | +\r | |
1895 | +\r | |
1896 | +\r | |
1897 | +\r | |
1898 | + <table width="98%" border="0" cellpadding="0" cellspacing="0" align="center">\r | |
1899 | + <tr class="textSubHeaderDark" bgcolor='#6d88ad'>\r | |
1900 | + <td>\r | |
1901 | + <h2> [ <?php echo $serviceName; ?> ] on \r | |
1902 | + <a href="extinfo.php?type=1&hostid=<?php echo $hostid; ?>&hostname=<?php echo $hostname; ?>"><?php echo $hostname; ?></a></h2>\r | |
1903 | + </td>\r | |
1904 | + <td align='right' nowrap>\r | |
1905 | + <FORM NAME="cl" ACTION="command.php" method="POST">Command: \r | |
1906 | + <INPUT TYPE='hidden' NAME='host' VALUE='<?php echo $hostname; ?>'>\r | |
1907 | + <INPUT TYPE='hidden' NAME='hostid' VALUE='<?php echo $service_detail["hostid"]; ?>'>\r | |
1908 | + <INPUT TYPE='hidden' NAME='service' VALUE='<?php echo $serviceName; ?>'>\r | |
1909 | + <INPUT TYPE='hidden' NAME='serviceid' VALUE='<?php echo $service_detail["serviceid"]; ?>'>\r | |
1910 | + <select name="command" size="1">\r | |
1911 | +\r | |
1912 | +<?php \r | |
1913 | + if (read_config_option("nagios_commands")) {\r | |
1914 | +\r | |
1915 | + echo "<OPTION VALUE='NULL'>Execute a command</option>";\r | |
1916 | +\r | |
1917 | + if ($service_config["active_checks_enabled"]) {\r | |
1918 | + echo "<strong><OPTION VALUE='DISABLE_SVC_CHECK'>Disable active checks</option></strong>";\r | |
1919 | + echo "<OPTION VALUE='SCHEDULE_SVC_CHECK'>Re-schedule the next check</option>";\r | |
1920 | + } else {\r | |
1921 | + echo "<OPTION VALUE='ENABLE_SVC_CHECK'>Enable Active Checks</option>";\r | |
1922 | + }\r | |
1923 | + if ($service_config["passive_checks_enabled"]) {\r | |
1924 | + echo "<OPTION VALUE='PROCESS_SVC_CHECK_RESULT'>Submit passive check result</option>";\r | |
1925 | + echo "<OPTION VALUE='DISABLE_PASSIVE_SVC_CHECKS'>Stop accepting passive checks</option>";\r | |
1926 | + } else {\r | |
1927 | + echo "<OPTION VALUE='ENABLE_PASSIVE_SVC_CHECKS'>Start accepting passive checks</option>";\r | |
1928 | + }\r | |
1929 | + if ($service_config["obsess_over_service"]) {\r | |
1930 | + echo "<OPTION VALUE='STOP_OBSESSING_OVER_SVC'>Stop obsessing</option>";\r | |
1931 | + } else {\r | |
1932 | + echo "<OPTION VALUE='START_OBSESSING_OVER_SVC'>Start obsessing</option>";\r | |
1933 | + }\r | |
1934 | + if ($service_detail["Current Status"] == 1 || $service_detail["Current Status"] == 2 || $service_detail["Current Status"] == 3 && $service_detail["Current Status"] == $service_detail["service_hard_state"]) {\r | |
1935 | + if (!db_fetch_cell("select * from npc_comment where serviceid = $serviceid and type = 4;")) {\r | |
1936 | + echo "<OPTION VALUE='ACKNOWLEDGE_SVC_PROBLEM'>Acknowledge This Service Problem</option>";\r | |
1937 | + } elseif (db_fetch_cell("select * from npc_comment where serviceid = $serviceid and type = 4;")) {\r | |
1938 | + echo "<OPTION VALUE='REMOVE_SVC_ACKNOWLEDGEMENT'>Remove Problem Acknowledgement</option>";\r | |
1939 | + }\r | |
1940 | + }\r | |
1941 | + if ($service_config["notifications_enabled"]) {\r | |
1942 | + echo "<OPTION VALUE='DISABLE_SVC_NOTIFICATIONS'>Disable Notifications</option>";\r | |
1943 | + if ($service_detail["Current Status"] != 0) {\r | |
1944 | + echo "<OPTION VALUE='DELAY_SVC_NOTIFICATION'>Delay Next Service Notification</option>";\r | |
1945 | + }\r | |
1946 | + } else {\r | |
1947 | + echo "<OPTION VALUE='ENABLE_SVC_NOTIFICATIONS'>Enable Notifications</option>";\r | |
1948 | + }\r | |
1949 | + echo "<OPTION VALUE='SCHEDULE_SVC_DOWNTIME'>Schedule Downtime</option>";\r | |
1950 | + if ($service_config["event_handler_enabled"]) {\r | |
1951 | + echo "<OPTION VALUE='DISABLE_SVC_EVENT_HANDLER'>Disable Event Handler</option>";\r | |
1952 | + } else {\r | |
1953 | + echo "<OPTION VALUE='ENABLE_SVC_EVENT_HANDLER'>Enable Event Handler</option>";\r | |
1954 | + }\r | |
1955 | + if ($service_config["flap_detection_enabled"]) {\r | |
1956 | + echo "<OPTION VALUE='DISABLE_SVC_FLAP_DETECTION'>Disable Flap Detection</option>";\r | |
1957 | + } else {\r | |
1958 | + echo "<OPTION VALUE='ENABLE_SVC_FLAP_DETECTION'>Enable Flap Detection</option>";\r | |
1959 | + }\r | |
1960 | + echo "<OPTION VALUE='ADD_SVC_COMMENT'>Add Service Comment</option>";\r | |
1961 | + echo "<OPTION VALUE='DEL_ALL_SVC_COMMENTS'>Delete All Service Comments</option>";\r | |
1962 | + } else {\r | |
1963 | + echo "<OPTION VALUE=''>Command execution disabled</option>";\r | |
1964 | + }\r | |
1965 | +?>\r | |
1966 | +\r | |
1967 | + </select>\r | |
1968 | + <input type='image' src='../../images/button_go.gif' alt='Go' value='Execute' align='absmiddle'>\r | |
1969 | + </form>\r | |
1970 | +\r | |
1971 | +\r | |
1972 | + </td>\r | |
1973 | + </tr>\r | |
1974 | +\r | |
1975 | + <tr><td> </td><td> </td></tr>\r | |
1976 | + <tr>\r | |
1977 | + <td valign="top">\r | |
1978 | + <table width="100%" border="0" align="left" valign="top">\r | |
1979 | + <thead>\r | |
1980 | + <tr class="textHeaderDark" bgcolor='#00438C'>\r | |
1981 | + <td align="center"><strong>Service State Information</strong></td>\r | |
1982 | + </tr>\r | |
1983 | + </thead>\r | |
1984 | + <tbody>\r | |
1985 | + <tr>\r | |
1986 | + <td width="100%" valign="top">\r | |
1987 | + <table width="100%" align="center" cellpadding="3">\r | |
1988 | + <thead>\r | |
1989 | + <tr align="center" class="textSubHeaderDark" bgcolor='#6d88ad'>\r | |
1990 | + <td>Parameter</td>\r | |
1991 | + <td>Value</td>\r | |
1992 | + </tr>\r | |
1993 | + </thead>\r | |
1994 | + <tbody>\r | |
1995 | +\r | |
1996 | +\r | |
1997 | +<?php\r | |
1998 | +\r | |
1999 | +\r | |
2000 | + foreach ($service_detail as $key => $value) {\r | |
2001 | +\r | |
2002 | +\r | |
2003 | + switch($key) \r | |
2004 | + {\r | |
2005 | + case "Current Status":\r | |
2006 | + echo "<tr bgcolor='" . $rowColor . "'>";\r | |
2007 | + echo "<td>" . $key . ":</td>";\r | |
2008 | + switch($value)\r | |
2009 | + {\r | |
2010 | + case "-1":\r | |
2011 | + echo "<td class='statusPENDING'><strong>PENDING</strong></td>";\r | |
2012 | + break;\r | |
2013 | + case "0":\r | |
2014 | + echo "<td class='statusOK'><strong>OK</strong></td>";\r | |
2015 | + break;\r | |
2016 | + case "1":\r | |
2017 | + echo "<td class='statusWARNING'><strong>WARNING</strong></td>";\r | |
2018 | + break;\r | |
2019 | + case "2":\r | |
2020 | + echo "<td class='statusCRITICAL'><strong>CRITICAL</strong></td>";\r | |
2021 | + break;\r | |
2022 | + case "3":\r | |
2023 | + echo "<td class='statusUNKNOWN'><strong>UNKNOWN</strong></td>";\r | |
2024 | + break;\r | |
2025 | + }\r | |
2026 | + echo "</tr>";\r | |
2027 | + break;\r | |
2028 | + case "State Duration":\r | |
2029 | + echo "<tr bgcolor='" . $rowColor . "'>";\r | |
2030 | + echo "<td>" . $key . ":</td>";\r | |
2031 | + echo "<td>" . formatTime($value) . "</td>";\r | |
2032 | + echo "</tr>";\r | |
2033 | + break;\r | |
2034 | + case "Check Command":\r | |
2035 | + echo "<tr bgcolor='" . $rowColor . "'>";\r | |
2036 | + echo "<td>" . $key . ":</td>";\r | |
2037 | + echo "<td>" . $value . "</td>";\r | |
2038 | + echo "</tr>";\r | |
2039 | + break;\r | |
2040 | + case "Plugin Output":\r | |
2041 | + echo "<tr bgcolor='" . $rowColor . "'>";\r | |
2042 | + echo "<td>" . $key . ":</td>";\r | |
2043 | + echo "<td>" . $value . "</td>";\r | |
2044 | + echo "</tr>";\r | |
2045 | + break;\r | |
2046 | + case "Performance Data":\r | |
2047 | + echo "<tr bgcolor='" . $rowColor . "'>";\r | |
2048 | + echo "<td>" . $key . ":</td>";\r | |
2049 | + echo "<td>" . $value . "</td>";\r | |
2050 | + echo "</tr>";\r | |
2051 | + break;\r | |
2052 | + case "Current Attempt":\r | |
2053 | + echo "<tr bgcolor='" . $rowColor . "'>";\r | |
2054 | + echo "<td>" . $key . ":</td>";\r | |
2055 | + echo "<td>" . $value . "/" . $service_detail["Max Attempts"] . "</td>";\r | |
2056 | + echo "</tr>";\r | |
2057 | + break;\r | |
2058 | + case "Last Check":\r | |
2059 | + echo "<tr bgcolor='" . $rowColor . "'>";\r | |
2060 | + echo "<td>" . $key . ":</td>";\r | |
2061 | + if (preg_match('/1969-12-31/', $value)) {\r | |
2062 | + echo "<td>N/A</td>";\r | |
2063 | + } else {\r | |
2064 | + echo "<td>" . $value . "</td>";\r | |
2065 | + }\r | |
2066 | + echo "</tr>";\r | |
2067 | + break;\r | |
2068 | + case "Next Check":\r | |
2069 | + echo "<tr bgcolor='" . $rowColor . "'>";\r | |
2070 | + echo "<td>" . $key . ":</td>";\r | |
2071 | + echo "<td>" . $value . "</td>";\r | |
2072 | + echo "</tr>";\r | |
2073 | + break;\r | |
2074 | + case "Check Latency":\r | |
2075 | + echo "<tr bgcolor='" . $rowColor . "'>";\r | |
2076 | + echo "<td>" . $key . ":</td>";\r | |
2077 | + echo "<td>" . $value . "</td>";\r | |
2078 | + echo "</tr>";\r | |
2079 | + break;\r | |
2080 | + case "Check Duration":\r | |
2081 | + echo "<tr bgcolor='" . $rowColor . "'>";\r | |
2082 | + echo "<td>" . $key . ":</td>";\r | |
2083 | + echo "<td>" . $value . "</td>";\r | |
2084 | + echo "</tr>";\r | |
2085 | + break;\r | |
2086 | + case "flapping":\r | |
2087 | + echo "<tr bgcolor='" . $rowColor . "'>";\r | |
2088 | + echo "<td>Flapping:</td>";\r | |
2089 | + if ($service_detail["flapping"]) {\r | |
2090 | + echo "<td>Yes</td>";\r | |
2091 | + } else {\r | |
2092 | + echo "<td>No</td>";\r | |
2093 | + }\r | |
2094 | + echo "</tr>";\r | |
2095 | + break;\r | |
2096 | + }\r | |
2097 | +\r | |
2098 | + if($rowColor == $background1) {\r | |
2099 | + $rowColor = $background2;\r | |
2100 | + } else {\r | |
2101 | + $rowColor = $background1;\r | |
2102 | + }\r | |
2103 | +\r | |
2104 | + if ($key == "flapping") {\r | |
2105 | + echo "<tr bgcolor='" . $rowColor . "'>";\r | |
2106 | + echo "<td>Event Handler:</td>";\r | |
2107 | + if (!$service_config["event_handler"]) {\r | |
2108 | + echo "<td>N/A</td>";\r | |
2109 | + } else {\r | |
2110 | + echo "<td>" . $service_config["event_handler"] . "</td>";\r | |
2111 | + }\r | |
2112 | + echo "</tr>";\r | |
2113 | + }\r | |
2114 | +\r | |
2115 | +\r | |
2116 | + }\r | |
2117 | +\r | |
2118 | +\r | |
2119 | +?>\r | |
2120 | +\r | |
2121 | + </tbody>\r | |
2122 | + </table>\r | |
2123 | +\r | |
2124 | + </td>\r | |
2125 | + </tr>\r | |
2126 | + </tbody>\r | |
2127 | + </table>\r | |
2128 | +\r | |
2129 | + </td>\r | |
2130 | +\r | |
2131 | + <td valign="top">\r | |
2132 | + <table width="70%" border="0" align="right">\r | |
2133 | + <thead>\r | |
2134 | + <tr class="textHeaderDark" bgcolor='#00438C'>\r | |
2135 | + <td align="center"><strong>Service Monitoring Options</strong></td>\r | |
2136 | + </tr>\r | |
2137 | + </thead>\r | |
2138 | + <tbody>\r | |
2139 | + <tr>\r | |
2140 | + <td width="70%" valign="top">\r | |
2141 | + <table width="100%" align="center" cellpadding="3">\r | |
2142 | + <thead>\r | |
2143 | + <tr align="center" class="textSubHeaderDark" bgcolor='#6d88ad'>\r | |
2144 | + <td>Parameter</td>\r | |
2145 | + <td>Value</td>\r | |
2146 | + </tr>\r | |
2147 | + </thead>\r | |
2148 | + <tbody>\r | |
2149 | +\r | |
2150 | +<?php\r | |
2151 | + $rowColor = $background1;\r | |
2152 | + echo "<tr bgcolor='" . $rowColor . "'>";\r | |
2153 | +\r | |
2154 | +\r | |
2155 | + foreach ($service_config as $key => $value) {\r | |
2156 | +\r | |
2157 | + if ($key == "event_handler") { continue; }\r | |
2158 | +\r | |
2159 | + echo "<tr bgcolor='" . $rowColor . "'>";\r | |
2160 | +\r | |
2161 | + switch($key)\r | |
2162 | + {\r | |
2163 | + case "active_checks_enabled":\r | |
2164 | + echo "<td>Active Checks:</td>";\r | |
2165 | + break;\r | |
2166 | + case "passive_checks_enabled":\r | |
2167 | + echo "<td>Passive Checks:</td>";\r | |
2168 | + break;\r | |
2169 | + case "event_handler_enabled":\r | |
2170 | + echo "<td>Event Handler:</td>";\r | |
2171 | + break;\r | |
2172 | + case "flap_detection_enabled":\r | |
2173 | + echo "<td>Flap Detection:</td>";\r | |
2174 | + break;\r | |
2175 | + case "notifications_enabled":\r | |
2176 | + echo "<td>Notifications:</td>";\r | |
2177 | + break;\r | |
2178 | + case "failure_prediction_enabled":\r | |
2179 | + echo "<td>Failure Prediction:</td>";\r | |
2180 | + break;\r | |
2181 | + case "process_performance_data":\r | |
2182 | + echo "<td>Process Performance Data:</td>";\r | |
2183 | + break;\r | |
2184 | + case "obsess_over_service":\r | |
2185 | + echo "<td>Obsess Over Service:</td>";\r | |
2186 | + break;\r | |
2187 | + }\r | |
2188 | +\r | |
2189 | + if ($value == 0) {\r | |
2190 | + echo "<td class='optionDISABLED'>Disabled</td></tr>";\r | |
2191 | + } else {\r | |
2192 | + echo "<td class='optionENABLED'>Enabled</td></tr>";\r | |
2193 | + }\r | |
2194 | +\r | |
2195 | + if($rowColor == $background1) {\r | |
2196 | + $rowColor = $background2;\r | |
2197 | + } else {\r | |
2198 | + $rowColor = $background1;\r | |
2199 | + }\r | |
2200 | +\r | |
2201 | +\r | |
2202 | + }\r | |
2203 | +\r | |
2204 | +?>\r | |
2205 | + </tbody>\r | |
2206 | + </table>\r | |
2207 | + </td>\r | |
2208 | + </tr>\r | |
2209 | + </table>\r | |
2210 | +\r | |
2211 | + </td>\r | |
2212 | +\r | |
2213 | +\r | |
2214 | +\r | |
2215 | +<?php\r | |
2216 | +\r | |
2217 | +\r | |
2218 | +\r | |
2219 | +\r | |
2220 | + echo "</tr>";\r | |
2221 | + echo "<tr>";\r | |
2222 | +\r | |
2223 | +?>\r | |
2224 | + <tr><td> </td><td> </td></tr>\r | |
2225 | + <tr><td> </td><td> </td></tr>\r | |
2226 | + <td valign="top" colspan='2'>\r | |
2227 | + <table width="60%" border="0" align="center">\r | |
2228 | + <thead>\r | |
2229 | + <tr class="textHeaderDark" bgcolor='#00438C'>\r | |
2230 | + <td align="center"><strong>Service Comments</strong></td>\r | |
2231 | + </tr>\r | |
2232 | + </thead>\r | |
2233 | + <tbody>\r | |
2234 | + <tr>\r | |
2235 | + <td width="60%" valign="top">\r | |
2236 | + <table width="100%" align="center" cellpadding="3">\r | |
2237 | + <thead>\r | |
2238 | + <tr align="center" class="textSubHeaderDark" bgcolor='#6d88ad'>\r | |
2239 | + <td>Entry Time</td>\r | |
2240 | + <td>Author</td>\r | |
2241 | + <td>Comment</td>\r | |
2242 | + <td>Persistent</td>\r | |
2243 | + <td>Type</td>\r | |
2244 | + <td>Delete</td>\r | |
2245 | + <tbody>\r | |
2246 | +<?php\r | |
2247 | + for($i = 0; $i < $row_count; $i++) {\r | |
2248 | + \r | |
2249 | + echo "<tr bgcolor='" . $rowColor . "'>";\r | |
2250 | + echo "<td nowrap>" . $comments[$i]["timestamp"] . "</td>";\r | |
2251 | + echo "<td>" . $comments[$i]["author"] . "</td>";\r | |
2252 | + echo "<td>" . $comments[$i]["comment"] . "</td>";\r | |
2253 | + echo "<td>";\r | |
2254 | + if ($comments[$i]["persist"]) {\r | |
2255 | + echo "Yes";\r | |
2256 | + } else {\r | |
2257 | + echo "No"; \r | |
2258 | + }\r | |
2259 | + echo "</td>";\r | |
2260 | + echo "<td>";\r | |
2261 | + if ($comments[$i]["type"] == 2) {\r | |
2262 | + echo "Comment";\r | |
2263 | + } elseif ($comments[$i]["type"] == 4) {\r | |
2264 | + echo "Acknowledgment";\r | |
2265 | + }\r | |
2266 | + echo "</td>";\r | |
2267 | + echo "<td>";\r | |
2268 | + if ($comments[$i]["type"] == 2) {\r | |
2269 | + echo "<a href='command.php?cmd=DEL_SVC_COMMENT&id=" . $comments[$i]["id"] . "&host=" . $hostname . "&hostid=" . $hostid . "&service=" . $_REQUEST["service"] . "&serviceid=" . $serviceid . "'><img src='images/delete.gif' alt='delete' title='Delete comment' border=0></a>";\r | |
2270 | + } elseif ($comments[$i]["type"] == 4) {\r | |
2271 | + echo "<a href='command.php?cmd=REMOVE_SVC_ACKNOWLEDGEMENT&host=" . $hostname . "&hostid=" . $hostid . "&service=" . $_REQUEST["service"] . "&serviceid=" . $serviceid . "'><img src='images/delete.gif' alt='Remove' title='Remove problem acknowledgment' border=0></a>";\r | |
2272 | + }\r | |
2273 | + echo "</td>";\r | |
2274 | +\r | |
2275 | +\r | |
2276 | + if($rowColor == $background1) {\r | |
2277 | + $rowColor = $background2;\r | |
2278 | + } else {\r | |
2279 | + $rowColor = $background1;\r | |
2280 | + }\r | |
2281 | + }\r | |
2282 | +\r | |
2283 | +\r | |
2284 | +\r | |
2285 | +\r | |
2286 | +\r | |
2287 | +\r | |
2288 | +\r | |
2289 | +?>\r | |
2290 | + </tbody>\r | |
2291 | + </table>\r | |
2292 | + </td>\r | |
2293 | + </tr>\r | |
2294 | + <tr>\r | |
2295 | + <td>\r | |
2296 | + <?php \r | |
2297 | + echo "<a href='command.php?cmd=ADD_SVC_COMMENT&host=" . $hostname . "&hostid=" . $hostid . "&service=" . $_REQUEST["service"] . "&serviceid=" . $serviceid . "'><img src='images/comment.gif' alt='Add a comment' title='Add a comment' border=0></a>"; \r | |
2298 | + echo "<a href='command.php?cmd=DEL_ALL_SVC_COMMENTS&host=" . $hostname . "&hostid=" . $hostid . "&service=" . $_REQUEST["service"] . "&serviceid=" . $serviceid . "'><img src='images/delete.gif' alt='Delete all comments' title='Delete all comments' border=0></a>"; \r | |
2299 | + ?>\r | |
2300 | + </td>\r | |
2301 | + </tr>\r | |
2302 | + </tbody>\r | |
2303 | + </table>\r | |
2304 | + </td>\r | |
2305 | + <td></td>\r | |
2306 | + <tr><td> </td><td> </td></tr>\r | |
2307 | + <tr><td> </td><td> </td></tr>\r | |
2308 | + <tr>\r | |
2309 | +\r | |
2310 | +\r | |
2311 | +\r | |
2312 | +\r | |
2313 | +\r | |
2314 | + <td valign="top" colspan='2'>\r | |
2315 | + <table width="60%" border="0" align="center">\r | |
2316 | + <thead>\r | |
2317 | + <tr align="center" class="textHeaderDark" bgcolor='#00438C'>\r | |
2318 | + <td align="center"><strong>Graph Mapping</strong></td>\r | |
2319 | + </tr>\r | |
2320 | + </thead>\r | |
2321 | + <tbody>\r | |
2322 | + <tr>\r | |
2323 | + <td width="60%" valign="top">\r | |
2324 | + <table width="100%" align="center" cellpadding="3">\r | |
2325 | + <tbody>\r | |
2326 | +\r | |
2327 | +<?php\r | |
2328 | +\r | |
2329 | +$cacti_graphs = db_fetch_assoc("\r | |
2330 | +select\r | |
2331 | + graph_templates_graph.id,\r | |
2332 | + graph_templates_graph.local_graph_id,\r | |
2333 | + graph_templates_graph.height,\r | |
2334 | + graph_templates_graph.width,\r | |
2335 | + graph_templates_graph.title_cache as title,\r | |
2336 | + graph_templates.name,\r | |
2337 | + graph_local.host_id\r | |
2338 | + from graph_local,graph_templates_graph\r | |
2339 | + left join graph_templates on graph_template_id=graph_templates.id\r | |
2340 | + where graph_local.id=graph_templates_graph.local_graph_id\r | |
2341 | + and graph_templates_graph.title_cache like '%'\r | |
2342 | + order by graph_templates_graph.title_cache,graph_local.host_id");\r | |
2343 | +\r | |
2344 | + $row_count = count($cacti_graphs);\r | |
2345 | +/* http://logindev/cacti/graph_image.php?local_graph_id=6&rra_id=0 */\r | |
2346 | +?>\r | |
2347 | +\r | |
2348 | + <FORM NAME="gm" ACTION="" method="post">\r | |
2349 | + <tr bgcolor='<?php echo $background1; ?>'>\r | |
2350 | + <td>Associated graph:</td>\r | |
2351 | + <td>\r | |
2352 | + <select name="local_graph_id" size="1">\r | |
2353 | + <?php\r | |
2354 | + echo "<OPTION VALUE='NULL'>None</option>";\r | |
2355 | + for($i = 0; $i < $row_count; $i++) {\r | |
2356 | + echo "<OPTION VALUE='" . $cacti_graphs[$i]["local_graph_id"] . "'>" . $cacti_graphs[$i]["title"] . "</option>";\r | |
2357 | + }\r | |
2358 | + ?> \r | |
2359 | +\r | |
2360 | +\r | |
2361 | + </select>\r | |
2362 | + </td>\r | |
2363 | + <td><INPUT TYPE="submit" VALUE="Map"></td>\r | |
2364 | + </tr>\r | |
2365 | + </FORM>\r | |
2366 | +\r | |
2367 | +\r | |
2368 | + </tbody>\r | |
2369 | + </table>\r | |
2370 | + <?php \r | |
2371 | + if ($service_detail["cacti_graph_id"]) {\r | |
2372 | + echo "<table align='center'>";\r | |
2373 | + echo "<tr><td width='100%'>";\r | |
2374 | + echo "<img src='../../graph_image.php?local_graph_id=" . $service_detail["cacti_graph_id"] . "&rra_id=0'>";\r | |
2375 | + echo "</td></tr>";\r | |
2376 | + }\r | |
2377 | + ?>\r | |
2378 | + </td>\r | |
2379 | + </tr>\r | |
2380 | + </tbody>\r | |
2381 | + </table>\r | |
2382 | +\r | |
2383 | + </td>\r | |
2384 | +\r | |
2385 | + </tr>\r | |
2386 | + </table>\r | |
2387 | +\r | |
2388 | +<?php\r | |
2389 | +\r | |
2390 | +\r | |
2391 | +}\r | |
2392 | +\r | |
2393 | +\r | |
2394 | +function hostInfo() {\r | |
2395 | +\r | |
2396 | + $hostid = $_REQUEST["hostid"];\r | |
2397 | + $hostname = $_REQUEST["hostname"];\r | |
2398 | +\r | |
2399 | + if (isset($_POST["local_graph_id"])) {\r | |
2400 | + db_execute("update npc_host set cacti_graph_id = " . $_POST["local_graph_id"] . " where id = " . $hostid);\r | |
2401 | + header("Location: extinfo.php?type=1&hostid=" . $hostid . "&hostname=" . $hostname);\r | |
2402 | + }\r | |
2403 | +\r | |
2404 | + include_once("top_npc_header.php");\r | |
2405 | +\r | |
2406 | + $background1 = "#F5F5F5";\r | |
2407 | + $background2 = "#E7E9F2";\r | |
2408 | + $rowColor = $background1;\r | |
2409 | +\r | |
2410 | + $host_flapping["flapping"] = db_fetch_cell("select id from npc_flapping_host where id = $hostid");\r | |
2411 | +\r | |
2412 | + $host_history = db_fetch_row("select started, soft_state, hard_state, current_attempt, plugin_output from npc_host_history where hostid = $hostid order by started desc;");\r | |
2413 | +\r | |
2414 | + $host_check = db_fetch_row("select check_command, check_execute_time, check_latency, from_unixtime(last_check) as last_check, from_unixtime(next_check) as next_check, max_attempts, last_notification, next_notification, no_more_notifications, check_type, performance_data from npc_host_check where hostid = $hostid;");\r | |
2415 | +\r | |
2416 | + $host_config = db_fetch_row("select active_checks_enabled, passive_checks_enabled, event_handler_enabled, flap_detection_enabled, notifications_enabled, failure_prediction_enabled, process_performance_data, obsess_over_host, event_handler, cacti_graph_id from npc_host where id = $hostid");\r | |
2417 | +\r | |
2418 | + $comments = db_fetch_assoc("select id,serviceid,timestamp,author,comment,persist,type from npc_comment where hostid = $hostid");\r | |
2419 | +\r | |
2420 | + $graphView = db_fetch_cell("select id from graph_tree_items where host_id = (select id from host where npc_host_id = $hostid)");\r | |
2421 | +\r | |
2422 | + $row_count = count($comments);\r | |
2423 | +\r | |
2424 | + $duration = date("U") - $host_history["started"];\r | |
2425 | +\r | |
2426 | +?>\r | |
2427 | +\r | |
2428 | +\r | |
2429 | +\r | |
2430 | +\r | |
2431 | + <table width="98%" border="0" cellpadding="0" cellspacing="0" align="center">\r | |
2432 | + <tr class="textSubHeaderDark" bgcolor='#6d88ad'>\r | |
2433 | + <td>\r | |
2434 | + <h2> <strong><?php echo $hostname; ?></strong></h2>\r | |
2435 | + </td>\r | |
2436 | + <td align='right' nowrap>\r | |
2437 | + <FORM NAME="cl" ACTION="command.php" method="POST">Command: \r | |
2438 | + <INPUT TYPE='hidden' NAME='host' VALUE='<?php echo $hostname; ?>'>\r | |
2439 | + <INPUT TYPE='hidden' NAME='hostid' VALUE='<?php echo $hostid; ?>'>\r | |
2440 | + <select name="command" size="1">\r | |
2441 | +\r | |
2442 | +<?php \r | |
2443 | + if (read_config_option("nagios_commands")) {\r | |
2444 | +\r | |
2445 | + echo "<OPTION VALUE='NULL'>Execute a command</option>";\r | |
2446 | +\r | |
2447 | + if ($host_config["active_checks_enabled"]) {\r | |
2448 | + echo "<OPTION VALUE='DISABLE_HOST_CHECK'>Disable active checks</option>";\r | |
2449 | + echo "<OPTION VALUE='SCHEDULE_HOST_CHECK'>Re-schedule the next check</option>";\r | |
2450 | + echo "<OPTION VALUE='SCHEDULE_HOST_SVC_CHECKS'>Schedule a check of all services</option>";\r | |
2451 | + } else {\r | |
2452 | + echo "<OPTION VALUE='ENABLE_HOST_CHECK'>Enable Active Checks</option>";\r | |
2453 | + }\r | |
2454 | + echo "<OPTION VALUE='DISABLE_HOST_SVC_CHECKS'>Disable checks of all services</option>";\r | |
2455 | + echo "<OPTION VALUE='ENABLE_HOST_SVC_CHECKS'>Enabble checks of all services</option>";\r | |
2456 | + if ($host_config["passive_checks_enabled"]) {\r | |
2457 | + echo "<OPTION VALUE='PROCESS_HOST_CHECK_RESULT'>Submit passive check result</option>";\r | |
2458 | + echo "<OPTION VALUE='DISABLE_PASSIVE_HOST_CHECKS'>Stop accepting passive checks</option>";\r | |
2459 | + } else {\r | |
2460 | + echo "<OPTION VALUE='ENABLE_PASSIVE_HOST_CHECKS'>Start accepting passive checks</option>";\r | |
2461 | + }\r | |
2462 | + if ($host_config["obsess_over_service"]) {\r | |
2463 | + echo "<OPTION VALUE='STOP_OBSESSING_OVER_HOST'>Stop obsessing</option>";\r | |
2464 | + } else {\r | |
2465 | + echo "<OPTION VALUE='START_OBSESSING_OVER_HOST'>Start obsessing</option>";\r | |
2466 | + }\r | |
2467 | + if ($host_history["soft_state"] == 1 || $host_history["soft_state"] == 2 && $host_history["soft_state"] == $host_history["hard_state"]) {\r | |
2468 | + if (!db_fetch_cell("select * from npc_comment where hostid = $hostid and type = 4;")) {\r | |
2469 | + echo "<OPTION VALUE='ACKNOWLEDGE_HOST_PROBLEM'>Acknowledge This Host Problem</option>";\r | |
2470 | + } elseif (db_fetch_cell("select * from npc_comment where hostid = $hostid and type = 4;")) {\r | |
2471 | + echo "<OPTION VALUE='REMOVE_HOST_ACKNOWLEDGEMENT'>Remove Problem Acknowledgement</option>";\r | |
2472 | + }\r | |
2473 | + }\r | |
2474 | + if ($host_config["notifications_enabled"]) {\r | |
2475 | + echo "<OPTION VALUE='DISABLE_HOST_NOTIFICATIONS'>Disable Notifications</option>";\r | |
2476 | + if ($host_history["soft_state"] != 0) {\r | |
2477 | + echo "<OPTION VALUE='DELAY_HOST_NOTIFICATION'>Delay Next Service Notification</option>";\r | |
2478 | + }\r | |
2479 | + } else {\r | |
2480 | + echo "<OPTION VALUE='ENABLE_HOST_NOTIFICATIONS'>Enable Notifications</option>";\r | |
2481 | + }\r | |
2482 | + echo "<OPTION VALUE='SCHEDULE_HOST_DOWNTIME'>Schedule Downtime</option>";\r | |
2483 | + if ($host_config["event_handler_enabled"]) {\r | |
2484 | + echo "<OPTION VALUE='DISABLE_HOST_EVENT_HANDLER'>Disable Event Handler</option>";\r | |
2485 | + } else {\r | |
2486 | + echo "<OPTION VALUE='ENABLE_HOST_EVENT_HANDLER'>Enable Event Handler</option>";\r | |
2487 | + }\r | |
2488 | + if ($host_config["flap_detection_enabled"]) {\r | |
2489 | + echo "<OPTION VALUE='DISABLE_HOST_FLAP_DETECTION'>Disable Flap Detection</option>";\r | |
2490 | + } else {\r | |
2491 | + echo "<OPTION VALUE='ENABLE_HOST_FLAP_DETECTION'>Enable Flap Detection</option>";\r | |
2492 | + }\r | |
2493 | + echo "<OPTION VALUE='ADD_HOST_COMMENT'>Add Host Comment</option>";\r | |
2494 | + echo "<OPTION VALUE='DEL_ALL_HOST_COMMENTS'>Delete All Host Comments</option>";\r | |
2495 | + } else {\r | |
2496 | + echo "<OPTION VALUE='NULL'>Command execution disabled</option>";\r | |
2497 | + }\r | |
2498 | +?>\r | |
2499 | +\r | |
2500 | + </select>\r | |
2501 | + <input type='image' src='../../images/button_go.gif' alt='Go' value='Execute' align='absmiddle'>\r | |
2502 | + </form>\r | |
2503 | +\r | |
2504 | +\r | |
2505 | + </td>\r | |
2506 | + </tr>\r | |
2507 | + <tr><td></td><td></td></tr>\r | |
2508 | + <tr bgcolor='#a9b7cb'>\r | |
2509 | + <td><a href='statusDetail.php?filter=showHost&name=<?php echo $hostname; ?>'>View Services</a> | <?php if ($graphView) { ?><a href='<?php echo $config['url_path']?>graph_view.php?action=tree&tree_id=1&leaf_id=<?php echo $graphView; ?>'>View Graphs</a> | <?php } ?><a href='hostConfig.php?name=<?php echo $hostname; ?>&hostid=<?php echo $hostid; ?>'>Configure</a></td>\r | |
2510 | + <td> </td></tr>\r | |
2511 | + </tr>\r | |
2512 | +\r | |
2513 | + <tr><td> </td><td> </td></tr>\r | |
2514 | + <tr>\r | |
2515 | + <td valign="top">\r | |
2516 | + <table width="100%" border="0" align="left" valign="top">\r | |
2517 | + <thead>\r | |
2518 | + <tr class="textHeaderDark" bgcolor='#00438C'>\r | |
2519 | + <td align="center"><strong>Host State Information</strong></td>\r | |
2520 | + </tr>\r | |
2521 | + </thead>\r | |
2522 | + <tbody>\r | |
2523 | + <tr>\r | |
2524 | + <td width="100%" valign="top">\r | |
2525 | + <table width="100%" align="center" cellpadding="3">\r | |
2526 | + <thead>\r | |
2527 | + <tr align="center" class="textSubHeaderDark" bgcolor='#6d88ad'>\r | |
2528 | + <td>Parameter</td>\r | |
2529 | + <td>Value</td>\r | |
2530 | + </tr>\r | |
2531 | + </thead>\r | |
2532 | + <tbody>\r | |
2533 | +\r | |
2534 | +\r | |
2535 | +<?php\r | |
2536 | +\r | |
2537 | +\r | |
2538 | + $host_detail = array(\r | |
2539 | + 'Current Status' => $host_history["soft_state"],\r | |
2540 | + 'State Duration' => formatTime($duration),\r | |
2541 | + 'Check Command' => $host_check["check_command"],\r | |
2542 | + 'Plugin Output' => $host_history["plugin_output"],\r | |
2543 | + 'Performance Data' => $host_check["performance_data"],\r | |
2544 | + 'Current Attempt' => $host_history["current_attempt"],\r | |
2545 | + 'Last Check' => $host_check["last_check"],\r | |
2546 | + 'Next Check' => $host_check["next_check"],\r | |
2547 | + 'Check Latency' => $host_check["check_latency"],\r | |
2548 | + 'Check Duration' => $host_check["check_execute_time"],\r | |
2549 | + 'flapping' => $host_flapping["flapping"],\r | |
2550 | + 'Event Handler' => $host_config["event_handler"],\r | |
2551 | + );\r | |
2552 | +\r | |
2553 | + foreach ($host_detail as $key => $value) {\r | |
2554 | +\r | |
2555 | +\r | |
2556 | + switch($key) \r | |
2557 | + {\r | |
2558 | + case "Current Status":\r | |
2559 | + echo "<tr bgcolor='" . $rowColor . "'>";\r | |
2560 | + echo "<td>" . $key . ":</td>";\r | |
2561 | + switch($value)\r | |
2562 | + {\r | |
2563 | + case "-1":\r | |
2564 | + echo "<td class='statusPENDING'><strong>PENDING</strong></td>";\r | |
2565 | + break;\r | |
2566 | + case "0":\r | |
2567 | + echo "<td class='statusHOSTUP'><strong>UP</strong></td>";\r | |
2568 | + break;\r | |
2569 | + case "1":\r | |
2570 | + echo "<td class='statusHOSTDOWN'><strong>DOWN</strong></td>";\r | |
2571 | + break;\r | |
2572 | + case "2":\r | |
2573 | + echo "<td class='statusHOSTUNREACHABLE'><strong>UNREACHABLE</strong></td>";\r | |
2574 | + break;\r | |
2575 | + }\r | |
2576 | + echo "</tr>";\r | |
2577 | + break;\r | |
2578 | + case "State Duration":\r | |
2579 | + echo "<tr bgcolor='" . $rowColor . "'>";\r | |
2580 | + echo "<td>" . $key . ":</td>";\r | |
2581 | + echo "<td>" . $value . "</td>";\r | |
2582 | + echo "</tr>";\r | |
2583 | + break;\r | |
2584 | + case "Check Command":\r | |
2585 | + echo "<tr bgcolor='" . $rowColor . "'>";\r | |
2586 | + echo "<td>" . $key . ":</td>";\r | |
2587 | + echo "<td>" . $value . "</td>";\r | |
2588 | + echo "</tr>";\r | |
2589 | + break;\r | |
2590 | + case "Plugin Output":\r | |
2591 | + echo "<tr bgcolor='" . $rowColor . "'>";\r | |
2592 | + echo "<td>" . $key . ":</td>";\r | |
2593 | + echo "<td>" . $value . "</td>";\r | |
2594 | + echo "</tr>";\r | |
2595 | + break;\r | |
2596 | + case "Performance Data":\r | |
2597 | + echo "<tr bgcolor='" . $rowColor . "'>";\r | |
2598 | + echo "<td>" . $key . ":</td>";\r | |
2599 | + echo "<td>" . $value . "</td>";\r | |
2600 | + echo "</tr>";\r | |
2601 | + break;\r | |
2602 | + case "Current Attempt":\r | |
2603 | + echo "<tr bgcolor='" . $rowColor . "'>";\r | |
2604 | + echo "<td>" . $key . ":</td>";\r | |
2605 | + echo "<td>" . $value . "/" . $host_check["max_attempts"] . "</td>";\r | |
2606 | + echo "</tr>";\r | |
2607 | + break;\r | |
2608 | + case "Last Check":\r | |
2609 | + echo "<tr bgcolor='" . $rowColor . "'>";\r | |
2610 | + echo "<td>" . $key . ":</td>";\r | |
2611 | + if (preg_match('/1969-12-31/', $value)) {\r | |
2612 | + echo "<td>N/A</td>";\r | |
2613 | + } else {\r | |
2614 | + echo "<td>" . $value . "</td>";\r | |
2615 | + }\r | |
2616 | + echo "</tr>";\r | |
2617 | + break;\r | |
2618 | + case "Next Check":\r | |
2619 | + echo "<tr bgcolor='" . $rowColor . "'>";\r | |
2620 | + echo "<td>" . $key . ":</td>";\r | |
2621 | + if (preg_match('/1969-12-31/', $value)) {\r | |
2622 | + echo "<td>N/A</td>";\r | |
2623 | + } else {\r | |
2624 | + echo "<td>" . $value . "</td>";\r | |
2625 | + }\r | |
2626 | + echo "</tr>";\r | |
2627 | + break;\r | |
2628 | + case "Check Latency":\r | |
2629 | + echo "<tr bgcolor='" . $rowColor . "'>";\r | |
2630 | + echo "<td>" . $key . ":</td>";\r | |
2631 | + echo "<td>" . $value . "</td>";\r | |
2632 | + echo "</tr>";\r | |
2633 | + break;\r | |
2634 | + case "Check Duration":\r | |
2635 | + echo "<tr bgcolor='" . $rowColor . "'>";\r | |
2636 | + echo "<td>" . $key . ":</td>";\r | |
2637 | + echo "<td>" . $value . "</td>";\r | |
2638 | + echo "</tr>";\r | |
2639 | + break;\r | |
2640 | + case "flapping":\r | |
2641 | + echo "<tr bgcolor='" . $rowColor . "'>";\r | |
2642 | + echo "<td>Flapping:</td>";\r | |
2643 | + if ($host_detail["flapping"]) {\r | |
2644 | + echo "<td>Yes</td>";\r | |
2645 | + } else {\r | |
2646 | + echo "<td>No</td>";\r | |
2647 | + }\r | |
2648 | + echo "</tr>";\r | |
2649 | + break;\r | |
2650 | + case "Event Handler":\r | |
2651 | + echo "<tr bgcolor='" . $rowColor . "'>";\r | |
2652 | + echo "<td>" . $key . ":</td>";\r | |
2653 | + if (!$value) {\r | |
2654 | + echo "<td>N/A</td>";\r | |
2655 | + } else {\r | |
2656 | + echo "<td>" . $value . "</td>";\r | |
2657 | + }\r | |
2658 | + echo "</tr>";\r | |
2659 | + break;\r | |
2660 | + }\r | |
2661 | +\r | |
2662 | + if($rowColor == $background1) {\r | |
2663 | + $rowColor = $background2;\r | |
2664 | + } else {\r | |
2665 | + $rowColor = $background1;\r | |
2666 | + }\r | |
2667 | +\r | |
2668 | + }\r | |
2669 | +\r | |
2670 | +\r | |
2671 | +?>\r | |
2672 | +\r | |
2673 | + </tbody>\r | |
2674 | + </table>\r | |
2675 | +\r | |
2676 | + </td>\r | |
2677 | + </tr>\r | |
2678 | + </tbody>\r | |
2679 | + </table>\r | |
2680 | +\r | |
2681 | + </td>\r | |
2682 | +\r | |
2683 | + <td valign="top">\r | |
2684 | + <table width="70%" border="0" align="right">\r | |
2685 | + <thead>\r | |
2686 | + <tr class="textHeaderDark" bgcolor='#00438C'>\r | |
2687 | + <td align="center"><strong>Host Monitoring Options</strong></td>\r | |
2688 | + </tr>\r | |
2689 | + </thead>\r | |
2690 | + <tbody>\r | |
2691 | + <tr>\r | |
2692 | + <td width="70%" valign="top">\r | |
2693 | + <table width="100%" align="center" cellpadding="3">\r | |
2694 | + <thead>\r | |
2695 | + <tr align="center" class="textSubHeaderDark" bgcolor='#6d88ad'>\r | |
2696 | + <td>Parameter</td>\r | |
2697 | + <td>Value</td>\r | |
2698 | + </tr>\r | |
2699 | + </thead>\r | |
2700 | + <tbody>\r | |
2701 | +\r | |
2702 | +<?php\r | |
2703 | + $rowColor = $background1;\r | |
2704 | + echo "<tr bgcolor='" . $rowColor . "'>";\r | |
2705 | +\r | |
2706 | +\r | |
2707 | + foreach ($host_config as $key => $value) {\r | |
2708 | +\r | |
2709 | + if ($key == "event_handler") { continue; }\r | |
2710 | + if ($key == "cacti_graph_id") { continue; }\r | |
2711 | +\r | |
2712 | + echo "<tr bgcolor='" . $rowColor . "'>";\r | |
2713 | +\r | |
2714 | + switch($key)\r | |
2715 | + {\r | |
2716 | + case "active_checks_enabled":\r | |
2717 | + echo "<td>Active Checks:</td>";\r | |
2718 | + break;\r | |
2719 | + case "passive_checks_enabled":\r | |
2720 | + echo "<td>Passive Checks:</td>";\r | |
2721 | + break;\r | |
2722 | + case "event_handler_enabled":\r | |
2723 | + echo "<td>Event Handler:</td>";\r | |
2724 | + break;\r | |
2725 | + case "flap_detection_enabled":\r | |
2726 | + echo "<td>Flap Detection:</td>";\r | |
2727 | + break;\r | |
2728 | + case "notifications_enabled":\r | |
2729 | + echo "<td>Notifications:</td>";\r | |
2730 | + break;\r | |
2731 | + case "failure_prediction_enabled":\r | |
2732 | + echo "<td>Failure Prediction:</td>";\r | |
2733 | + break;\r | |
2734 | + case "process_performance_data":\r | |
2735 | + echo "<td>Process Performance Data:</td>";\r | |
2736 | + break;\r | |
2737 | + case "obsess_over_host":\r | |
2738 | + echo "<td>Obsess Over Host:</td>";\r | |
2739 | + break;\r | |
2740 | + }\r | |
2741 | +\r | |
2742 | + if ($value == 0) {\r | |
2743 | + echo "<td class='optionDISABLED'>Disabled</td></tr>";\r | |
2744 | + } else {\r | |
2745 | + echo "<td class='optionENABLED'>Enabled</td></tr>";\r | |
2746 | + }\r | |
2747 | +\r | |
2748 | + if($rowColor == $background1) {\r | |
2749 | + $rowColor = $background2;\r | |
2750 | + } else {\r | |
2751 | + $rowColor = $background1;\r | |
2752 | + }\r | |
2753 | +\r | |
2754 | +\r | |
2755 | + }\r | |
2756 | +\r | |
2757 | +?>\r | |
2758 | + </tbody>\r | |
2759 | + </table>\r | |
2760 | + </td>\r | |
2761 | + </tr>\r | |
2762 | + </table>\r | |
2763 | +\r | |
2764 | + </td>\r | |
2765 | +\r | |
2766 | +\r | |
2767 | +\r | |
2768 | +<?php\r | |
2769 | +\r | |
2770 | +\r | |
2771 | +\r | |
2772 | +\r | |
2773 | + echo "</tr>";\r | |
2774 | + echo "<tr>";\r | |
2775 | +\r | |
2776 | +?>\r | |
2777 | + <tr><td> </td><td> </td></tr>\r | |
2778 | + <tr><td> </td><td> </td></tr>\r | |
2779 | + <td valign="top" colspan='2'>\r | |
2780 | + <table width="60%" border="0" align="center">\r | |
2781 | + <thead>\r | |
2782 | + <tr class="textHeaderDark" bgcolor='#00438C'>\r | |
2783 | + <td align="center"><strong>Host Comments</strong></td>\r | |
2784 | + </tr>\r | |
2785 | + </thead>\r | |
2786 | + <tbody>\r | |
2787 | + <tr>\r | |
2788 | + <td width="60%" valign="top">\r | |
2789 | + <table width="100%" align="center" cellpadding="3">\r | |
2790 | + <thead>\r | |
2791 | + <tr align="center" class="textSubHeaderDark" bgcolor='#6d88ad'>\r | |
2792 | + <td>Entry Time</td>\r | |
2793 | + <td>Author</td>\r | |
2794 | + <td>Comment</td>\r | |
2795 | + <td>Persistent</td>\r | |
2796 | + <td>Type</td>\r | |
2797 | + <td>Delete</td>\r | |
2798 | + <tbody>\r | |
2799 | +<?php\r | |
2800 | + for($i = 0; $i < $row_count; $i++) {\r | |
2801 | + \r | |
2802 | + echo "<tr bgcolor='" . $rowColor . "'>";\r | |
2803 | + echo "<td nowrap>" . $comments[$i]["timestamp"] . "</td>";\r | |
2804 | + echo "<td>" . $comments[$i]["author"] . "</td>";\r | |
2805 | + echo "<td>" . $comments[$i]["comment"] . "</td>";\r | |
2806 | + echo "<td>";\r | |
2807 | + if ($comments[$i]["persist"]) {\r | |
2808 | + echo "Yes";\r | |
2809 | + } else {\r | |
2810 | + echo "No"; \r | |
2811 | + }\r | |
2812 | + echo "</td>";\r | |
2813 | + echo "<td>";\r | |
2814 | + if ($comments[$i]["type"] == 1) {\r | |
2815 | + echo "Comment";\r | |
2816 | + } elseif ($comments[$i]["type"] == 3) {\r | |
2817 | + echo "Acknowledgment";\r | |
2818 | + }\r | |
2819 | + echo "</td>";\r | |
2820 | + echo "<td>";\r | |
2821 | + if ($comments[$i]["type"] == 1) {\r | |
2822 | + echo "<a href='command.php?cmd=DEL_HOST_COMMENT&id=" . $comments[$i]["id"] . "&host=" . $hostname . "&hostid=" . $hostid . "'><img src='images/delete.gif' alt='delete' title='Delete comment' border=0></a>";\r | |
2823 | + } elseif ($comments[$i]["type"] == 3) {\r | |
2824 | + echo "<a href='command.php?cmd=REMOVE_HOST_ACKNOWLEDGEMENT&host=" . $hostname . "&hostid=" . $hostid . "'><img src='images/delete.gif' alt='Remove' title='Remove problem acknowledgment' border=0></a>";\r | |
2825 | + }\r | |
2826 | + echo "</td>";\r | |
2827 | +\r | |
2828 | +\r | |
2829 | + if($rowColor == $background1) {\r | |
2830 | + $rowColor = $background2;\r | |
2831 | + } else {\r | |
2832 | + $rowColor = $background1;\r | |
2833 | + }\r | |
2834 | + }\r | |
2835 | +\r | |
2836 | +\r | |
2837 | +\r | |
2838 | +\r | |
2839 | +\r | |
2840 | +\r | |
2841 | +\r | |
2842 | +?>\r | |
2843 | + </tbody>\r | |
2844 | + </table>\r | |
2845 | + </td>\r | |
2846 | + </tr>\r | |
2847 | + <tr>\r | |
2848 | + <td>\r | |
2849 | + <?php \r | |
2850 | + echo "<a href='command.php?cmd=ADD_HOST_COMMENT&host=" . $hostname . "&hostid=" . $hostid . "'><img src='images/comment.gif' alt='Add a comment' title='Add a comment' border=0></a>"; \r | |
2851 | + echo "<a href='command.php?cmd=DEL_ALL_HOST_COMMENTS&host=" . $hostname . "&hostid=" . $hostid . "'><img src='images/delete.gif' alt='Delete all comments' title='Delete all comments' border=0></a>"; \r | |
2852 | + ?>\r | |
2853 | + </td>\r | |
2854 | + </tr>\r | |
2855 | + </tbody>\r | |
2856 | + </table>\r | |
2857 | + </td>\r | |
2858 | + <td></td>\r | |
2859 | + <tr><td> </td><td> </td></tr>\r | |
2860 | + <tr><td> </td><td> </td></tr>\r | |
2861 | + <tr>\r | |
2862 | +\r | |
2863 | +\r | |
2864 | +\r | |
2865 | +\r | |
2866 | +\r | |
2867 | + <td valign="top" colspan='2'>\r | |
2868 | + <table width="60%" border="0" align="center">\r | |
2869 | + <thead>\r | |
2870 | + <tr align="center" class="textHeaderDark" bgcolor='#00438C'>\r | |
2871 | + <td align="center"><strong>Graph Mapping</strong></td>\r | |
2872 | + </tr>\r | |
2873 | + </thead>\r | |
2874 | + <tbody>\r | |
2875 | + <tr>\r | |
2876 | + <td width="60%" valign="top">\r | |
2877 | + <table width="100%" align="center" cellpadding="3">\r | |
2878 | + <tbody>\r | |
2879 | +\r | |
2880 | +<?php\r | |
2881 | +\r | |
2882 | +$cacti_graphs = db_fetch_assoc("\r | |
2883 | +select\r | |
2884 | + graph_templates_graph.id,\r | |
2885 | + graph_templates_graph.local_graph_id,\r | |
2886 | + graph_templates_graph.height,\r | |
2887 | + graph_templates_graph.width,\r | |
2888 | + graph_templates_graph.title_cache as title,\r | |
2889 | + graph_templates.name,\r | |
2890 | + graph_local.host_id\r | |
2891 | + from graph_local,graph_templates_graph\r | |
2892 | + left join graph_templates on graph_template_id=graph_templates.id\r | |
2893 | + where graph_local.id=graph_templates_graph.local_graph_id\r | |
2894 | + and graph_templates_graph.title_cache like '%'\r | |
2895 | + order by graph_templates_graph.title_cache,graph_local.host_id");\r | |
2896 | +\r | |
2897 | + $row_count = count($cacti_graphs);\r | |
2898 | +/* http://logindev/cacti/graph_image.php?local_graph_id=6&rra_id=0 */\r | |
2899 | +?>\r | |
2900 | +\r | |
2901 | + <FORM NAME="gm" ACTION="" method="post">\r | |
2902 | + <tr bgcolor='<?php echo $background1; ?>'>\r | |
2903 | + <td>Associated graph:</td>\r | |
2904 | + <td>\r | |
2905 | + <select name="local_graph_id" size="1">\r | |
2906 | + <?php\r | |
2907 | + echo "<OPTION VALUE='NULL'>None</option>";\r | |
2908 | + for($i = 0; $i < $row_count; $i++) {\r | |
2909 | + echo "<OPTION VALUE='" . $cacti_graphs[$i]["local_graph_id"] . "'>" . $cacti_graphs[$i]["title"] . "</option>";\r | |
2910 | + }\r | |
2911 | + ?> \r | |
2912 | +\r | |
2913 | +\r | |
2914 | + </select>\r | |
2915 | + </td>\r | |
2916 | + <td><INPUT TYPE="submit" VALUE="Map"></td>\r | |
2917 | + </tr>\r | |
2918 | + </FORM>\r | |
2919 | +\r | |
2920 | +\r | |
2921 | + </tbody>\r | |
2922 | + </table>\r | |
2923 | + <?php \r | |
2924 | + if ($host_config["cacti_graph_id"]) {\r | |
2925 | + echo "<table align='center'>";\r | |
2926 | + echo "<tr><td width='100%'>";\r | |
2927 | + echo "<img src='../../graph_image.php?local_graph_id=" . $host_config["cacti_graph_id"] . "&rra_id=0'>";\r | |
2928 | + echo "</td></tr>";\r | |
2929 | + }\r | |
2930 | + ?>\r | |
2931 | + </td>\r | |
2932 | + </tr>\r | |
2933 | + </tbody>\r | |
2934 | + </table>\r | |
2935 | +\r | |
2936 | + </td>\r | |
2937 | +\r | |
2938 | + </tr>\r | |
2939 | + </table>\r | |
2940 | +\r | |
2941 | +<?php\r | |
2942 | +\r | |
2943 | +\r | |
2944 | +}\r | |
2945 | +\r | |
2946 | +\r | |
2947 | +\r | |
2948 | +\r | |
2949 | +?>\r |