网站首页 > 技术文章 正文
首先,要准备好安装包和所需插件,如下:
nagios-3.4.4.tar.gz、
nagios-plugins-1.4.16.tar.gz、nrpe-2.12.tar.gz、pnp4nagios-0.6.14.tar.gz
安装环境准备:
首先,挂载系统盘,挂载到/mnt下面,并配置yum源。
注意:安装前一定要禁用防火墙和SELinux
安装思路:
(1) 服务端(监控端):需安装nagios-3.4.4.tar.gz、
nagios-plugins-1.4.16.tar.gz、nrpe-2.12.tar.gz、pnp4nagios-0.6.14.tar.gz
(2) 客户端(被监控端):只需安装
nagios-plugins-1.4.16.tar.gz、nrpe-2.12.tar.gz
一、 安装nagios之前,需先安装所需包:
#yum -y install gd fontconfig-devel libjpeg-devel libpng-devel gd-devel perl-gd openssl-devel php cpp gcc gcc-c++ libstdc++ glib2-devel libtoul-ltdl-devel
#yum -y install mysql mysql-server php-mysql httpd php
说明:因为要网页访问nagios,而且nagios是php开发的,所以需安装PHP、Apache;之所以安装MySQL是因为为了与cacti结合使用,所以就先装上。
二、 创建nagios用户组:
#groupadd -g 6000 nagios
#groupadd -g 6001 nagcmd
#useradd -u 6000 -g nagios -G nagcmd -d /home/nagios nagios
说明:“6000”、“6001”这两个数字可以使其他的,这只是指定用户组和用户的id
三、 安装nagios
解压nagios源码包、配置文件、编译文件、安装
#./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios --with-command-user=nagios --with-command-group=nagcmd --enable-event-broker --enable-nanosleep --enable-embedded-perl --with-perlcache
#make all
#make install
#make install-init
#make install-commandmode
#make install-webconf
#make install-config
到这一步,就已经安装完成nagios,但我们还需修改Apache配置文件,才可以访问nagios
配置Apache,让PHP与Apache联系
打开Apache的主配置文件httpd.confg,添加以下两行:
AddType application/x-httpd-php .php
DirectoryIndex index.html index.html.var index.php
然后呢,我们还需对nagios做访问控制,具体如下:
同样,需要在Apache主配置文件httpd.confg,添加以下内容:
ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin"
<Directory "/usr/local/nagios/sbin">
AllowOverride None
Options ExecCGI
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthType basic
Authuserfile /usr/local/nagios/etc/.htpasswd.users
Require valid-user
</Directory>
ScriptAlias /nagios "/usr/local/nagios/share"
<Directory "/usr/local/nagios/share">
AllowOverride None
Options None
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthType basic
Authuserfile /usr/local/nagios/etc/.htpasswd.users
Require valid-user
</Directory>
设置用户访问控制
# htpasswd -c /usr/local/nagios/etc/.htpasswd.users nagios
#chown nagios:nagcmd /usr/local/nagios/etc/.htpasswd.users
# usermod -a -G nagios:nagcmd apache
cgi.cfg脚本控制文件修改(作用是控制相关cgi脚本):
#vim /usr/local/nagios/etc/cgi.cfg
先确保use_authentication=1
authorized_for_system_information=nagiosadmin,test
authorized_for_configuration_information=nagiosadmin,test
authorized_for_system_commands=test //多个用户之间用逗号隔开
authorized_for_all_services=nagiosadmin,test
authorized_for_all_hosts=nagiosadmin,test
authorized_for_all_service_commands=nagiosadmin,test
authorized_for_all_host_commands=nagiosadmin,test
提示:上面的nagios用户是执行命令
/usr/local/apache/bin/htpasswd –c
/usr/local/nagios/etc/htpasswd nagios 所生成的;这个要注意,不能随便加没有存在的验证用户,为了安全起见,不要添加过多的验证用户。
重启服务 :
# service httpd restart
#service nagios restart
设置为开机启动:
#chkconfig httpd on
#chkconfig --add nagios
#chkconfig nagios on
到这,我们的nagios就以安装完毕,此时可以打开浏览器输入本机IP地址加nagios就可以访问了,格式如下:
http://localhost/nagiso
打开后会让你输入用户名和密码,这时我们就输入先前添加的nagiosadmin用户及其密码就进可入。
Nagios配置:
commands.cfg #命令定义配置文件,里面定义的命令可以被其他文件引用,其它定义的文件中使用的命令,必须应在这个文件中注册才能使用。
contacts.cfg #联系人和联系人组配置文件
printer.cfg #监控打印机的一个事例配置文件(默认未启用)
switch.cfg #监控路由器的一个事例配置文件(默认未启用)
templates.cfg #模板配置文件,在此可以定义模板,在其他文件中引用。使用的过程中应使用use命令。
timeperiods.cfg #定义监控时间段的配置文件
windows.cfg #监控Windows的一个事例配置文件(默认未启用)
如果要使用以上配置文件,需要在nagios配置文件中取消相关注释。当然也可以自己动手建立自己定义的配置文件,然后按下面的方式加入进来:
vim /usr/local/nagios/etc/nagios.cfg
cfg_file=/usr/local/nagios/etc/objects/commands.cfg
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_file=/usr/local/nagios/etc/services.cfg
cfg_file=/usr/local/nagios/etc/objects/localhost.cfg
cfg_file=/usr/local/nagios/etc/objects/windows.cfg
#cfg_file=/usr/local/nagios/etc/objects/switch.cfg
#cfg_file=/usr/local/nagios/etc/objects/printer.cfg
取消掉相应的注释选项,就代表开启了相应的引用文件
改check_external_commands=0为check_external_commands=1(作用是:允许在web界面下执行重启nagios、停止主机/服务检查等操作。)
把command_check_interval的值从默认的1改成command_check_interval=10s(也可自己定义,主要是定义检测时间的,不要太长也不要太短)
主配置文件主要就修该这些,如需其它可自己再修改
提示:每次修改过相应的文件后,在重启nagios服务前,最好先检查一下自己配置的是否正确:
#/usr/local/nagios/bin/nagios –v /usr/local/nagios/etc/nagios.cfg
Total Warning:0
Total Errors:0
如果警告和错误都是0,则说明配置的没问题;
如果只出现了警告,没有出现错误,也可以重启服务
如果出现了错误,那么就要重新修改,知道没有Error,否则会无法重启服务
警告:Nagios 的配置过程涉及几个定义有:主机、主机组、服务、服务组、联系人、联系人组、监控时间和监控命令等,从这些定义可以看出,Nagios 的各个配置文件之间是互为关联、彼此引用的。成功配置一台 Nagios 监控系统,需要掌握每个配置文件之间依赖与被依赖的关系,可从下面四个步骤来入手,第一步:定义哪些主机、主机组、服务和服务组,第二步:要定义这个监控要通过什么命令实现,第三步:要定义监控的时间段,第四步:要定义主机或服务出现问题时要通知的联系人和 联系人组;强烈建议依据以上顺序对 Nagios 系统进行相关配置。
四、 安装nagios-plugins插件
解压源码包、配置文件、编译、安装
#tar -vxzf nagios-plugins-1.4.14.tar.gz
#./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-command-user=nagios --with-command-group=nagcmd --prefix=/usr/local/nagios
# make all
# make install
说明:如果安装成功,会在/usr/local/nagios/libexec目录下有许多插件
#ls
/usr/local/nagios/libexec/(可查看是否有许多插件,如无则安装不成功,需重新安装)
为了安全,需修改nagios安装目录的权限,如下:
# chmod 755 /usr/local/nagios
到这一步,如上无出任何问题,则nagios-plugins插件成功安装完毕。
五、 安装nrpe
提示:在安装nrpe之前,需要安装openssl库,否则会提示,而安装不通过,所以先检查是否安装了OpenSSL库,如无安装,请先安装(#yum –y install openssl openssl-devel)
解压源码包、配置文件、编译、安装
#tar -xzvf nrpe-2.12.tar.gz
#cd nrpe-2.12(进入解压目录)
#./configure
#make all
#make install-plugin(服务端只需执行到这一步就OK了)
# make install-daemon
#make install-daemon-config(客户端执行到这一步,如出现如下两行,则表示安装成功)
/usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/etc
/usr/bin/install -c -m 644 -o nagios -g nagios sample-config/nrpe.cfg /usr/local/nagios/etc
说明:在Nagios服务器端只要安装nrpe监控插件check_nrpe就可以了,不需要安装nrpe服务。所以执行到上一步就可以了。而客户端需要全部执行安装。
修改配置文件(客户端):
vi /usr/local/nagios/etc/nrpe.cfg
找到下面的内容所在行并修改
allowed_hosts=127.0.0.1,192.168.129.21(之间要用逗号隔开,千万不能有空格)
说明:后面的IP地址应为服务端的IP地址,允许Nagios监控服务器192.168.129.21监控客户端,这是重要的一点
nrpe客户端监测命令定义:
vim /usr/local/nagios/etc/nrpe.cfg
command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10
command[check_load]=/usr/local/nagios/libexec/check_load -w 5,4,3 -c 7,6,5
command[check_opt_space]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda2
command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 50 -c 100 -s Z
command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 500 -c 1000
command[check_root_space]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda3
command[check_swap]=/usr/local/nagios/libexec/check_swap –w 20% -c 10%
command[check_http]=/usr/local/nagios/libexec/check_http -H 10.20.10.201 -p 80
command[check_web]=/usr/local/nagios/libexec/check_http -H 10.20.10.31 -u /index.jsp
command[check_ping]=/usr/local/nagios/libexec/check_ping -H 10.10.10.2 -w 100,5% -c 200,10%
command[check_oracle_data]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /oracle_data
command[check_tcp]=/usr/local/nagios/libexec/check_tcp -H 10.20.10.224 -p 1521 -w 0.009 -c 0.010
启动nrpe服务:
#/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
设置为开机启动:
vim /etc/rc.d/rc.local(把下面的一行只需添加进去就可以了)
/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg –d
通过如下命令验证nrpe是否正常启动,可以看到端口5666已经打开
# netstat -atulnp | grep 'nrpe'
tcp 0 0 0.0.0.0:5666 0.0.0.0:* LISTEN 24823/nrpe
检查nrpe是否安装成功,执行如下命令后出现版本号就表示安装成功。
# /usr/local/nagios/libexec/check_nrpe -H localhost
NRPE v2.8b1
六、 安装pnp4nagios
提示:在安装pnp之前系统应已经安装好了nagios基础平台,pnp插件的安装还需要系统支持php,rrdtools,perl, pnp-latest。
Rrdtools安装:
tar zxvf rrdtool-1.0.50.tar.gz
cd rrdtool-1.0.50
./configure –prefix=/usr/local/rrdtool/
make && make install
rrdtools安装完成
#tar -zxvf pnp4nagios-0.6.14.tar.gz
# cd pnp4nagios-0.6.21
#./configure --prefix=/usr/local/pnp4nagios --with-rrdtool=/usr/local/rrdtool/bin/rrdtool --with-nagios-user=nagios --with-nagios-group=nagios
#make all
#make install
#make install-webconf
#make install-config
#make install-init
错误解决:
(1) 如果在配置完后出现如下一行:
RRDs Perl Modules: NOT FOUND (Version 1.4004)
说明没有安装rrdtool的perl模块,所以在RRDs Perl Modules 选项中出现not found 。
解决办法如下:
就按如下操作,将rrdtool下的模块文件添加到/usr/lib64/perl5:
ln -sv /usr/local/rrdtool/lib/perl/5.10.1/x86_64-linux-thread-multi/auto/RRDs/RRDs.so /usr/lib/perl5/
ln -sv /usr/local/rrdtool/lib/perl/5.10.1/x86_64-linux-thread-multi/RRDs.pm /usr/lib64/perl5/
(2) 注意make install-webconf这一步
出现的结果如下(如没出现,则不用管):
/usr/bin/install -c-m 644 httpd.conf/etc/httpd/conf.d/pnp4nagios.conf
因为每个人的apache安装在不同目录,所以这句话并不对每个人都起作用
我的apache在/usr/local/apache 中,所以要把pnp4nagios.conf 拷贝到/usr/local/apache/conf目录下,并在httpd.conf最后加上 Include conf/pnp4nagios.conf 注意include 第一个字母大写
配置pnp4nagiso:
(1) 修改nagios.cfg
vi
/usr/local/nagios/etc/nagios.cfg
#找到以下两项,修改为如下内容
process_performance_data=1
host_perfdata_command=process-host-perfdata
service_perfdata_command=process-service-perfdata #默认此句被注释掉了
(2) 修改pnp4nagios的etc目录下内容
#cd /usr/local/pnp4nagios/etc
#mv misccommands.cfg-sample misccommands.cfg
#mv nagios.cfg-sample nagios.cfg
#mv rra.cfg-sample rra.cfg
(3) 修改etc/pages目录下内容
#cd /usr/local/pnp4nagios/etc/pages/
#mv web_traffic.cfg-sample web_traffic.cfg
(4) 修改etc/check_commands目录下内容
cd /usr/local/pnp4nagios/etc/check_commands
mv check_all_local_disks.cfg-sample check_all_local_disks.cfg
mv check_nrpe.cfg-sample check_nrpe.cfg
mv check_nwstat.cfg-sample check_nwstat.cfg
(5) service npcd restart && chkconfig npcd on(启动服务,并开机启动)
(6) 修改commonds.cfg文件
vim /usr/local/nagios/etc/objects/commands.cfg
define command{
command_name process-host-perfdata
command_line /usr/local/pnp4nagios/libexec/process_perfdata.pl -d HOSTPERFDATA
}
define command{
command_name process-service-perfdata
command_line /usr/local/pnp4nagios/libexec/process_perfdata.pl
}
注意:原来已经有这两个命令的定义好了的,注意要注释掉原来的命令。
process-host-perfdata命令最后要加上-d HOSTPERFDATA
修改templates.cfg文件,添加以下内容:
define host {
name host-pnp
action_url /pnp4nagios/index.php/graph?host=$HOSTNAMEsrv=_HOST_
register 0
}
define service {
name srv-pnp
action_url /pnp4nagios/index.php/graph?host=$HOSTNAMEsrv=$SERVICEDESC$
register 0
}
说明:如果想要对某个监控对象做数据图表,则需在所对应的host或者service定义中(一般写在hosts.cfg或者services.cfg文件中),加入如下的定义:
process_perf_data 1
定义好上面两项后,只需在定义主机文件和服务文件的use行后面加入相应的host-pnp、srv-pnp
猜你喜欢
- 2025-08-30 在Ubuntu 16.04 LTS服务器上安装FreeRADIUS和Daloradius的方法
- 2024-11-06 ORACLE RAC数据源如何添加到KETTLE中
- 2024-11-06 Oracle技术栈之"数据库服务器的swap分区" 配置参考
- 2024-11-06 Oracle配置Pl/SQl oracle配置环境变量教程
- 2024-11-06 oracle client 配置补充 配置oracle数据库
- 2024-11-06 oracle数据库服务器需要怎样的硬件配置
- 2024-11-06 Oracle数据库OEM配置指南 oracle数据库的配置文件
- 2024-11-06 oracle ASMLib配置文件 oracleasm configure
你 发表评论:
欢迎- 09-0613.通过Excel导出数据库中的维值_数据库exp导入导出数据
- 09-06做数据分析时,SQL需要达到以下水平
- 09-06Java开发指南:JDK21下载、安装及目录解析,轻松开启编程之旅
- 09-06hive存储过程_hive存储过程环境变量
- 09-06Maven常用命令_maven常用命令有哪些
- 09-06JDK从8升级到21的问题集_jdk更新到几了
- 09-06Oracle狂刷存在感 NRF展会惊艳四座
- 09-06哪些软件支持UDI标签的生成与验证
- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (58)
- oracle面试 (55)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)