安装Nagios及其插件.docx
《安装Nagios及其插件.docx》由会员分享,可在线阅读,更多相关《安装Nagios及其插件.docx(10页珍藏版)》请在冰豆网上搜索。
安装Nagios及其插件
一、安装Nagios及其插件
1.Nagios需要的环境
LAMP或者LEMP这里不作论述,请在本站查找。
特别注意:
yum安装必备的编译组件、库及依赖软件,必须安装GDGD-DEVEL
到Nagios官方下载下列软件包
下载nagios-3.0.6.tar.gz-----------------------主程序
nagios-plugins-1.4.13.tar.gz------------------插件
nrpe_2.12.tar.gz--------------------------监控Linux需要
nsclient++0.3.5---------------------------监控windows需要
2。
安装nagios-3.0.6.tar.gz
=======================
/usr/sbin/useraddnagios
passwdnagios输入密码
/usr/sbin/groupaddnagcmd
/usr/sbin/usermod-gnagcmdnagios
/usr/sbin/usermod-gnagcmdapache
=====================
tarxzfnagios-3.0.6.tar.gz
=======================
cdnagios-3.0.6
=======================
./configure--with-group=nagios--with-user=nagios--with-command-group=nagcmd--with-gd-lib=/usr/lib--with-gd-inc=/usr/include
================
makeall
==================
makeinstall
================
makeinstall-init
=======================
makeinstall-config
=====================
makeinstall-commandmode
===============================
vi/usr/local/nagios/etc/objects/contacts.cfg
更改email地址nagiosadmin的联系人定义信息中的EMail信息为你的EMail信息以接收报警内容。
=================================
makeinstall-webconf
=====================
/usr/local/apache/bin/htpasswd-c/usr/local/nagios/etc/htpasswd.usersnagiosadmin
输入密码(这一步很重要)
========================================================
3。
译并安装Nagios插件
nagios-plugins-1.4.13.tar.gz
tarxzfnagios-plugins-1.4.13.tar.gz
cdnagios-plugins-1.4.13
============================
./configure--with-nagios-user=nagios--with-nagios-group=nagios
make
makeinstall
============================
chkconfig--addnagios
chkconfignagioson
=====================
验证Nagios的样例配置文件
/usr/local/nagios/bin/nagios-v/usr/local/nagios/etc/nagios.cfg
================================
如果没有报错,可以启动Nagios服务
servicenagiosstart
=========================================
4。
编辑apache的httpd.conf
最后面添加:
ScriptAlias/nagios/cgi-bin"/usr/local/nagios/sbin"
# SSLRequireSSL
OptionsExecCGI
AllowOverrideNone
Orderallow,deny
Allowfromall
# Orderdeny,allow
# Denyfromall
# Allowfrom127.0.0.1
AuthName"NagiosAccess"
AuthTypeBasic
AuthUserFile/usr/local/nagios/etc/htpasswd.users
Requirevalid-user
Alias/nagios"/usr/local/nagios/share"
# SSLRequireSSL
OptionsNone
AllowOverrideNone
Orderallow,deny
Allowfromall
# Orderdeny,allow
# Denyfromall
# Allowfrom127.0.0.1
AuthName"NagiosAccess"
AuthTypeBasic
AuthUserFile/usr/local/nagios/etc/htpasswd.users
Requirevalid-user
=========================================
5。
在验证下
/usr/local/nagios/bin/nagios-v/usr/local/nagios/etc/nagios.cfg
没有出错的话!
重新启动nagios和apache
========================
6。
关于selinux,如果selinux是关闭状态,可以忽略这部!
如果selinux开启!
那么
如果是SELinux处于强制安全模式时需要做
getenforce
令SELinux处于容许模式
setenforce0
如果要永久性更变它,需要更改/etc/selinux/config里的设置并重启系统。
不关闭SELinux或是永久性变更它的方法是让CGI模块在SELinux下指定强制目标模式:
chcon-R-thttpd_sys_content_t/usr/local/nagios/sbin/chcon-R-thttpd_sys_content_t/usr/local/nagios/share/
7.登陆web接口!
http:
//localhost/nagios
输入你刚才设置的用户名密码!
ok了!
看到界面了吧
ps:
如果遇到问题!
!
!
!
如果遇到关于cgi什么权限问题!
察看下/usr/local/nagios的属主组权限,
包括里面的内容,
尤其是/usr/local/nagios/etc/htpasswd.users这个文件的权限!
都应该是nagios:
nagios
另外尝试编辑
vi/usr/local/nagios/etc/cgi.cfg
把
use_authentication=1
修改为
use_authentication=0
如果出现页面无法显示之类的,去访问里面的
有关于基本的错误的解决方法!
=========================================================
二、监控windows系统
添加第一台windows2003设备来进行检测
接下来我们开始监控第一台windows设备!
windows服务器上要安装nsclient++0.3.5.zip
解压后,copy到c盘根目录
1。
在nagios服务器上
vi/usr/local/nagios/etc/nagios.cfg
#cfg_file=/usr/local/nagios/etc/objects/windows.cfg去掉这句话的注释
保存退出!
2。
到win服务器上,打开命令窗口,cd到刚才解压的目录
在命令行界面执行nsclient++/install
然后nsclient++SysTray如果出错不用管!
此时在“服务”里面已经有了nsclient的服务
3。
编辑NES.ini
在[modules]选项里
去掉所有的注释符号;除了
CheckWMI.dll和RemoteConfiguration.dll
4。
the[Settings]选项里
修改allowd_host=61.x.x.x(nagios服务器的ip)
如果这一步要修改passwd,那么nagios服务器里面commands.cfg也要修改!
步骤:
在commands.cfg找到check_nt定义命令中的Command_line在其中添加-s你的密码
5。
[NSClient]里面,去掉port=12489的注释!
他靠端口12489侦听,所以防火墙要打开这个端口!
然后启动nsclient
nsclient++/start
========================================
接下来我们开始配置nagios服务器里面的内容
vi/usr/local/nagios/etc/objects/windows.cfg
=================================
definehost{
usewindows-server
host_namewinserveralias
MyWindowsServer
address192.168.1.2
}
修改hostname和address,很重要!
!
然后下面的很多定义,都可以不用改,想知道每个定义的意思,去看看官方的文档!
!
下面的定义全部修改hostname都改为自己的!
一定要一样!
接下来保存!
退出!
!
======================
然后重新启动nagios
看看你的web图形是不是变化了!
它会自动连接!
如果这个时候出错!
尝试去telnetwin服务器的ip12489端口!
!
自己排除原因!
!
三、监控Linux服务器
添加除了本机外第一台linux服务器
刚才我们配置完了之后,可以监控本机,也可以监控第一台win服务器(里面自带的windows.cfg),现在我们监控第一台linux服务器!
至于为什么要用nrpe,请参考官方文档,这里我就不多说了!
1。
被监控端(被监控的服务器)安装nagios-nrpe_2.12.tar.gz和插件nagios-plugins-1.4.13.tar.gz
安装过程
====================
useraddnagios
passwdnagios
tar-zxvfnagios-plugins-1.4.13.tar.gz
cdnagios-plugins-1.4.13
./configure
make
makeinstall
=======================
这一步完成后会在/usr/local/nagios/下生成两个目录libexec和share
======================================
chownnagios.nagios/usr/local/nagios
然后
tar-zxvfnagios-nrpe_2.12.tar.gz
cdnagios-nrpe_2.12
./configure
makeall
makeinstall-plugin
makeinstall-daemon
makeinstall-daemon-config
========================================================
vi/usr/local/nagios/etc/nrpe.cfg
将allowed_hosts=127.0.0.1
修改成你的nagios服务器的ip
=======================================
/usr/local/nagios/bin/nrpe-c/usr/local/nagios/etc/nrpe.cfg-d
启动nrpe
================================================
netstat-an|grep5666
察看是否在5666端口上监听
注意:
防火墙释放端口5666,很重要
===================================
/usr/local/nagios/libexec/check_nrpe-Hlocalhost
察看是否能返回nrpv版本号,返回则正常!
=============================================
vi/usr/local/nagios/etc/nrpe.cfg
可以看到里面监控对象
#Thefollowingexamplesusehardcodedcommandarguments...
command[check_users]=/usr/local/nagios/libexec/check_users-w5-c10
command[check_load]=/usr/local/nagios/libexec/check_load-w15,10,5-c30,25,20
command[check_hda1]=/usr/local/nagios/libexec/check_disk-w20-c10-p/dev/hda1
command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs-w5-c10-sZ
command[check_total_procs]=/usr/local/nagios/libexec/check_procs-w150-c200
===================================================
然后再启动nrpe
/usr/local/nagios/bin/nrpe-c/usr/local/nagios/etc/nrpe.cfg?
d
这样子,在监控端算是设置完了!
!
!
2。
我们来设置nagios服务器端的设置!
安装nagios-nrpe_2.12.tar.gz
这里安装过程比上面再被监控服务安装少两部
=========================================
tar-zxvfnagios-nrpe_2.12.tar.gz
cdnagios-nrpe_2.12
./configure
makeall
makeinstall-plugin
================================
然后我们测试下连通性
/usr/local/nagios/libexec/check_nrpe-H被监控端ip
如果返回nrpe版本号,那么正常!
如果返回拒绝连接!
那么telnetip5666看是否正常
======================================================
配置:
=================================
由于nrpe外构组件,所以必须在commands.cfg中定义(我这里的nagios版本是3.0.3和2。
x的版本有些不一样)
[root@localhostetc]#vi/usr/local/nagios/etc/objects/commands.cfg
最下面添加
#checknrpe
definecommand{
command_namecheck_nrpe
command_line$USER1$/check_nrpe-H$HOSTADDRESS$-c$ARG1$
}
========================================================
[root@localhostetc]#vi/usr/local/nagios/etc/nagios.cfg
中间添加
cfg_file=/usr/local/nagios/etc/objects/aiyo-mailserver.cfg
最后面的aiyo-mailserver.cfg你们可以自己改,或者Linux1.cfg也可以!
=================================================
新建aiyo-mailserver.cfg
[root@localhostetc]#vi/usr/local/nagios/etc/objects/aiyo-mailserver.cfg
添加
definehost{
use linux-server
host_name aiyo-mailserver
alias aiyo-mailserver
address 210.51.47.213
}
defineservice{
use generic-service
host_name aiyo-mailserver
service_description HTTP
check_command check_http
}
defineservice{
use generic-service
host_name aiyo-mailserver
service_description FTP
check_command check_ftp
defineservice{
use generic-service
host_name aiyo-mailserver
service_description SSH
check_command check_ssh
}
defineservice{
use generic-service
host_name aiyo-mailserver
service_description SMTP
check_command check_smtp
}
defineservice{
use generic-service
host_name aiyo-mailserver
service_description POP3
check_command check_pop
}
defineservice{
use generic-service
host_name aiyo-mailserver
service_description check-swap
check_command check_nrpe!
check_swap
}
defineservice{
use generic-service
host_name aiyo-mailserver
service_description check-load
check_command check_nrpe!
check_load
}
defineservice{
use generic-service
host_name aiyo-mailserver
service_description check-disk
check_command check_nrpe!
check_had1
defineservice{
use generic-service
host_name aiyo-mailserver
service_description zombie_procs
check_command check_nrpe!
check_zombie_procs
}
defineservice{
use generic-service
host_name aiyo-mailserver
service_description check-users
check_command check_nrpe!
check_users