2022年Nagios的安装部署 .pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《2022年Nagios的安装部署 .pdf》由会员分享,可在线阅读,更多相关《2022年Nagios的安装部署 .pdf(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Nagios的安装部署和与Cacti 的整合本文档基于CENTOS5.2系统和 Nagios 实现网管监控功能, 并与 Cacti实现整合。 Centos 初始安装后的一些系统基本设置工作本文档不做说明,请参考相关资料。文档版本: V1.0 最后修改: 2009-3-19 By NetKey系统环境: CentOS5.2格式约定:黑色粗体 :为输入命令部分红色粗体 :为需要按你的环境修改的部分绿色粗体 :系统返回的提示信息蓝色粗体 :文档注释部分Nagios 是一款开源的免费网络监视工具,其功能强大,灵活性强。能有效监控Windows、 Linux和 Unix 的主机状态,交换机路由器等网络设
2、置,打印机等。本文档主要实现nagios监控windows 主机, nagios 监控 windows 系统有三种实现方式:SNMP 、NSClient+ 、NRPE ,后面两种方式都需要在windows 上安装 agent ,因目前服务器上都开启了SNMP ,所以本文档只介绍使用 SNMP 方式来监控Windows。第一部分: Nagios 的安装1. 安装基础支持套件和添加用户nagios 需要一些基础支持套件才能运行,如apache,gcc,glibc,gd 库等。#yum install httpd#yum install gcc #yum install glibc glibc-co
3、mmon #yum install gd gd-devel #/usr/sbin/useradd -m nagios 添加一个名为nagios 的用户用以专门跑nagios#passwd nagios 设置密码#/usr/sbin/groupadd nagcmd 添加 nagcmd用户组,用以通过web页面提交外部控制命令#/usr/sbin/usermod -a -G nagcmd nagios 将 nagios 用户加入nagcmd组#/usr/sbin/usermod -a -G nagcmd apache 将 apache 用户加入nagcmd组2. 安装 nagios#mkdir /
4、downloads #cd /downloads #wget http:/ #wget http:/ 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 15 页 - - - - - - - - - #cd /downloads #tar xzf nagios-3.0.6.tar.gz #cd nagios-3.0.6 #./configure -with-command-group=nagcmd #make all #make install #make install-i
5、nit #make install-config #make install-commandmode 这时 nagios 基本已经安装完成,默认安装后的配置文件用于启动nagios 是没有问题的。#vi usr/local/nagios/etc/objects/contacts.cfg 修改 nagiosadmin这行其中的邮件地址为你的email 地址,以将报警邮件发到你的邮箱#make install-webconf 安装 nagios的 web 接口#htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin 设置登陆web
6、界面时 HTTP 验证的账号密码#service httpd restart 启动 apache3. 安装 nagios-pluginsnagios-plugins 是 nagios 官方提供的一套插件程序,nagios 监控主机的功能其实都是通过执行插件程序来实现的。#cd /downloads #tar xzf nagios-plugins-1.4.13.tar.gz #cd nagios-plugins-1.4.13 #./configure -with-nagios-user=nagios -with-nagios-group=nagios #make #make install安装插
7、件,安装后所有插件命令将被安装到/usr/local/nagios/libexec 目录下4.安装 nagios-snmp-pluginsnagios-snmp-plugins 是一套用Perl 编写的通过SNMP 方式监控主机的插件程序。#cd /downloads #wget http:/ #tar xzf nagios-snmp-plugins.1.1.1.tgz #cd nagios_plugins 配置check_snmp_int.pl这些插件的使用时需要配置cpan,CPAN 是 Comprehensive Perl Archive Network 的缩写 .。它是一个巨大的Per
8、l 软件收藏库,收集了大量有用的Perl 模块(modules)及其相关的文件。这里主要是使用Perl-Net-SNMP 模块。有两种方式安装:A)通过 CPAN 来安装名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 15 页 - - - - - - - - - #perl -MCPAN -e shell cpan install Net:SNMPB) 手工安装首先去官方网站www.cpan.org 下载以下几个模块Crypt:DES Digest:MD5 Digest:
9、SHA1 Digest:HMAC Net:SNMP 下载后对于每个模块依次按照下面的方式安装#tar zxf .tar.gz 表示模块名,具体请按上面提到的模块替换#cd 表示模块名,具体请按上面提到的模块替换#perl Makefile.pl #make test #make install 注意: Net:SNMP 模块必须在最后安装。至此Net:SNMP 手动安装完毕#./install.sh 执行 nagios-snmp-plugins 安装脚本 ,执行之后会将插件命令安装到/usr/local/nagios/libexec下5.其他设置至此 nagios 基本已经安装完毕,但这时还不
10、能马上启动nagios,需要以下设置。#chkconfig -add nagios将 nagios添加到服务中#chkconfig nagios on 设置服务为自启动#/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg检测 nagios的配置是否正确,在后面配置nagios过程中我们为了检测配置的是否正确需要不断执行该命令来检查配置文件。#service nagios start 启动 nagios需要注意的是, Centos 默认打开了selinux 并且运行于强制安全模式,这将导致在打开nagios的 web
11、界面时会出现Internet Server Error 的错误。#getenforce 查看是否运行于强制模式,结果为1 表示是#setenforce 0 更改 selinux 运行于宽容模式但是这个设置重启后就会失效,如需要重启后保持该设置需要修改/etc/sysconfig/selinux ,将其中的 SELINUX= enforcing更改为 SELINUX= permissive并重启系统。当然你也可以改成disable 禁用 selinux。也可以不更改selinux 的运行模式,解决办法为:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - -
12、 - - - - - 名师精心整理 - - - - - - - 第 3 页,共 15 页 - - - - - - - - - #chcon -R -t httpd_sys_content_t /usr/local/nagios/sbin/ #chcon -R -t httpd_sys_content_t /usr/local/nagios/share/ 6.实现 MSN 报警要实现 MSN 报警需要使用phpmsnclass,这是一个用php 实现的 msn 机器人程序。#cd /downloads #wget http:/ phpmsnclass ,此文件为7zip 压缩格式,需要安装7z
13、#wget http:/ #tar jxvf p7zip_4.65_x86_linux_bin.tar.bz2 #cd p7zip_4.65 #./install.sh 安装 7z#cd - #7z e phpmsnclass_1.9.7z 解压文件phpmsnclass需要 php 支持,安装php,这里为了方便就直接完成LAMP 环境的安装#yum -y install mysql-server安装 mysql 数据库,后面安装cacti 需要由于安全原因请将mysql 设置为只监听在127.0.0.1 上,并删除mysql 库中默认的除了rootlocalhost 外的所有用户,相关设置
14、请见以前的关于postfix 安装中的设置。#yum install -y php php-cli php-xcache php-mysql php-mbstring php-gd php-pgsql php-mcrypt php-mhash php-xml php-bcmath 安装 php 相关模块msn 报警有 2 种方式,一种是直接使用php 进行登陆验证发送消息,另外一个是以msn 机器人的形式发送,将消息存储在目录内。这里采用第二种。#cd phpmsnclass #mkdir /var/spool/msnbot #mkdir /var/spool/msnbot/log #mkdi
15、r /var/spool/msnbot/spool 下面把 msnbot.php, config.php 和 msn.class.php拷贝到 /var/spool/msnbot/ #cp msnbot.php config.php msn.class.php /var/spool/msnbot #chmod 777 /var/spool/msnbot/spool #chmod o+t /var/spool/msnbot/spool 这个机器人的工作原理是如果要发送消息,就调用php 生成消息文件到/var/spool/msnbot/spool 目录中,发送程序检查到该目录有新文件就会模拟ms
16、n 登陆和发信将信息发送出去。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 15 页 - - - - - - - - - #chmod +x /var/spool/msnbot/msnbot.php #vi config.php在配置文件中设置MSN 的账号和密码(以后报警通过这个MSN 发出)#cp msnbot.sh /etc/init.d/ #chmod +x msnbot.sh 加上执行权限#vi msnbot.sh 在启动函数里执行的php 文件前要加上php
17、 ( php 后有空格)#./msnbot.sh start 启动 MSN 机器人下面发个消息测试一下#php msnsendmsg.php this is a test2 向 的 MSN 账号发送测试信息注意需要将 和 config.php 里设置的MSN 账号相互加为好友如果成功接收到信息说明配置正确,此步骤到此结束,后面的能让Nagios 使用 MSN 进行报警的功能需要到Nagios 里设置了。如果需要支持离线消息即当你在离线状态下也能接收到机器人的信息,需要使用MSNP15 协议,修改相关发信的php 文件将声明新类的地方new MSN 的第一个参数改为MSNP15 第二部分nagi
18、os的配置nagios 目录结构比较清晰, 安装后下面一共有bin etc libexec sbin share var 几个目录,其中配置文件都存放在etc 目录下, bin 下存放的是nagios 的相关命令, sbin 下存放的是通过 web 方式外部执行的cgi,libexec 存放的是所有插件,而var 则存放的是log 和 pid 文件等。而实现监控都是依靠执行插件来实现的。要实现监控, 需要在 nagios 中定义一个service,在这个 service 中指定监控对象和监控命令以及报警机制等。Nagios 的配置关系可以按照下图来做说明:nagios 的配置也比较清晰明了,e
19、tc 目录下默认有objects 目录和一些配置文件,其中objects里放的是主配置文件nagios.cfg 包含进去的配置文件。在nagios.cfg 中既可以指定单独包含一个 cfg,也可以指定一个包含目录,即该目录下所有的cfg 文件都会包含进来。首先我们配置下主配置文件,为了目录的清晰我们自己建立一些目录来存放相关的配置文件,比如建立commands 目录存放命令,建立services 目录存放服务,建立hosts 目录存放主机,在nagios.cfg 文件中找到cfg_file 的部分,下面是一个示例,实际部署的时候可以按照你自己的情况去设置:cfg_file=/usr/local
20、/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 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 15 页 - - - -
21、 - - - - - cfg_file=/usr/local/nagios/etc/objects/localhost.cfg cfg_file=/usr/local/nagios/etc/objects/switch.cfg cfg_dir=/usr/local/nagios/etc/services 包含配置目录,目录下所有cfg 文件将被包含;下同cfg_dir=/usr/local/nagios/etc/hosts cfg_dir=/usr/local/nagios/etc/commands cfg_dir=/usr/local/nagios/etc/switches cfg_dir=
22、/usr/local/nagios/etc/routers nagios.cfg 其他地方可以暂不调整,该文件中具体参数请参考附件中的配置文件中文注释这里先说明一下,监控都是依靠插件去完成的,举个例子说明, 如我们要监控60.222.111.83这台服务器的虚拟内存,当达到70%的时候状态为警告,达到90%的时候为严重。这个依靠 check_snmp_storage.pl 这个插件来完成。rootlocalhost etc# /usr/local/nagios/libexec/check_snmp_storage.pl -H 60.222.111.83 -C mypublic -2 -m Vi
23、rtual Memory$ -w 70 -c 90 Virtual Memory: 21%used(531MB/2472MB) (70%) : OK 其中 -H 参数表示主机地址,-C 参数表示SNMP 团体名称, -2 表示使用SNMP v2 协议, -w为 warning( 警告 )状态的阈值, -c 表示为 critical (严重)状态的阈值要用 nagios 实现监控某主机,就是要实现用nagios 调用这样的命令即可。配置 resource.cfg,文件内容:rootlocalhost etc# cat resource.cfg |grep -v #| sed /$/d 查看 re
24、source.cfg配置$USER1$=/usr/local/nagios/libexec $USER7$=-C mypublic -2这里其实是定义两个变量$USER1$和$USER7$,因为在后面定义command 的时候插件的路径是绝对路径,为了节省输入直接可以用$USER1$代替 /usr/local/nagios/libexec 。而SNMP插件的命令行中的参数需要设置SNMP 相关的信息,为节省输入这里用$USER7$来代替-C mypublic -2 。大家可对照上面检测60.222.111.83 的虚拟内存的例子结合来加以理解。下面我们来定义一个command 用以监控, 仍然
25、以在nagios 中实现监控60.222.111.83 这台主机的虚拟内存为例说明。为了目录结构的清晰,我们将command 的定义都放到commands目录下。在commands 下建立一个cfg 后缀的文件,针对此示例的command 定义内容为define command command_name check_snmp_storage command_line $USER1$/check_snmp_storage.pl -H $HOSTADDRESS$ $USER7$ $ARG1$ -w $ARG2$ -c $ARG3$ 其 中 的 $USER1$ 和 $USER7$ 即 为 我 们 在
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年Nagios的安装部署 2022 Nagios 安装 部署
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内