- 论坛徽章:
- 0
|
Nagios 3.1.0 for LINUX 监控相关安装说明
QQ : 12835384 x_ai
注备: 前同天写了一个 “Nagios 3.1.0 for Fedora 10 安装说明.docx”,
这几天又写了一个linux 相关的说明,希望能帮到有相关须要的人。
目录
Nagios 3.1.0 for LINUX 监控相关安装说明... 1
B)远程主机的安装... 1
BB) 定制配置-远程主机配置... 6
A) 监控主机的安装... 7
AA) 定制配置-监控主机配置... 11
C) 发现并修理故障... 12
B)远程主机的安装
远程的Linux / Unix主机的NRPE守护进程安装
您将安装Nagios插件和NRPE守护进程
1. 创建帐户信息
su -l
创建一个新的nagios用户帐户,并给它一个密码。
/usr/sbin/useradd nagios
passwd nagios
2. 安装Nagios插件
下载的源代码压缩档的Nagios插件
wget
http://prdownloads.sourceforge.net/nagiosplug/nagios-plugins-1.4.13.tar.gz
提取Nagios插件的源代码包。
tar xzf nagios-plugins-1.4.13.tar.gz
cd nagios-plugins-1.4.13
编译并安装的插件。
./configure --with-nagios-user=nagios --with-nagios-group=nagios --prefix= /usr/local/nagios
make
×××××××××××××××××××××××××××××××××××××
注意:重要的错误。
# make
make all-recursive
make[1]: Entering directory `/home/machielr/nagios-plugins-1.4.13'
Making all in gl
make[2]: Entering directory `/home/machielr/nagios-plugins-1.4.13/gl'
make all-am
make[3]: Entering directory `/home/machielr/nagios-plugins-1.4.13/gl'
make[3]: Nothing to be done for `all-am'.
make[3]: Leaving directory `/home/machielr/nagios-plugins-1.4.13/gl'
make[2]: Leaving directory `/home/machielr/nagios-plugins-1.4.13/gl'
Making all in lib
make[2]: Entering directory `/home/machielr/nagios-plugins-1.4.13/lib'
Making all in tests
make[3]: Entering directory `/home/machielr/nagios-plugins-1.4.13/lib/tests'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/machielr/nagios-plugins-1.4.13/lib/tests'
make[3]: Entering directory `/home/machielr/nagios-plugins-1.4.13/lib'
make[3]: Nothing to be done for `all-am'.
make[3]: Leaving directory `/home/machielr/nagios-plugins-1.4.13/lib'
make[2]: Leaving directory `/home/machielr/nagios-plugins-1.4.13/lib'
Making all in plugins
make[2]: Entering directory `/home/machielr/nagios-plugins-1.4.13/plugins'
/bin/sh ../libtool --tag=CC --mode=link gcc -g -O2 -L. -o check_http check_http.o sslutils.o netutils.o utils.o ../lib/libnagiosplug.a ../gl/libgnu.a -lnsl -lresolv -lssl -lcrypto
gcc -g -O2 -o check_http check_http.o sslutils.o netutils.o utils.o -L/home/machielr/nagios-plugins-1.4.11/plugins ../lib/libnagiosplug.a ../gl/libgnu.a -lnsl -lresolv -lssl -lcrypto
check_http.o(.text+0x11d4): In function `check_http':
/home/machielr/nagios-plugins-1.4.11/plugins/check_http.c:785: undefined reference to `np_net_ssl_write'
check_http.o(.text+0x120b):/home/machielr/nagios-plugins-1.4.13/plugins/check_http.c:789: undefined reference to `np_net_ssl_read'
check_http.o(.text+0x12bd):/home/machielr/nagios-plugins-1.4.13/plugins/check_http.c:828: undefined reference to `np_net_ssl_cleanup'
check_http.o(.text+0x14f4):/home/machielr/nagios-plugins-1.4.13/plugins/check_http.c:734: undefined reference to `np_net_ssl_init'
check_http.o(.text+0x1513):/home/machielr/nagios-plugins-1.4.13/plugins/check_http.c:736: undefined reference to `np_net_ssl_check_cert'
check_http.o(.text+0x151a):/home/machielr/nagios-plugins-1.4.13/plugins/check_http.c:737: undefined reference to `np_net_ssl_cleanup'
collect2: ld returned 1 exit status
make[2]: *** [check_http] Error 1
make[2]: Leaving directory `/home/machielr/nagios-plugins-1.4.13/plugins'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/machielr/nagios-plugins-1.4.13'
make: *** [all] Error 2
――――――――――――
这个错误说明: Configure 一切都没有问题,就是到Make 时,
出现了[check_http] Error 1 和[all-recursive] Error 1 这2个错误。
我也在网上找了好多信息,可是没有解决方法, 都快找到宇宙边缘了。哈哈
解决方法:
查一下这个包有没有装 libssl-dev ,要是有装在做下面的步骤。
在 Make 出错后,用make distclean 在重新Configure 在Make all 一切正常了。
×××××××××××××××××××××××××××××××××××××
Make all
make install
权限插件目录和插件将需要给Nagios 用户和组,以下面的命令。
chown nagios.nagios /usr/local/nagios
chown -R nagios.nagios /usr/local/nagios/libexec
安装xinetd , 这个也可不装。
yum install xinetd
3. 安装NRPE守护进程
下载的源代码压缩档的NRPE插件
wget
http://prdownloads.sourceforge.net/nagios/nrpe-2.12.tar.gz
提取NRPE的源代码压缩档。
tar xzf nrpe-2.12.tar.gz
cd nrpe-2.12
编译NRPE插件。
./configure --with-nagios-user=nagios --with-nagios-group=nagios --prefix= /usr/local/nagios
make all
安装NRPE插件,守护进程,守护进程和配置文件.
make install-plugin
make install-daemon
make install-daemon-config
安装NRPE守护进程作为一个服务xinetd 项
make install-xinetd
编辑在/ etc / xinetd.d / nrpe文件,添加的IP地址监测服务器到only_from 。
only_from = 127.0.0.1
添加以下条目NRPE守护进程在/ etc /services 档案中以下内容。
Nrpe 5666/tcp # NRPE
加入到Services文件中
echo "nrpe 5666/tcp # NRPE" >> /etc/services
重起xinetd 服务。
service xinetd restart
4.测试本地NRPE daemon 服务。
看看进程是否工作正常...
查看nrpe守护下运行xinetd 。
netstat -at | grep nrpe
输出了这个命令应该表现出这样的:
tcp 0 0 *:nrpe *:* LISTEN
检查以确保NRPE daemon为正常。要做到这一点,运行check_nrpe插件安装测试。
/usr/local/nagios/libexec/check_nrpe -H localhost
应该返回一个字符串,告诉您的是哪个版本的NRPE安装,
就像这样:
NRPE v2.12
5. 防火墙规则
确保当地防火墙的机器上将使NRPE守护进程从远程访问服务器。
为此,请运行以下使用iptables命令。
iptables -I INPUT -p tcp -m tcp --dport 5666 -j ACCEPT
保存新的规则,以便使用iptables将生存机器重启。
Service iptables save
6. 自定义NRPE命令
NRPE配置文件包含了安装的几个命令的定义,您可能使用监测本地机器。该命令定义是可以自定义的,该NRPE守护进程将运行监测当地的资源和服务。
该示例命令定义运行的一些插件的
编辑命令的定义,添加新的指令编辑NRPE
config file:
vi /usr/local/nagios/etc/nrpe.cfg
7.“自定义配置”如下:
就目前而言,我会承担您使用的命令中定义的。您可以测试一些
/usr/local/nagios/libexec/check_nrpe -H localhost -c check_users
/usr/local/nagios/libexec/check_nrpe -H localhost -c check_load
/usr/local/nagios/libexec/check_nrpe -H localhost -c check_hda1
/usr/local/nagios/libexec/check_nrpe -H localhost -c check_total_procs
/usr/local/nagios/libexec/check_nrpe -H localhost -c check_zombie_procs
在这一点上,您已完成安装和配置NRPE在远端主机上。现在,它的时间来安装一个组成部分,并提出一些配置上的条目监测服务器.
想了解更多自定义 看一下面。
BB) 定制配置――远程主机配置
您可以使用check_swap插件监测互换到使用的机器上。
安装说明, check_swap插件应该已经安装在
/usr/local/nagios/libexec.
登录为nagios用户在远端主机上。
运行check_swap插件手动和调整命令行选项来指定所需的警告和严重免费交换空间阈值。确保充分的命令行回报的预期产出你想从插件。
在此示例中,假设您希望的一个关键警告,如果互换自由空间小于10 % ,并警告如果可用空间小于20 % 。这里的命令行,将完成这一任务:
/usr/local/nagios/libexec/check_swap -w 20% -c 10%
现在,您已经知道在命令行中,应该执行,打开NRPE配置文件。
vi /usr/local/nagios/etc/nrpe.cfg
添加新的定义, check_swap命令使用命令行从上面和保存文件。
command[check_swap]=/usr/local/nagios/libexec/check_swap -w 20% -c 10%
如果您正在运行的NRPE守护进程作为一个独立的守护程序,您需要重新启动它。如果您正在运行的情况下阅读inetd / xinetd superserver您不需要做任何事情更多。
A) 监控主机的安装
关于监测主机(机器运行Nagios ) ,您需要做几件事:
-安装check_nrpe插件-建立Nagios命令定义使用check_nrpe插件
-创建Nagios主机和服务的定义监测。
1. 安装check_nrpe插件
下载的源代码压缩档的Nagios插件
http://www.nagios.org/download/
wget
http://prdownloads.sourceforge.net/nagios/nrpe-2.12.tar.gz
提取Nagios插件的源代码包。
tar xzf nrpe-2.12.tar.gz
cd nrpe-2.12.tar.gz
编译并安装的插件。
./configure
make all
make install
make install-plugin
2. 试验通信与NRPE守护进程
确保check_nrpe插件可以与NRPE守护在远端主机上。
改为“ 192.168.0.1 ”,命令下面的IP地址的远程主机已NRPE安装。/usr/local/nagios/libexec/check_nrpe -H 192.168.0.1
您应该得到一个字符串返回,告诉您的是哪个版本的NRPE安装在远程主机,
就像这样: NRPE v2.12
如果插件返回一个超时错误,请检查以下内容:
确保没有一个防火墙的远程主机之间的监测服务器拦截
-确保NRPE daemon为正确安装在xinetd 下。
-确保远程主机没有iptables防火墙规则,防止监测服务器NRPE守护进程
3. 创建一个命令定义
需要创建一个命令定义一个对象的Nagios配置文件,以便使用
check_nrpe插件。打开示例commands.cfg文件进行编辑.
vi /usr/local/nagios/etc/commands.cfg
并增加以下定义的文件:
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
您现在已经准备好开始增加服务,应监测的远程机器上的Nagios 状态。
4. 创建主机和服务的定义
您需要创建一些对象的定义,以监测远程的Linux / Unix机器。这些定义可以放置在自己的文件或添加到一个已经退出对象的配置文件。首先,它的最佳做法,以创建一个新模板
define host{
name linux-box ; Name of this template
use generic-host ; Inherit default values
check_period 24x7
check_interval 5
retry_interval 1
max_check_attempts 10
check_command check-host-alive
notification_period 24x7
notification_interval 30
notification_options d,r
contact_groups admins
register 0 ; DONT REGISTER THIS - ITS A TEMPLATE
}
请注意,在Linux现成的模板的定义是继承默认值从通用主机模板,是指在抽样localhost.cfg得到安装文件,当您按照Nagios快速安装指南。下一步,确定新的
define host{
use linux-box ; Inherit default values from a template
host_name remotehost ; The name we're giving to this server
alias Fedora Core 10 ; A longer name for the server
address 192.168.0.1 ; IP address of the server
}
其次,确定一些服务的远程监控的Linux / Unix方块。这些服务的定义,
例如将使用示例命令,已确定了在nrpe.cfg文件在远端主机上。
下列服务将监测CPU负载.
nrpe.cfg file.
define service{
use generic-service
host_name remotehost
service_description CPU Load
check_command check_nrpe!check_load
}
以下服务将监测的数量目前登录用户在远端主机上。
define service{
use generic-service
host_name remotehost
service_description Current Users
check_command check_nrpe!check_users
}
以下服务将监测硬盘空间/ dev/hda1在远端主机上。
define service{
use generic-service
host_name remotehost
service_description /dev/hda1 Free Space
check_command check_nrpe!check_hda1
}
以下服务将监测进程在远端主机。
define service{
use generic-service
host_name remotehost
service_description Total Processes
check_command check_nrpe!check_total_procs
}
以下服务将监测的数量僵尸进程在远端主机上。
define service{
use generic-service
host_name remotehost
service_description Zombie Processes
check_command check_nrpe!check_zombie_procs
}
这些是基本服务的定义,监测的远程主机。如果您想添加更多的服务进行监督.
5. 重新启动Nagios
您安装了check_nrpe插件和插件主机和服务的定义监测远程的Linux / Unix机器。现在,确认您的Nagios配置文件。
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
如果有错误,解决这些问题。如果一切都很好,重新启动Nagios 。服务nagios重新启动这样就大功告成了!您应该看到主机和服务的定义中创建Nagios网络界面。在几分钟之后Nagios应有的现状信息
AA) 定制配置-监控主机配置
关于监测主机,您需要确定新的服务监测互换使用在远端主机上。添加
下列项目之一的对象配置文件。
define service{
use generic-service
host_name remotehost
service_description Swap Usage
check_command check_nrpe!check_swap
}
请注意:该检查的命令是通过“ check_swap ”命令的check_nrpe定义。这将导致
守护进程的NRPE运行check_swap命令中所界定的nrpe.cfg文件的远程主机
请验证您的Nagios配置文件并重新启动Nagios 。
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
重起 Nagios 。
service nagios restart
这样就大功告成了!您现在的监测一项新的服务在远端主机上使用NRPE插件。
C) 发现并修理故障
这里有一些提示进行故障排除一些较常见的错误NRPE插件。如果您遇到
问题并不包括在内,在这里,请发送电子邮件到nagios用户邮件列表。更多的资料邮寄
插件的check_nrpe回报“ CHECK_NRPE :套接字超时10秒后”或“连接被拒绝或超时”
这个错误可以显示几件事情:
-命令的NRPE daemon在被要求运行长于10秒执行。
最可能的原因如果错误信息是“ CHECK_NRPE :套接字超时10秒后” 。使用- T的
命令行选项来指定较长的超时为check_nrpe插件。下面的例子将
增加超时30秒:
/usr/local/nagios/check_nrpe -H localhost -c somecommand -t 30
-在NRPE daemon在未安装或运行在远端主机上。验证NRPE守护进程运行作为一个独立的守护程序或根据inetd的/ xinetd与下列命令之一:
ps axuw | grep nrpe
netstat -at | grep nrpe
有一个防火墙拦截的沟通监测主机(运行的check_nrpe插件)和远程主机(运行的NRPE守护进程) 。验证防火墙规则(例如使用iptables )上正在运行的远程主机位于监测主机和远程主机。
插件的check_nrpe回报“ CHECK_NRPE :收稿0字节从后台程序。检查远程服务器日志中的错误信息。 ”
首先你应该做的是检查远程服务器日志中的错误信息。认真对待。 :-)
这个错误可能是由于以下问题:
―――插件的check_nrpe插件而无法完成一个SSL握手的NRPE守护进程。错误信息日志应说明是否或不属于这种情况。检查OpenSSL的版本上安装的监控主机和远程主机。
远程主机,可能会有一些兼容性问题。
插件的check_nrpe回报“ NRPE :无法读取输出”
此错误表明该命令是由NRPE daemon在未返回任何字符输出。
这可以说明以下问题:
-错误定义的命令行中命令定义。确认命令定义在您的NRPE配置文件是正确的。
-插件中指定的命令行是失灵。运行命令行手动以确保插件返回某种文本输出。
―――插件的check_nrpe反回“NRPE“信息。
此错误意味着你没有确定命令中的NRPE配置文件在远端主机上。在远端主机上,添加命令定义查看现有的命令中的定义NRPE配置。
文件提供更相应的资料。如果您正在运行的NRPE守护进程作为一个独立的守护程序(而不是按照阅读inetd或xinetd ) ,您需要重新启动,以便为新的命令来得到承认。
―――插件的check_nrpe插件的反回“NRPE“ 命令超时
此错误表明该命令是由NRPE守护进程没有完成执行。
具体的时间。您可以提高超时命令编辑NRPE配置文件和不断变化的
command_timeout变量。如果您正在运行的NRPE守护进程作为一个独立的守护程序(而不是按照阅读inetd或xinetd ) ,您需要重新启动,以便为新的超时得到承认。如何进行调试其他问题调试,问题可能是有的编辑NRPE配置文件,并改变调试= 0条目调试= 1 。一旦你做到这一点,重新启动NRPE daemon在运行,如果它是作为一个独立的守护进程。当您尝试使用check_nrpe插件,您应该可以看到一些调试信息的日志文件的远程主机。仔细检查您的记录-他们应该能够帮助提供线索,知道问题所在。
Ok 写完了, 对你有没有帮助,要是有那就更好了。
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/4608/showart_1851611.html |
|