刚刚在中央机器上安装了nagios,在10台远程linux机器上安装了nrpe,并开始监视它们。 它工作很好。 我可以得到CPU负载,当前用户,进程,MySQL等。我无法find一种方法来监视使用核心插件的内存使用情况。 我错过了什么? 我需要一个外部插件来做到这一点?
我build议你宁愿监视交换使用情况。 check_scheap插件 – 它默认是[至less在debian中]。
是的,我想为什么他们没有包括一个插件,将检查内存,当他们已经包括check_swap和check_disk …好吧,有什么问题…但check_memory插件可从exchange.nagios.org http:/ / /exchange.nagios.org/directory/Plugins/Operating-Systems/Solaris/check_mem-2Epl/details
这个工程相当不错..它的Perl脚本,所以甚至不需要安装…这是链接http://sysadminsjourney.com/content/2009/06/04/new-and-improved-checkmempl-nagios -plugin /从上面的插件页面…简单和良好的文档…
$ /usr/local/nagios/libexec/check_mem.pl -w 10 -c 5 -f
警告 – 9.9%(406520 kB)free!| TOTAL = 4113824KB ;;;; 二手= 3707304KB ;;;; FREE = 406520KB ;;;; CACHES = 816947KB ;;;;
所以configuration步骤很简单:
使用Nagios服务器和NRPE客户端在失败时自动重新启动服务2015年1月13日
使用Nagios和NRPE执行远程命令
1.在远程主机上安装NRPE:
rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm yum -enablerepo = epel -y install nrpe nagios-plugins yum -enablerepo = epel – y list nagios-plugins * vim /etc/nagios/nrpe.cfg
服务nrpe启动chkconfig nrpe
2.要在远程nagios客户端上执行命令,请遵循以下步骤:
vim /etc/nagios/nrpe.cfg a。 从0更改为1,如下所示:dont_blame_nrpe = 1 b。 在NRPE中configuration命令在文本编辑器中打开nrpe.cfg文件,并添加以下行以在NRPE中定义命令。 在nrpe.cfg文件的commands部分下面添加下面提到的命令:command [runcmd] = sudo service $ ARG1 $ restart
vim / etc / sudoers nagios ALL = NOPASSWD:/ sbin / service nrpe ALL = NOPASSWD:/ sbin / service
从nagios服务器testingruncmd命令:
从Nagios服务器testing命令切换到Nagios命令行,服务重启脚本将使用Check_Nrpe将命令发送到服务主机。 导航到Nagios命令行并input以下命令:
/ usr / local / nagios / libexec / check_nrpe -H 192.168.5.180 -p 5666 -c runcmd -a httpd
使用Nagios NRPE和事件处理程序执行远程命令configurationnagios客户机/远程机器1.修改nrpe.cfg,如下所示:将dont_blame_nrpe = 0更改为don't_blame_nrpe = 1 2.将以下自定义命令添加到nrpe.cfg中如下所示:命令[event-ntp] = / usr / lib64 / nagios / plugins / event-ntp $ ARG1 $ $ ARG2 $ $ ARG3 $ 3.创build一个事件处理程序,如下所示:vim / usr / lib64 / nagios /插件/事件-NTP
#!/bin/bash case “$1″ in OK) ;; WARNING) echo -e “Running NTP Query” “\n” ntpq -p | mailx -s “HOSTNAME – NTP Query” [email protected] ;; UNKNOWN) ;; CRITICAL) case “$2″ in SOFT) case “$3″ in 3) echo -e “Running NTP Query & Restarting NTP Service” “\n” ntpq -p | mailx -s “HOSTNAME – NTP Query – Restarted NTPD” \ [email protected] && /usr/bin/sudo /sbin/service ntpd restart ;; esac ;; HARD) echo -e “Running NTP Query & Restarting NTP Service” “\n” ntpq -p | mailx -s “HOSTNAME – NTP Query – Restarted NTPD” \ [email protected] && /usr/bin/sudo /sbin/service ntpd restart ;; esac ;; esac exit 0
授予执行权限并更改所有者和组:chmod + x / usr / lib64 / nagios / plugins / event-ntp chown nagios:nagios / usr / lib64 / nagios / plugins / event-ntp
棘手的,也许不是最安全的方法是修改sudoer的文件以允许nagios用户执行系统命令
visudo添加以下内容:User_Alias NAGIOS = nagios,nagcmd Cmnd_Alias NAGIOSCOMMANDS = / sbin / service默认值:NAGIOS!requiretty NAGIOS ALL =(ALL)NOPASSWD:NAGIOSCOMMANDS
在Nagios服务器上configuration事件处理程序首先,您需要在commands.cfg文件中创build一个event-ntp命令:
define command {command_name event-ntp command_line / usr / local / nagios / libexec / check_nrpe -H $ HOSTNAME $ -c event-ntp -a $ SERVICESTATE $ $ SERVICESTATETYPE $ $ SERVICEATTEMPT $}
define service {use local-service host_name neeraj-test service_description Time Sync Check event_handler event-ntp check_command check_nrpe!check_ntp}
如果一切顺利的话,你应该从客户端收到来自ntpq -p的输出和ntpd服务重启的电子邮件。 如果遇到问题,没有收到邮件,或者没有执行脚本,请在nrpe.cfg中设置debug level = 1,重新启动nrpe,执行上面的event-ntp test,检查日志。 正如您所看到的,执行事件处理程序脚本并不难,并且可以节省pipe理员的时间,因为nagios可以完成系统/主机关键警报的工作。