我用自己的方式检查 SharePoint 是 UP 还是 DOWN。请注意,这个脚本只是检查服务状态,而不是用户权限之类的。
Perl 脚本:
#!/usr/bin/env perl
use strict;
use warnings;
use LWP::UserAgent;
use Getopt::Long qw(:config no_ignore_case_always auto_version);
GetOptions ('h=s' => \my $h);
my $ua = LWP::UserAgent->new;
$ua->agent('Mozilla/4.0 (compatible; MSIE 5.0; Windows 95)');
my $req = $ua->get('http://' . $h);
my $retorno = '';
if ($req->is_success)
{
$retorno = $req->content;
}
else
{
$retorno = $req->status_line;
}
if ($retorno eq "401 Unauthorized")
{
print "OK: SharePoint service at " . $h . " server is UP.";
exit 0;
}
else
{
print "CRITICAL: SharePoint service at " . $h . " server is DOWN.";
exit 2;
}
如果您在运行脚本时遇到此异常:
在 @INC 中找不到 LWP/UserAgent.pm
这篇文章可以帮助你,因为它帮助了我:
http://help.directadmin.com/item.php?id=274
因此,在 Nagioscommands.cfg
文件中,您将以这种方式声明命令:
command_line /usr/local/nagios/libexec/check_sharepoint.pl -h $HOSTADDRESS$
$HOSTADDRESS
Nagios 范围内的主机 IP 变量在哪里。
记得chmod +x
在文件上。我知道你会的...