最近在搭建公司的nagios服务器以便对公司服务器进行监控。之前没有接触过nagios,折腾了这么久快把我搞的崩溃了。现在搭建好了,下面就是搭建方式:

搭建前的准备工作:

nagios服务器主控端: LAMP环境 其中对于(MySQL可以不安装因为nagios服务器对于Mysql不是必须的。)nagios主程序包,nagios-plugins 插件程序包,NRPE。

nagios被监控Linux端:nagios-plugins插件程序包,nrpe。

nagios被监控windows端:NSClient++

nagios主程序下载地址:

wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.4.3.tar.gz

nagios插件程序下载地址:

wget http://down1.chinaunix.net/distfiles/nagios-plugins-1.4.13.tar.gz

linux被控端nrpe下载地址:

wget http://download.chinaunix.net/download.php?id=15110&ResourceID=7482

windows被控端NSClient++下载地址

http://nsclient.org/nscp/downloads (此安装包要具体看被监控的Windows主机是32位还是64位之后对应的进行下载)

下面我们开始具体的搭建:

1.首先部署LAMP环境并且安装nagios依赖的gcc,glibc,glibc-common,gd,gd-devel在此处我只安装Apache,PHP。(注:Mysql可以不安装)

对于Apache和PHP可以使用yum安装RPM包的,也可以使用源码包安装在此处我就使用yum进行安装了

(1. yum -y install httpd php glibc glibc-common gd gd-devel (此命令就是用来安装apache,php以及gcc,glibc,glibc-common,gd,gd-devel)

(2.启动Apache服务:service httpd start

(3.创建一个名为nagios的帐号并给定登录口令:

useradd nagios

passwd nagios

创建一个用户组名为nagcmd用于从Web接口执行外部命令。将nagios用户和apache用户都加到这个组中:

/usr/sbin/groupadd nagcmd

/usr/sbin/usermod -G nagcmd nagios //其中-G选项表示将nagios用户的附加组指定为nagcmd

/usr/sbin/usermod -G nagcmd apache

(4.安装nagios的主程序:

wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.4.3.tar.gz 下载到/root目录

tar zxvf nagios-3.4.3.tar.gz

cd nagios-3.4.3

./configure –with-command-group=nagcmd //运行Nagios配置脚本并使用先前开设的用户及用户组如下图:

wKioL1MoCmrw2Jo7AAIRuwUXX5s977.jpg

make all //编译Nagios程序包源码 wKiom1MoCmzDxXhWAACjccqHESU192.jpg

(看到这个提示说明编译成功)

make install //安装二进制运行程序

wKiom1MoCljSjfd6AAGFeBIEabE267.jpg

make install-init //初始化脚本

wKiom1MoCryy-OyoAACy1SEZjvo981.jpg

make install-config //配置文件样本

wKiom1MoCy_TRzOSAAKzMc6iIfw380.jpg

make install-commandmode //设置运行目录权限

阿里云-推广AD

wKiom1MoC0TSLBVKAADROPDB9GY196.jpg

+++++++++++++++现在还不能启动Nagios-还有一些要做的…+++++++++++++++

编辑/usr/local/nagios/etc/objects/contacts.cfg配置文件,更改email地址nagiosadmin的联系人定义信息中的EMail信息为你的EMail信息以接收报警内容。如下图:

wKiom1MoCAijCNwAAAE-8theEcE155.jpg

其中的13248274038@139.com为最终接受报警信息的邮箱地址。

配置WEB接口安装Nagios的WEB配置文件到Apache的conf.d目录下:

make install-webconf

创建一个nagiosadmin的用户用于Nagios的WEB接口登录。记下你所设置的登录口令,一会儿你会用到它。

htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

重启Apache服务以使设置生效。

service httpd restart

(5.安装nagios的插件程序:

wget http://down1.chinaunix.net/distfiles/nagios-plugins-1.4.13.tar.gz

tar xzf nagios-plugins-1.4.13.tar.gz

cd nagios-plugins-1.4.13

编译并安装插件:

./configure –with-nagios-user=nagios –with-nagios-group=nagios

make && make install

把nagios添加为系统服务并将之加入到自动启动服务队列:

chkconfig –add nagios

chkconfig nagios on

检查其主配置文件的语法是否正确:

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

如果上面的语法检查没有问题,接下来就可以正式启动nagios服务了:

service nagios start

配置selinux如果您的系统开启了selinux服务,则默认为拒绝nagios web cgi程序的运行。您可以通过下面的命令来检查您的系统是否开启了selinux:#getenforce如果上面命令的结果显示开启了selinux服务,您可以通过下面的命令暂时性的将其关闭:#setenforce 0如果您想在以后完全关闭selinux,可以通过编辑/etc/sysconfig/selinux文件,将其中的selinux后面的值“force”修改为“disable”即可。当然,您也可以通过以下方式将nagios的CGI程序运行于SELinux/targeted模式而不用关闭selinux:

chcon -R -t httpd_sys_content_t/usr/local/nagios/sbin

chcon -R -t httpd_sys_content_t /usr/local/nagios/share

通过web界面查看nagios:

http://your_nagios_IP/nagios登录时需要指定前面设定的web认证帐号和密码。

(6.安装NRPE:

wget http://download.chinaunix.net/download.php?id=15110&ResourceID=7482

tar xvf nrpe-2.13.tar.gz

cd nrpe-2.13

./configure

make all

make install-plugin make install-daemon make install-daemon-config

\cp src/check_nrpe/usr/local/nagios/libexec/

/usr/local/nagios/bin/nrpe -c/usr/local/nagios/etc/nrpe.cfg -d (启动NRPE服务)