#######################监控端口是否开启
监控远程主机端口
】客户端
1、修改nrpe,添加
command[check_5666]=/usr/local/nagios/libexec/check_tcp -H 127.0.0.1 -p 5666
command[check_3306]=/usr/local/nagios/libexec/check_tcp -H 127.0.0.1 -p 3306
重启nrpe
--这里的地址是写本地的,并不是写服务器的,是因为通过check_tcp脚本取得某端口状态后再通过nrpe返回给nagios服务端,然后出现在web中
】】服务端
1、修改services.cfg,添加
define service{
host_name xx
service_description mysql_3306
# check_command check_nrpe!check_tcp!3306
check_command check_nrpe!check_3306
--如果注释check_3306那一行的话,可能会出现
NRPE: Command 'check_tcp' not defined
--此处的定义是指并未在客户端那里定义
但是可以仍然可以在服务器端用check_nrpe获取3306的相关信息
root># ./check_nrpe -H xx -c check_3306
TCP OK - 0.000 second response time on port 3306|time=0.000177s;;;0.000000;10.000000
但是使用 check_tcp的话就不行了
因为对象check_3306是通过check_tcp来获取结果的,而check_tcp已经在command.cfg中定义了,所以不需要为check_tcp在进行定义了
###############监控内存
【客户端】
1、添加脚本:cat check_mem.sh
TOTAL=`free -m | head -2 |tail -1 |gawk '{print $2}'`
# Free memory
FREE=`free -m | head -2 |tail -1 |gawk '{print $4}'`
# to calculate free percent
# use the expression free * 100 / total
FREETMP=`expr $FREE \* 100`
PERCENT=`expr $FREETMP / $TOTAL`
echo "$FREE MB ($PERCENT%) Free Memory"
exit 0
并且把该脚本复制到/usr/local/nagios/libexec,赋予执行权限,属主改为nagios
2、修改配置文件,定义
command[check_mem]=/usr/local/nagios/libexec/check_mem.sh -w 150 -c 100
3、在客户端测试脚本,并重启nrpe
root># ./check_mem.sh
200 MB (1%) Free Memory
Nagios监控内存和某个端口是否开启
内容版权声明:除非注明,否则皆为本站原创文章。
转载注明出处:http://www.heiqu.com/d978574ee931527bab645c0fe48acdd9.html