Nagios 监控Linux服务器(3)

五、扩展监控
 

1.check_linux_status.pl
 
这个是一个比较好用的插件,可以监控内存、CPU使用率(check_load是负载,两者有区别,但都是可以反映CPU性能的插件)、磁盘I/O 但是直接执行执行不了,需要安装Sys::Statistics::Linux
 
 
 
1)通过cpan 安装Sys::Statistics::Linux(需要安装cpan)
 
yum install cpan
 
[root@localhost ~]# cpan
 
install Sys::Statistics::Linux
 
2)还可以下载安装Sys-Statistics-Linux-0.66.tar.gz
 
[root@localhost ~]# tar zxvf Sys-Statistics-Linux-0.66.tar.gz
 
[root@localhost ~]# cd Sys-Statistics-Linux-0.66
 
[root@localhost Sys-Statistics-Linux-0.66]# perl Makefile.PL
 
[root@localhost Sys-Statistics-Linux-0.66]# make
 
[root@localhost Sys-Statistics-Linux-0.66]# make test
 
[root@localhost Sys-Statistics-Linux-0.66]# make install
 

3)监控内存, 超过80%告警,90%紧急;50是swap的值,需要设定,可以打-h查看
 

客户端nrpe.cfg
 
command[check_mem]=/usr/local/nagios/libexec/check_linux_stats.pl -M -w 80,50 -c 90,50
 

服务端linuxserver1.cfg
 
define service{
 
        use            generic-service
 
        host_name      linuxserver1
 
        service_description    check-memory
 
        check_command          check_nrpe!check_mem
 
}
 

2.监控mysql服务,并实现自动重启-无密码登陆
 
限于篇幅,我说下实现过程,下面配置需要通过nagios服务端到mysql服务端无密码登陆,如何配置网上资料很多,服务重启直接远程过去重启,还可以在客户端定义个命令重启mysql,服务端引用,别在权限上栽跟头。
 
下面贴出nagios配置参考
 
command.cfg
 
define command{
 
        command_name    check_mysql
 
        command_line    $USER1$/check_mysql -H $HOSTADDRESS$ -P $ARG1$ -u $ARG2$ -p $ARG3$
 
        }
 
define command{
 
        command_name    mysql-restart
 
        command_line    /usr/bin/ssh nagios@$HOSTADDRESS$ "sudo /etc/rc.d/init.d/mysql restart"
 
        }
 
linuxserver1.cfg
 
define service{
 
        use            generic-service
 
        host_name      linuxserver1
 
        service_description    mysql
 
        check_command          check_mysql!3306!axon!action
 
        event_handler_enabled  1
 
        event_handler          mysql-restart
 
        }
 

3.监控mysql坏表,并自动修复
 
监控mysql坏表是判断数据库中表引擎是否为空来实现,可能有些其它情况下坏表监控不到,这个需要完善,有什么好的建议网友也可提出来,一起提高···
 
4.监控mysql主从
 
监控主从的依据其实就是判断slave 状态,如果IO 和SQL不为yes,那就有问题了
 
Slave_IO_Running: Yes
 
Slave_SQL_Running: Yes
 
5.监控一个网站所有页面
 
这个就不建议用nagios 去监控了,但可以利用check_http 这个插件,对所有url进行轮询,然后将超时的提取出来通过邮件发送,可以做个定时任务。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/08147f76463a398db2e1ee256de485cc.html