Fedora nagios安装手册02.docx
《Fedora nagios安装手册02.docx》由会员分享,可在线阅读,更多相关《Fedora nagios安装手册02.docx(20页珍藏版)》请在冰豆网上搜索。
![Fedora nagios安装手册02.docx](https://file1.bdocx.com/fileroot1/2022-12/8/5163f6d7-5162-4bad-9b16-bfee7912dd63/5163f6d7-5162-4bad-9b16-bfee7912dd631.gif)
Fedoranagios安装手册02
nagios安装手册
一安装nagios
我们的监控主机操作系统为fedora14。
本节介绍如何在fedora14下安装nagios3.2.1。
1 准备软件包
在做安装之前确认要对该机器拥有root权限。
确认你安装好的Fedora系统上已经安装如下软件包再继续。
∙Apache
∙GCC编译器
∙GD库与开发库
可以用yum命令来安装这些软件包,键入命令:
yuminstallhttpd
yuminstallgcc
yuminstallglibcglibc-common
yuminstallgdgd-devel
2 操作过程
1)建立一个帐号
切换为root用户
su-l
创建一个名为nagios的帐号并给定登录口令
/usr/sbin/useraddnagios
passwdnagios
创建一个用户组名为nagcmd用于从Web接口执行外部命令。
将nagios用户和apache用户都加到这个组中。
/usr/sbin/groupaddnagcmd
/usr/sbin/usermod-Gnagcmdnagios
/usr/sbin/usermod-Gnagcmdapache
2)下载Nagios和插件程序包
访问http:
//www.nagios.org/download/站点,下载Nagios和Nagios插件(nagios-plugins)的软件包。
我们使用的Nagios的软件版本是3.2.1,Nagios插件的版本是1.4.15。
3)编译与安装Nagios
解压Nagios源程序包(nagios-3.2.1.tar.gz),进入解压后的目录,编译并安装Nagios。
运行Nagios配置脚本并使用先前开设的用户及用户组:
./configure--with-command-group=nagcmd
编译Nagios程序包源码
makeall
安装二进制运行程序、初始化脚本、配置文件样本并设置运行目录权限
makeinstall
makeinstall-init
makeinstall-config
makeinstall-commandmode
4)客户化配置
样例配置文件默认安装在这个目录下/usr/local/nagios/etc,这些样例文件可以配置Nagios使之正常运行,只需要做一个简单的修改...
编辑/usr/local/nagios/etc/objects/contacts.cfg配置文件,更改nagiosadmin联系人定义信息中的EMail信息为你的EMail信息以接收报警内容。
vi/usr/local/nagios/etc/objects/contacts.cfg
5)配置WEB接口
安装Nagios的WEB配置文件到Apache的conf.d目录下
makeinstall-webconf
创建一个nagiosadmin的用户用于Nagios的WEB接口登录。
记下你所设置的登录口令,一会儿你会用到它。
htpasswd-c/usr/local/nagios/etc/htpasswd.usersnagiosadmin
重启Apache服务以使设置生效。
servicehttpdrestart
6)编译并安装Nagios插件
解压Nagios插件的源程序包(nagios-plugins-1.4.15.tar.gz),进入解压后的目录,编译并安装插件。
./configure--with-nagios-user=nagios--with-nagios-group=nagcmd
make
makeinstall
7)启动Nagios
把Nagios加入到服务列表中以使之在系统启动时自动启动
chkconfig--addnagios
chkconfignagioson
验证Nagios的样例配置文件
/usr/local/nagios/bin/nagios-v/usr/local/nagios/etc/nagios.cfg
如果没有报错,可以启动Nagios服务
servicenagiosstart
需要注意的是,以后每次修改nagios配置,只有重启nagios服务后,配置才会生效。
8)更改SELinux设置
Fedora与SELinux(安全增强型Linux)同步发行与安装后将默认使用强制模式。
这会在你尝试联入Nagios的CGI时导致一个"内部服务错误"消息。
如果是SELinux处于强制安全模式时需要做
getenforce
令SELinux处于容许模式
setenforce0
如果要永久性更变它,需要更改/etc/selinux/config里的设置SELINUX=disable并重启系统。
如果无法解决"内部服务错误"消息的问题,可以关闭SELINUX以解决问题。
不关闭SELinux或是永久性变更它的方法是让CGI模块在SELinux下指定强制目标模式:
chcon-R-thttpd_sys_content_t/usr/local/nagios/sbin/
chcon-R-thttpd_sys_content_t/usr/local/nagios/share/
9)登录WEB接口
确认httpd服务已开启后,你现在可以从WEB方式来接入Nagios的WEB接口了,你需要在提示下输入刚刚设置的的用户名(nagiosadmin)和口令,这里用系统默认安装的浏览器,用下面这个超链接:
http:
//localhost/nagios/
点击“服务详情”的引导超链来查看你本机的监视详情。
你可能需要给点时间让Nagios来检测你机器上所依赖的服务因为检测需要些时间。
10)其他的变更
确信你机器的防火墙规则配置允许你可以从远程登录到Nagios的WEB服务。
二监控windows主机
1监控CPU
1.1被监控端安装与配置
1.1.1安装NSClient++
从http:
//nsclient.org/nscp/downloads下载NSClient++-0.3.8-Win32.msi。
下载完成后,双击安装。
在运行里面输入services.msc打开”服务”
看到下图就说明NSClient服务已经安装成功了。
双击打开,点”登录”标签,在”允许服务与桌面交互”前打勾。
1.1.2修改NSClient++配置
编辑NSC.INI文件并做如下修改:
在[modules]段下加入以下内容:
NRPEListener.dll
NSClientListener.dll
FileLogger.dll
CheckSystem.dll
CheckDisk.dll
CheckEventLog.dll
CheckHelpers.dll
去掉在[Settings]段里的'allowed_hosts'选项注释,把Nagios服务所在主机的IP加到这一行里,或是置为空,让全部主机都可以联入。
修改一下在[Settings]段里的'password'选项以设置密码(可选)。
1.2监控端安装与配置
1.2.1配置command
编辑/usr/local/nagios/etc/objects/commands.cfg,增加如下命令定义:
definecommand{
command_namecheck_nt
command_line$USER1$/check_nt-H$HOSTADDRESS$-p12489-v$ARG1$$ARG2$
}
1.2.2配置host
编辑/usr/local/nagios/etc/objects/windows.cfg,给Windows机器加一个新的主机对象定义以便监控。
如果是被监控的第一台Windows机器,可以只是修改windows.cfg文件里的对象定义。
修改host_name、alias和address域以符合那台Windows机器。
definehost{
usewindows-server;Inheritdefaultvaluesfromatemplate
host_namexp_214;Thenamewe'regivingtothishost
aliasMyWindowsServer;Alongernameassociatedwiththehost
address192.168.2.214;IPaddressofthehost
}
定义其所属的组:
#DefineahostgroupforWindowsmachines
#Allhoststhatusethewindows-servertemplatewillautomaticallybeamemberofthisgroup
definehostgroup{
hostgroup_namewindows-servers;Thenameofthehostgroup
aliasWindowsServers;Longnameofthegroup
}
以后定义服务的过程中(在同一个配置文件里)。
如果是是这第一台Windows机器的配置,可以只是修改windows.cfg里的服务对象定义。
1.2.3配置service
编辑/usr/local/nagios/etc/objects/windows.cfg,加入下面的服务定义可监控Windows机器的CPU利用率,并在5分钟CPU负荷高于90%时给出一个紧急警报或是高于80%时给出一个告警警报。
defineservice{
usegeneric-service
host_namexp_214
service_descriptionCPULoad
check_commandcheck_nt!
CPULOAD!
-l5,80,90
}
2监控内存
由于NSClient++的安装与配置、command与host的配置已经在二-1节中完成,因此本节中只需描述插件的配置。
2.1被监控端安装与配置
NSClient++中包含对内存的检测,因此无需操作被监控端。
2.2监控端安装与配置
2.2.1配置service
编辑/usr/local/nagios/etc/objects/windows.cfg,加入下面的服务定义可监控Windows机器的内存占用率,并在5分钟内存占用率高于90%时给出一个紧急警报或是高于80%时给出一个告警警报。
defineservice{
usegeneric-service
host_namexp_214
service_descriptionMemoryUsage
check_commandcheck_nt!
MEMUSE!
-w80-c90
}
3监控磁盘
由于NSClient++的安装与配置、command与host的配置已经在二-1节中完成,因此本节中只需描述插件的配置。
3.1被监控端安装与配置
NSClient++中包含对磁盘容量的检测,因此无需操作被监控端。
3.2监控端安装与配置
3.2.1配置service
编辑/usr/local/nagios/etc/objects/windows.cfg加入下面的服务定义可监控Windows机器的C:
盘的磁盘利用率,并在磁盘利用率高于90%时给出一个紧急警报或是高于80%时给出一个告警警报。
defineservice{
usegeneric-service
host_namexp_214
service_descriptionC:
\DriveSpace
check_commandcheck_nt!
USEDDISKSPACE!
-lc-w80-c90
}
4监控网络流量
4.1被监控端安装与配置
4.1.2安装snmp服务
1.打开“Windows组件向导”。
2.在“组件”中,单击“管理和监视工具”(但是请不要选中或清除其复选框),然后单击“详细信息”。
3.选中“简单网络管理协议”复选框,然后单击“确定”。
4.单击“下一步”。
5.配置防火墙
安装过程中需要根据提示插入Windows安装光盘。
4.2监控端安装与配置
4.2.1前提条件
确认所需软件net-snmpnet-snmp-utilsnet-snmp-libs已经安装成功。
4.2.2脚本下载
所需脚本check_traffic.sh可从下面链接下载
将下载的脚本check_traffic.sh拷贝至/usr/local/nagios/libexec
4.2.3配置command
编辑/usr/local/nagios/etc/objects/commands.cfg,添加以下内容:
definecommand{
command_namecheck_netflow
command_linesh/usr/local/nagios/libexec/check_traffic.sh-V2c-Cpublic-H$ARG1$-I$ARG2$-w$ARG3$,$ARG4$-c$ARG5$,$ARG6$-K-B
}
4.2.4配置service
编辑/usr/local/nagios/etc/objects/windows.cfg,加入下面的服务定义可监控Windows机器的网络流量,并在下载流量高于400kb/s或上传流量高于500kb/s时给出一个紧急警报;在下载流量高于200kb/s或上传流量高于300kb/s时给出一个告警警报。
检测网卡号为2的网卡流量。
defineservice{
usegeneric-service
host_namexp_214
service_descriptionnetflow
check_commandcheck_netflow!
192.168.2.214!
2!
200!
300!
400!
500
}
可以使用如下命令,确定所需要监控的网卡号:
./check_traffic.sh-V2c-Cpublic-H192.168.2.214-L
5其他
如果想指定保存在Windows机器上NSClient++配置文件里的口令,可以修改check_nt命令定义,让它带着口令。
编辑方式打开commands.cfg文件。
vi/usr/local/nagios/etc/commands.cfg
修改check_nt命令的定义,带上"-s"命令参数(这里的PASSWORD要换成你Windows机器的真正口令),象这样:
definecommand{
command_namecheck_nt
command_line$USER1$/check_nt-H$HOSTADDRESS$-p12489-sPASSWORD-v$ARG1$$ARG2$
}
保存文件退出。
三监控linux主机
1监控CPU
1.1被监控端安装与配置
1.1.1增加用户、设置密码
[root@dbpiroot]#useraddnagios
[root@dbpiroot]#passwdnagios
1.1.2安装nagios插件
1)前提条件
确认GCC已安装。
2)安装ssl
如果尚未安装openssl,则执行以下步骤:
rpm-ivh'openssl-1.0.0a-2.fc14.i686.rpm'
rpm-ivh'keyutils-libs-devel-1.2-6.fc12.i686.rpm'
rpm-ivh'libcom_err-devel-1.41.12-5.fc14.i686.rpm'
rpm-ivh'libsepol-devel-2.0.41-3.fc14.i686.rpm'
rpm-ivh'libselinux-devel-2.0.96-5.fc14.i686.rpm'
rpm-ivh'krb5-devel-1.8.2-6.fc14.i686.rpm'
rpm-ivh'zlib-devel-1.2.5-2.fc14.i686.rpm'
rpm-ivh'openssl-devel-1.0.0a-2.fc14.i686.rpm'
3)编译安装
解压Nagios插件的源程序包(nagios-3.2.1.tar.gz),进入解压后的目录,编译并安装插件。
./configure
make
makeinstall
这一步完成后会在/usr/local/nagios/下生成两个目录libexec和share
[root@dbpilocal]#ls/usr/local/nagios/
libexec share
4)修改目录权限
[root@dbpilocal]#chownnagios.nagios/usr/local/nagios
[root@dbpilocal]#chown-Rnagios.nagios/usr/local/nagios/libexec
1.1.3安装安装nrpe
我们使用的nrpe版本为2.8.1。
可从此处下载
1)编译安装
解压nrpe的源程序包(nrpe-2.8.1.tar.gz),进入解压后的目录,编译并安装nrpe。
./configure
makeall
makeinstall-plugin
makeinstall-daemon
makeinstall-daemon-config
makeinstall-xinetd
2)编辑/etc/xinetd.d/nrpe脚本
#default:
on
#description:
NRPE(NagiosRemotePluginExecutor)
servicenrpe
{
flags =REUSE
socket_type =stream
port =5666
wait =no
user =nagios
group =nagios
server =/usr/local/nagios/bin/nrpe
server_args =-c/usr/local/nagios/etc/nrpe.cfg--inetd
log_on_failure +=USERID
disable =no
only_from =127.0.0.1在后面增加监控主机的地址2.99,以空格间隔
}
改后
only_from =127.0.0.1192.168.2.99
3)编辑/etc/services文件,增加NRPE服务
增加如下:
#Localservices
nrpe 5666/tcp #nrpe
4)重启xinetd服务
[root@dbpinrpe-2.8.1]#servicexinetdrestart
查看NRPE是否已经启动
[root@dbpinrpe-2.8.1]#netstat-at|grepnrpe
tcp00*:
nrpe*:
*LISTEN
[root@dbpinrpe-2.8.1]#netstat-an|grep5666
tcp000.0.0.0:
56660.0.0.0:
*LISTEN
可以看到5666端口说明NRPE已启动。
配置防火墙,允许5666端口。
1.2监控端安装与配置
1.2.1安装check_nrpe插件
解压nrpe的源程序包(nrpe-2.8.1.tar.gz),进入解压后的目录,编译并安装插件。
[root@server1nrpe-2.8.1]#./configure
[root@server1nrpe-2.8.1]#makeall
[root@server1nrpe-2.8.1]# makeinstall-plugin
只运行这一步就行了,因为只需要check_nrpe插件。
接下来我们测试一下监控机使用check_nrpe与被监控机运行的nrpedaemon之间的通信。
[root@server1nrpe-2.8.1]#/usr/local/nagios/libexec/check_nrpe-H192.168.2.129
如果已经正确返回了NRPE的版本信息,说明一切正常。
NRPEv2.8.1
1.2.2配置command
编辑/usr/local/nagios/etc/commands.cfg,在最后面增加如下内容:
#'check_nrpe'commanddefinition
definecommand{
command_namecheck_nrpe
command_line$USER1$/check_nrpe-H$HOSTADDRESS$-c$ARG1$
}
1.2.3配置host
编辑linux.cfg
vi/usr/local/nagios/etc/objects/linux.cfg
添加一个linux被监控主机与添加windows被监控主机类似。
definehost{
uselinux-server;Nameofhosttemplatetouse
;Thishostdefinitionwillinheritallvariablesthataredefined
;in(orinheritedby)thelinux-serverhosttemplatedefinition.
host_namefedora_129
aliasfedora_129
address192.168.2.129
}
定义其所属的组:
definehostgroup{
hostgroup_nameremote-linux-servers;Thenameofthehostgroup
aliasRemoteLinuxServers;Longnameofthegroup
membersfe