nagios监控的搭建过程.docx
《nagios监控的搭建过程.docx》由会员分享,可在线阅读,更多相关《nagios监控的搭建过程.docx(16页珍藏版)》请在冰豆网上搜索。
![nagios监控的搭建过程.docx](https://file1.bdocx.com/fileroot1/2023-8/13/0307f1df-9d19-4c92-8b89-e40ca2ff0975/0307f1df-9d19-4c92-8b89-e40ca2ff09751.gif)
nagios监控的搭建过程
Redhat6.6+Nagios+Apache+PHP+Nagios-plugins
Nagios软件介绍:
一、Nagios简介
Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置,打印机等。
在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。
Nagios原名为NetSaint,由EthanGalstad开发并维护至今。
NAGIOS是一个缩写形式:
"NagiosAin'tGonnaInsistOnSainthood"Sainthood翻译为圣徒,而"Agios"是"saint"的希腊表示方法。
Nagios被开发在Linux下使用,但在Unix下也工作得非常好。
主要功能
∙网络服务监控(SMTP、POP3、HTTP、NNTP、ICMP、SNMP、FTP、SSH)
∙主机资源监控(CPUload、diskusage、systemlogs),也包括Windows主机(使用NSClient++plugin)
∙可以指定自己编写的Plugin通过网络收集数据来监控任何情况(温度、警告……)
∙可以通过配置Nagios远程执行插件远程执行脚本
∙远程监控支持SSH或SSL加通道方式进行监控
∙简单的plugin设计允许用户很容易的开发自己需要的检查服务,支持很多开发语言(shellscripts、C++、Perl、ruby、Python、PHP、C#等)
∙包含很多图形化数据Plugins(Nagiosgraph、Nagiosgrapher、PNP4Nagios等)
∙可并行服务检查
∙能够定义网络主机的层次,允许逐级检查,就是从父主机开始向下检查
∙当服务或主机出现问题时发出通告,可通过email,pager,sms或任意用户自定义的plugin进行通知
∙能够自定义事件处理机制重新激活出问题的服务或主机
∙自动日志循环
∙支持冗余监控
∙包括Web界面可以查看当前网络状态,通知,问题历史,日志文件等
二、Nagios服务端安装
2.1基础环境的安装
#yuminstall-ygccglibcglibc-commongdgd-develxinetdopenssl-devel
2.2创建nagios用户和用户组
#useradd-s/sbin/nologinnagios
#mkdir/usr/local/nagios
#chown-Rnagios.nagios/usr/local/nagios
2.3安装编译Nagios-4.3.1.tar.gz
#wget
#tarzxvfnagios-4.3.1.tar.gz
#cdnagios
#./configure--prefix=/usr/local/nagios
#makeall
#makeinstall
#makeinstall-init
#makeinstall-commandmode
#makeinstall-config
#chkconfig--addnagios
#chkconfig--level35nagioson
#chkconfig--listnagios
2.4安装nagios-plugins-2.1.4.tar.gz插件
#wget https:
//www.nagios.org/downloads/nagios-plugins/
#tarzxvfnagios-plugins-2.1.4.tar.gz
#cdnagios-plugins-2.1.4
#./configure--prefix=/usr/local/nagios--with-nagios-user=nagios--with-nagios-group=nagios
#make&&makeinstall
2.5安装和配置Apache和PHP
#wget http:
//archive.apache.org/dist/httpd/#mirrors
#tarzxvfhttpd-2.4.9.tar.gz
#cdhttpd-2.4.9
#./configure--prefix=/usr/local/apache
#make&&makeinstall
Apache启动出现:
[root@Linuxbin]#servicehttpdrestart
AH00557:
httpd:
apr_sockaddr_info_get()failedforlinux.64.114
AH00558:
httpd:
Couldnotreliablydeterminetheserver'sfullyqualifieddomain
name,using127.0.0.1.Setthe'ServerName'directivegloballytosuppressthis
message
解决:
[root@linuxbin]#vi/server/apache/conf/httpd.conf
修改ServerName:
80为ServerNamelocalhost:
80
安装php
#wget
#tarzxvfphp-7.0.16.tar.gz
#cdphp-7.0.16
#./configure--prefix=/usr/local/php--with-apxs=/usr/local/apache/bin/apxs
#make&&makeinstall
c.配置apache
找到apache的配置文件/usr/local/apache/conf/httpd.conf
找到:
Userdaemon
Groupdaemon
修改为
Usernagios
Groupnagios
然后找到
DirectoryIndexindex.html
修改为
DirectoryIndexindex.htmlindex.php
接着增加如下内容:
AddTypeapplication/x-httpd-php.php
为了安全起见,一般情况下要让nagios的web监控页面必须经过授权才能访问,这需要增加验证配置,即在httpd.conf文件最后添加如下信息:
#settingfornagios
ScriptAlias/nagios/cgi-bin"/usr/local/nagios/sbin"
AuthTypeBasic
OptionsExecCGI
AllowOverrideNone
Orderallow,deny
Allowfromall
AuthName"NagiosAccess"
AuthUserFile/usr/local/nagios/etc/htpasswd//用于此目录访问身份验证的文件
Requirevalid-user
Alias/nagios"/usr/local/nagios/share"
AuthTypeBasic
OptionsNone
AllowOverrideNone
Orderallow,deny
Allowfromall
AuthName"nagiosAccess"
AuthUserFile/usr/local/nagios/etc/htpasswd
Requirevalid-user
d.创建apache目录验证文件
在上面的配置中,指定了目录验证文件htpasswd,下面要创建这个文件:
#/usr/local/apache2/bin/htpasswd-c/usr/local/nagios/etc/htpasswddavid
f.启动apache服务
#/usr/local/apache/bin/apachectlstart
到这里nagios的安装也就基本完成了,你可以通过web来访问了。
访问http:
//10.55.7.199/nagios/发现nagios并没有正常运行
问题处理:
##############################################
nagioscorenotrunning问题解决
进入apache的主配置文件httpd.conf
#LoadModulecgid_modulemodules/mod_cgid.so
#LoadModuleactions_modulemodules/mod_actions.so
将上面2行的#去掉,重启apache就OK了
##############################################
nagiosunabletogetprocessstatus
修改/etc/sysconfig/selinux,
将SELINUX=disabled保存后,reboot。
查看selinux状态sestatus–v
##############################################
点击任何选项都是这个错误,郁闷了.
Itappearsasthoughyoudonothavepermissiontoviewinformationyourequested........
XX了下,好多文章基本都是一样,改cgi.cfg文件里的一个参数use_authentication=1将1改为0,重启nagios即可.
三、配置Nagios
Nagios主要用于监控一台或者多台本地主机及远程的各种信息,包括本机资源及对外的服务等。
默认的Nagios配置没有任何监控内容,仅是一些模板文件。
若要让Nagios提供服务,就必须修改配置文件,增加要监控的主机和服务,下面将详细介绍。
3.1默认配置文件介绍
Nagios安装完毕后,默认的配置文件在/usr/local/nagios/etc目录下。
每个文件或目录含义如下表所示:
文件名或目录名
用途
cgi.cfg
控制CGI访问的配置文件
nagios.cfg
Nagios主配置文件
resource.cfg
变量定义文件,又称为资源文件,在些文件中定义变量,以便由其他配置文件引用,如$USER1$
objects
objects是一个目录,在此目录下有很多配置文件模板,用于定义Nagios对象
objects/commands.cfg
命令定义配置文件,其中定义的命令可以被其他配置文件引用
objects/contacts.cfg
定义联系人和联系人组的配置文件
objects/localhost.cfg
定义监控本地主机的配置文件
objects/printer.cfg
定义监控打印机的一个配置文件模板,默认没有启用此文件
objects/switch.cfg
定义监控路由器的一个配置文件模板,默认没有启用此文件
objects/templates.cfg
定义主机和服务的一个模板配置文件,可以在其他配置文件中引用
objects/timeperiods.cfg
定义Nagios监控时间段的配置文件
objects/windows.cfg
监控Windows主机的一个配置文件模板,默认没有启用此文件
四、安装配置nagios-plugins和nrpe
4.1在监控主机上安装nrpe-2.13.tar.gz
#tarxvfznrpe-2.13.tar.gz
# cdnrpe-2.13
#./configure
# makeall
# makeinstall-plugin
#makeinstall-daemon
# makeinstall-daemon-config
# yuminstallxinetd
# makeinstall-xinetd
[root@nhserver2~]#vim/usr/local/nagios/etc/nrpe.cfg
allowed_hosts=127.0.0.1,192.168.5.10
[root@nhserver2~]#vim/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.110.55.7.199#这个IP可以不变,为本机
}
[root@nhserver2~]#/usr/local/nagios/libexec/check_nrpe-Hlocalhost
NRPEv2.12
[root@nhserver2~]#/usr/local/nagios/libexec/check_nrpe-H10.55.7.199
#10.55.7.199为nagios服务器的ip
NRPEv2.12
[root@nhserver2~]#/usr/local/nagios/libexec/check_nrpe-H10.55.7.199
#10.55.7.199还未开机
Connectionrefusedortimedout
[root@nhserver2~]#/usr/local/nagios/libexec/check_nrpe-H10.55.7.199
#10.55.7.199开机
CHECK_NRPE:
Error-CouldnotcompleteSSLhandshake.
[root@nhserver2~]#servicexinetdrestart #重启nrpe服务
4.2 在commands.cfg中增加对check_nrpe的定义
#vi /usr/local/nagios/etc/objects/commands.cfg
在最后面增加如下内容:
#'check_nrpe'commanddefinition
definecommand{
command_namecheck_nrpe#定义命令名称为check_nrpe,在services.cfg中要使用这个名称.
command_line$USER1$/check_nrpe-H$HOSTADDRESS$-c$ARG1$#这是定义实际运行的插件程序.
#这个命令行的书写要完全按照check_nrpe这个命令的用法,不知道用法的就用check_nrpe–h查看.
}
4.3在被监控主机上面安装nrpe和nagios-plugin
1.安装nrpe依赖包
yum-yinstallgccglibcglibc-commonopensslopenssl-devel
2.安装nagios-plugin
useraddnagios
wgethttps:
//www.nagios.org/downloads/nagios-plugins/
tar-zvxfnagios-plugins-2.1.4.tar.gz
cdnagios-plugins-2.1.4
./configure--with-nagios-user=nagios--with-nagios-group=nagios
make
makeinstall
chown-Rnagios.nagios/usr/local/nagios
3.安装nrpe
wget
tarzxfnrpe-2.12.tar.gz&&cdnrpe-2.12
./configure
makeall
makeinstall-plugin
makeinstall-daemon
makeinstall-daemon-config
4.启动nrpe并设置开机自启动
/usr/local/nagios/bin/nrpe-c/usr/local/nagios/etc/nrpe.cfg–d
[root@nhserver1~]#vim/usr/local/nagios/etc/nrpe.cfg
allowed_hosts=127.0.0.1,10.55.7.199 #将nagios的服务端IP加上
[root@nhserver1~]#vim/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.110.55.7.199 #将nagios的服务端IP加上
}
4.4、配置nagios监控主机的配置文件
nagios的全部配置文件在:
/usr/local/nagios/etc目录下面
首先cgi.cfg
refresh_rate=30 #nagios主页的刷新时间,我设置成30秒自动刷新
use_authentication=0 #关闭认证功能,当nagios配置好后,建议开回来
这个文件暂时只修改了这两项
然后轮到nagios.cfg
cfg_file=/usr/local/nagios/etc/objects/commands.cfg #nagios可调用的监控命令
cfg_file=/usr/local/nagios/etc/objects/contacts.cfg #联系人配置
cfg_file=/usr/local/nagios/etc/objects/timeperiods.cfg #监控时间配置
cfg_file=/usr/local/nagios/etc/objects/templates.cfg #模板配置
cfg_dir=/usr/local/nagios/etc/services #新添加,把需要添加的主机文件放进去,就不必在这里一行行添加
#cfg_file=/usr/local/nagios/etc/objects/hostgroups.cfg #新添加,主机组配置
cfg_file=/usr/local/nagios/etc/objects/localhost.cfg #本地信息监迭
4.5、现在可以开始添加被监控机
/usr/local/nagios/etc/services如果没有就新建services
我们上面定义了所有的主机文件都放在services目录下,那么我们在此目录下新建主机:
vi10.55.7.200.cfg
详细监控配置链接: