Nagios 监控端程序的安装及配置
1.添加nagios用户和组
groupadd nagcmd #添加与nagios运行相关服务的组 useradd -m nagios #添加nagios用户 usermod -a -G nagcmd nagios #将nagios用户追加附加组 usermod -a -G nagcmd apache #将apache用户追加nagcmd组使之工作时具有足够的权限2.编译安装nagios 3.3.1
tar xvf nagios-3.3.1.tar.gz cd nagios # ./configure --with-command-group=nagcmd --enable-event-broker #默认安装路径在/usr/local/nagios/ make all && make install && make install-init && make install-config && make install-commandmode && make install-webconf #安装主程序、添加初始化程序、生成配置文件、生成web配置文件make install-webconf的作用:在/etc/httpd/conf.d/nagios.conf生成web相关配置文件,用于定义nagios使用的CGI选项,web的身份认证等
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin New password: Re-type new password: Adding password for user nagios #为nagios的web页面创建账号密码,对访问进行身份认证 service httpd restart chkconfig httpd on #启动httpd,并设置开机启动PS:此处用户名尽量使用默认nagiosadmin,否则就需要修改cgi.cfg文件中所有关于认证选项的用户
3.编译安装nagios-plugins
nagios的所有监控工作都是由nagios-plugins插件完成的,因此,在启动nagios之前还需要为其安装nagios-plugins。
tar xvf nagios-plugins-1.4.15.tar.gz cd nagios-plugins-1.4.15 ./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-mysql #添加mysql依赖 make && make install #编译并安装 Ps:作者在安装nagios-cn-3.2.3.tar过程中,在此处编译完成发现mysql关联库文件本跳过。经分析原因是由于在编译nagios时修改了nagios的默认安装路径(非/usr/local/nagios)。 解决办法: cp /usr/lib/mysql/mysql_config /usr/lib/pkgconfig/ #将mysql的配置文件放在这个目录下使之能够在编译过程中读到相关配置选项 再进行编译安装nagios-plugins4.测试配置文件语法并尝试启动nagios
chkconfig --add nagios chkconfig nagios on #添加nagios到开机启动项 vim /etc/profile PATH=$PATH:/usr/local/nagios/bin #向profile加入这一行,指明nagios命令的path . /etc/profile nagios -v /usr/local/nagios/etc/nagios.cfg #检查配置文件的语法 service nagios start #如语法监测为报错则尝试开启服务注意:此时需要关闭SELINUX或针对nagios对SELIUNX进行配置
方法一、直接关闭selinux getenforce #查看selinux的运行状态 setenforce 0 #如果是enforce(开启)状态,则关闭 Ps:如果您想在今后的使用中完全关闭selinux,可以通过编辑/etc/sysconfig/selinux文件,将其中的selinux后面的值“force”修改为“disable”即可。 方法二、修改相关文件的type chcon -R -t httpd_sys_content_t /usr/local/nagios/sbin chcon -R -t httpd_sys_content_t /usr/local/nagios/share #进行这些操作就可以在selinux开启的状态下正常访问nagios5.打开浏览器检测nagios的工作情况
注意:如果htpasswd生成的密码没有使用的默认的nagiosadmin则会导致无法正常显示监控信息,将cgi.cfg中use_authentication=1改成0虽能显示主机信息但在手动刷新服务状态时报错
解决方法:将cgi.cfg中认证用户改成htpasswd生成的用户;或按照cgi.cfg认证功能用户从新生成htpasswd。
配置监控Windows主机
1.修改nagios主配置文件
vim /usr/local/nagios/etc/nagios.cfg cfg_file=/usr/local/nagios/etc/objects/windows.cfg #将这一行注释去掉2.修改用来定义windows的配置文件
vim /usr/local/nagios/etc/objects/windows.cfg define host{ use windows-server ; Inherit default values from a template host_name winserver ; The name we're giving to this host alias My Windows Server ; A longer name associated with the host address 192.168.0.72 ; windowsIP } #修改IP,此ip为windows主机IP配置监控Linux主机
1.编译安装nrpe
tar xvf nrpe-2.12.tar cd nrpe-2.12 ./configure --enable-ssl --with-ssl-lib=/lib/ make all && make install-plugin2.在nagios中定义nrpe
vi /usr/local/nagios/etc/objects/commands.cfg #check nrpe define command{ command_name check_nrpe command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ } #在末行添加这些内容3.创建定义linux的配置文件
vim /usr/local/nagios/etc/objects/mylinux.cfgdefine host{ use linux-server host_name mylinux alias mylinux address 192.168.0.72#客户端IP即被监控的IP } define service{ use generic-service host_name mylinux service_description check-load check_command check_nrpe!check_load } define service{ use generic-service host_name mylinux service_description check-users check_command check_nrpe!check_users } define service{ use generic-service host_name mylinux service_description otal_procs check_command check_nrpe!check_total_procs }chown -R nagios:nagios mylinux.cfg
#修改配置文件的属主属组
4.修改配置文件
vim /usr/local/nagios/etc/nagios.cfg cfg_file=/usr/local/nagios/etc/objects/mylinux.cfg #在主配置文件指明linux主机的配置文件路径