公司CDN运营服务器要求监控squid服务状态,技术老大给我讲了一遍思路,用nagios自带的check_http插件校验,check_http -H 目标主机域名 -p 80 -I 缓存服务器地址。
用google寻找相关资料时,发现专门用于squid检测的nagios插件,用perl写的。
文档
安装
# cd /usr/local/nagios/libexec
# wget
# chown 755 check_squid
安装perl模块
如果缺少perl程序执行所依赖的模块,会出现以下的错误提示,请安装所需要的perl模块
# yum -y install perl-libwww-perl
check_squid命令参数
Usage: url urluser urlpass proxy proxyport proxyuser proxypass expectstatus
url squid dst站点域名 如:
urluser 目标站点需要认证登录的用户名, 符号“-”代表没有
urlpass 目标站点需要认证登录的用户密码, 符号“-”代表没有
proxy squid cache服务器的IP地址或者域名
proxyport Squid cache服务器监听的端口,默认3128
proxyuser squid cache服务器需要认证登录的用户名, 符号“-”代表没有
proxypass squid cache服务器需要认证登录的用户名, 符号“-”代表没有
expectstatus HTTP协议返回的HTTP code, 符号“2”代表从2开始
测试
目标主机,squid cache服务器111.111.111.111,监听端口80
#/usr/local/nagios/libexec/check_squid - - 111.111.111.111 80 - - 2
OK - Status: 200 OK
配置nagios监控
# /usr/local/nagios/etc/objects/comands.cfg
define command {
command_name check_squid
command_line $USER1$/check_squid $ARG1$ $ARG2$ $ARG3$ $HOSTADDRESS$ $ARG4$ $ARG5$ $ARG6$ $ARG7$
}
# vi /usr/local/nagios/server/v-cdn.cfg
define service {
hostgroup_name cdn-service
service_description squid
check_interval 30
retry_interval 18
max_check_attempts 5
check_period 24×7
check_command check_squid!!-!-!80!-!-!2
}
重启nagios服务,5分钟后测试状态成功!
阅读(1047) | 评论(0) | 转发(0) |