nagios安装配置以及一些常见问题处理
进入nagios官网http://www.nagios.org/
下载最新版本nagios
nagios-3.5.0.tar.gz
nagios-plugins-1.4.16.tar.gz
操作系统是centos5.4
1、新建用户
useraddnagios
2、安装nagios
tarzxvfnagios-3.5.0.tar.gz
cdnagios
./configure--prefix=/usr/local/nagios
makeall
makeinstall##安装主要的程序、CGI及HTML文件
makeinstall-commandmode##给外部命令访问nagios配置文件的权限
makeinstall-config##把配置文件的例子复制到nagios的安装目录
3、安装nagios插件
tarzxvfnagios-plugins-1.4.16.tar.gz
cdnagios-plugins-1.4.16
./configure--prefix=/usr/local/nagios/
make
makeinstall
4、配置http
#settingfornagios
ScriptAlias/nagios/cgi-bin/usr/local/nagios/sbin
##Cgi文件所在目录
AuthTypeBasic
OptionsExecCGI
AllowOverrideNone
Orderallow,deny
Allowfromall
AuthName"NagiosAccess"
AuthUserFile/usr/local/nagios/etc/htpasswd
Requirevalid-user
Alias/nagios/usr/local/nagios/share
##nagios页面文件目录
AuthTypeBasic
OptionsNone
AllowOverrideNone
Orderallow,deny
Allowfromall
AuthName"nagiosAccess"
AuthUserFile/usr/local/nagios/etc/htpasswd
Requirevalid-user
5、新建用户认证文件
touch/usr/local/nagios/etc/htpasswd.users
6、创建用户
/usr/bin/htpasswd-c/usr/local/nagios/etc/htpasswd.usersnagios
输入两次密码
再添加用户不要使用-c否则会将htpasswd.users内容覆盖
7、重启http服务
8、访问http://10.1.1.254/nagios
如果提示Youdon'thavepermissiontoaccess/nagios/onthisserver
说明有可能服务器没有安装php
执行yuminstallphp即可
vimlocalhost.cfg
cfg_file=/usr/local/nagios/etc/contactgroups.cfg//联系组配置文件路径
cfg_file=/usr/local/nagios/etc/contacts.cfg//联系人配置文件路径
cfg_file=/usr/local/nagios/etc/hostgroups.cfg//主机组配置文件路径
cfg_file=/usr/local/nagios/etc/hosts.cfg//主机配置文件路径
cfg_file=/usr/local/nagios/etc/services.cfg//服务配置文件路径
cfg_file=/usr/local/nagios/etc/timeperiods.cfg//监视时段配置文件路径
改check_external_commands=0为check_external_commands=1这行的作用是允许执行在web界面下重启nagios、停止主机/服务检查等操作。
另外需要注意一下/usr/local/nagios/var/rw/nagiosNaNd的权限prwxrwx---1nagiosnagios。
把command_check_interval的值从默认的1改成command_check_interval=10s(根据自己的情况定这个命令检查时间间隔,不要太长也不要太短)。
authorized_for_system_information=nagiosadmin,nagios
authorized_for_configuration_information=nagiosadmin,nagios
authorized_for_system_commands=nagiosadmin,nagios
authorized_for_all_services=nagiosadmin,nagios
authorized_for_all_hosts=nagiosadmin,nagios
authorized_for_all_service_commands=nagiosadmin,nagios
authorized_for_all_host_commands=nagiosadmin,nagios
安装sendEmail,实现邮件和短信报警
1、下载安装sendEmail-v1.56.tar.gz
将sendEmail-v1.56.tar.gz解压到/usr/local/下,并设置权限
tarzxvfsendEmail-v1.56.tar.gz-C/usr/local/
chownnagios.nagios/usr/local/sendEmail-v1.56/
2、修改contacts.cfg配置文件
以下是联系人的设置方式
definecontact{
contact_nameliulei
aliasliulei
service_notification_period24x7
host_notification_period24x7
service_notification_optionsw,u,c,r
host_notification_optionsd,u,r
service_notification_commandsnotify-service-by-email
host_notification_commandsnotify-host-by-email
email12345678901@139.com
pager12345678901
}
由于nagios是根据联系组来报警的,因此需要设置联系组
definecontactgroup{
contactgroup_nameadmins
aliasNagiosAdministrators
membersliulei
}
安装nagios客户端
下载nagios-plugins-1.4.16.tar.gz和nrpe-2.14.tar.gz
添加nagios用户
useraddnagios
解压安装以上两个压缩包
tarzxvfnrpe-2.14.tar.gz
cdnrpe-2.14
./configure--prefix=/usr/local/nrpe/
makeall
makeinstall-plugin
makeinstall-daemon
makeinstall-daemon-config
tarzxvfnagios-plugins-1.4.16.tar.gz
cdnagios-plugins-1.4.16
./configure--prefix=/usr/local/nrpe/
make&&makeinstall
根据监控的需要配置/usr/local/nrpe/etc/nrpe.cfg
server_address=10.1.1.1
allowed_hosts=127.0.0.1,10.1.1.254
启动nrpe
/usr/local/nrpe/bin/nrpe-d-c/usr/local/nrpe/etc/nrpe.cfg
问题总结:
1、出现报错CHECK_NRPE:Error-CouldnotcompleteSSLhandshake
检查客户端与服务端openssl版本是否一致,如果不一致,必定会出错
解决方法:
将openssl和openssl-devel降级或升级,这两个包相互依赖要一起操作
降级命令yumdowngradeopensslopenssl-devel
升级命令yuminstallopensslopenssl-devel(yum会自动检测安装最新版本)
2、出现报错NRPE:Unabletoreadoutput
第一种情况,服务端和客户端无法连接
在服务端使用/usr/local/nagios/libexec/check_nrpe–Hxxx.xxx.xxx.xxx
如果没有出现nrpe版本信息,需要检查客户端nrpe.cfg是否添加allowed_hosts
第二种情况,客户端没有响应的扩展插件
需要安装nagios-plugins扩展插件
第三种情况,客户端没有配置对应的监控
服务端监控check_swap,由于客户端的nrpe.cfg中没有配置对应的监控,因此会报错
3、安装nrpe报错
第一种情况:编译时configure:error:noacceptableCcompilerfound
解决方法:
gcc未安装,yuminstallgcc
第二种情况:编译时configure:error:Cannotfindsslheaders
解决方法:
openssl和openssl-devel未安装,yuminstallopensslopenssl-devel
4、安装nagios-plugin报错
在编译nagios-plugin是卡在了checkingforICMPpingsyntax
解决方法:
在编译时添加--with-ping-command=ping
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。