最近需要用Nagios监控几台Linux服务器,经过搜索学习,我成功的实现了这个目标。以下是整个安装流程和需要注意的事项。
首先,需要明确的知道Nagios是如何监控LINUX服务器的。他们是通过NRPE addon实现交流的。NRPE addon包括了两个部分,nrpe_check和nrpe_daemon。nrpe_check在nagios服务器端,通过ssl连接到nrpe_daemon上,远程的调用linux服务器上的nrpe plugin上定义的命令,就可以获得远程服务器的各种信息。
因此,Nagios服务器端需要安装 Nrpe addon , 而远程服务器需要安装 nrpe addon和 nrpe plugin。
我的nagios服务器和远程服务器都是Debian
以下是客户端(远程服务器)的安装:
1. 首先是预安装相关的程序
sudo apt-get install make gcc g++
sudo apt-get install libssl-dev
sudo apt-get install snmpd
sudo apt-get install snmp scli tkmib
sudo useradd -p nagios *PASSWORD*
2. 然后就可以下载最新的nagios plugin文件,并进行解压
cd /downloads
sudo wget http://internode.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.**.tar.gz (** = latest version)
sudo tar -xzvf nagios-plugins-1.4.**.tar.gz
cd nagios-plugins-1.4.13
检测库文件,测试,安装
sudo ./configure
sudo make
sudo make install
他的默认安装路径是 /local/usr/nagios, 也可以第一步手动确认 ./confgure –prefix=/usr/local/nagios
安装完以后的访问权限是 root root 权限,我们需要把它改成nagios nagios
sudo chown -R nagios:nagios /usr/local/nagios/
最后我们需要安装xineted,并将nrpe作为他的一个服务运行。
sudo apt-get install xinetd
3. 客户端安装nagios addon
下载解压
cd /usr/src
sudo wget http://waix.dl.sourceforge.net/sourceforge/nagios/nrpe-2.**.tar.gz (** = latest version)
sudo tar -xzvf nrpe-2.**.tar.gz
cd nrpe-2.12
安装
需要值得一提的是第一步 sudo ./configure, 我发现2.14, 2.15版本的文件无法通过解析,会报错ssl library无法找到,解决的办法如下:
#dpkg -L libssl-dev (他会显示我的libssl.so位于/usr/lib/x86_64_linux_gnu)
#./confiugre --with-ssl=/usr/bin/openssl --with-ssl-lib=/usr/lib/x86_64_linux_gnu
如果是低版本的例如2.12,直接运行以下命令即可
sudo ./configure
sudo make all
sudo make install-plugin
sudo make install-daemon
sudp make install-daemon-config
sudo make install-xinetd
至此安装完毕。下一步是修改配置文件
4.修改客户端的nrpe文件
因为我们是通过xinetd来运行nrpe,所以授权的nagios服务器是在/etc/xinetd.d/nrpe中配置,如果没有安装xinetd,那么端口和运行的服务器则是在/usr/local/nagios/etc/nrpe.cfg中配置
sudo vim /etc/xinetd.d/nrpe
and add to only_from= your Nagios server IP
记得将5666端口加入services
sudo echo "nrpe 5666/tcp #NRPE" >> /etc/services (MUST run as ROOT).
5 最后我们还得来配置/usr/local/nagios/etc/nrpe.cfg文件。前面说了,端口号和服务器不用在这里配置了,但是nrpe daemon调用的命令还需要在这里定义。
这些命令都可以手动的执行看看是否工作
最后需要重启xinetd服务
sudo /etc/init.d/xinetd restart
测试一下,这里可以看出nrpe是独立运行还是基于xineted的服务运行的
sudo netstat -l | grep nrpe
ps aux | grep nrpe
netstat -nap | grep nrpe
Linux 客户端的安装基本完成了
6. Nagios主机上不需要daemon,所以安装plugin即可,第3步的操作再运行一次
sudo wget http://waix.dl.sourceforge.net/sourceforge/nagios/nrpe-2.**.tar.gz (** = latest version)
sudo tar -xzvf nrpe-2.**.tar.gz
cd nrpe-2.12
sudo ./configure
sudo make all
sudo make install-plugin
接下来是配置nrpe
首先看看nrpe的语法
/usr/local/nagios/libexec/check_nrpe -h|less
看了语法,我们就可以在对应的command.cfg里面进行配置了
比如说 vim /etc/nagios3/command.cfg
$USER1$是在/etc/nagios3/resources.cfg里面定义的路径
相当于调用 /usr/local/nagios/libexec/check_nrpe
-H 是当前指向的远程服务器
-c 是执行命令远程服务器上的命令
$ARG1$ 是命令的名字
这里定义之后,在对应的server.cfg中就可以配置services
例如,sudo vim /etc/nagios3/objects/au_servers.cfg
check_nrpe!check_swap
check_nrpe是在nagios服务器/etc/nagios3/command.cfg中定义的, !表示远程调用daemon的程序,check_swap则是第6步在远程服务器上/usr/local/nagios/bin/nrpe定义的
另外一个例子是
这个command会远程的调用window 客户端 (nsclient++)里面定义的CheckMem以便查看物理内存
具体的语法定义如下
http://www.nsclient.org/nscp/wiki/CheckSystem/checkMem
To be Continued...
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com