Viewing file: squid-monitor.pl (877 B) -rwxr-xr-x Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
# squid-monitor.pl # Monitor the squid server on this host
# Check the PID file to see if squid is running sub get_squid_status { return { 'up' => -1 } if (!&foreign_check($_[1])); &foreign_require($_[1], "squid-lib.pl"); return { 'up' => -1 } if (!&foreign_check($_[1])); local %sconfig = &foreign_config($_[1]); return { 'up' => -1 } if (!-r $sconfig{'squid_conf'}); local $conf = &foreign_call($_[1], "get_config"); local $str = &foreign_call($_[1], "find_config", "pid_filename", $conf); local $file; if ($str) { $file = $str->{'values'}->[0]; } else { $file = $sconfig{'pid_file'}; } if (open(PID, $file) && <PID> =~ /(\d+)/ && kill(0, $1)) { close(PID); local @st = stat($file); return { 'up' => 1, 'desc' => &text('up_since', scalar(localtime($st[9]))) }; } else { return { 'up' => 0 }; } }
sub parse_squid_dialog { &depends_check($_[0], "squid"); }
1;
|