首页 Nagios安装部署与Cacti整合文档

Nagios安装部署与Cacti整合文档

举报
开通vip

Nagios安装部署与Cacti整合文档 1.1.1. 1 / 33 Author By Kevin: htpp://treasure.blog.chinaunix.net Nagios 安装部署与 Cacti 整合文档 系统环境:CentOS5.4 文档版本:V2.0.0 整理:Kevin 更新时间:2011-12-01 备注:运维专用 1.1.1. 2 / 33 Author By Kevin: htpp://treasur...

Nagios安装部署与Cacti整合文档
1.1.1. 1 / 33 Author By Kevin: htpp://treasure.blog.chinaunix.net Nagios 安装部署与 Cacti 整合文档 系统环境:CentOS5.4 文档版本:V2.0.0 整理:Kevin 更新时间:2011-12-01 备注:运维专用 1.1.1. 2 / 33 Author By Kevin: htpp://treasure.blog.chinaunix.net Nagios 是一款开源的免费网络监视工具,其功能强大,灵活性强。能有效监控 Windows、Linux 和 Unix 的主机状态,交换机路由器等网络设置,打印机等。Nagios 通常由一个主程序(Nagios)、一个 插件程序(Nagios-plugins)和四个可选的 ADDON(NRPE、NSCA、 NSClient++和 NDOUtils)组成。Nagios 的监控工作都是通过插件实现的,因此,Nagios 和 Nagios-plugins 是服务器端工作所必须的组件。 而四个 ADDON 中 (1)NRPE:用来在监控的远程 Linux/Unix 主机上执行脚本插件以实现对这些主机资源的监控 (2)NSCA:用来让 被监控的远程 Linux/Unix 主机主动将监控信息发送给 Nagios 服务器(这在冗余 监控模式中特别要用到) (3)NSClient++:用来监控 Windows 主机时安装在 Windows 主机上的组件 (4)NDOUtils:则用来将 Nagios 的配置信息和各 event 产生的数据存入数据库,以实现 这些数据 的快速检索和处理这四个 ADDON(附件)中,NRPE 和 NSClient++工作于客户端,NDOUtils 工作于服 务器端,而 NSCA 则需要同时安装在服务器端和客户端 1.1.1. 3 / 33 Author By Kevin: htpp://treasure.blog.chinaunix.net 目录 工贸企业有限空间作业目录特种设备作业人员作业种类与目录特种设备作业人员目录1类医疗器械目录高值医用耗材参考目录 Nagios 安装部署与 Cacti整合文档................................................................................................................................................................. 1 1. 文档更新记录 ............................................................................................................................................................................................ 1 2. 文档说明 .................................................................................................................................................................................................... 1 3. Nagios 的安装 ............................................................................................................................................................................................ 1 3.1. 安装基础支持套件和添加用户 .............................................................................................................................................. 1 3.2. 安装 nagios .............................................................................................................................................................................. 2 3.3. 安装 nagios-plugins ................................................................................................................................................................. 2 3.4. 安装 nagios-snmp-plugins ....................................................................................................................................................... 3 3.5. 其他设置 ................................................................................................................................................................................. 4 4. nagios 的配置 ............................................................................................................................................................................................ 4 4.1. nagios 目录结构 ...................................................................................................................................................................... 4 4.2. nagios 的配置文件 .................................................................................................................................................................. 5 5. 安装 cacti ................................................................................................................................................................................................. 12 6. 整合 cacti 和 nagios ................................................................................................................................................................................. 14 6.1. 安装 ndoutils ......................................................................................................................................................................... 14 6.2. 安装 php-json ........................................................................................................................................................................ 16 6.3. 安装 npc................................................................................................................................................................................. 17 6.4. 测试页面 ............................................................................................................................................................................... 18 7. Nagios 每日健康检查报警短信 .............................................................................................................................................................. 20 7.1. 编写检查脚本........................................................................................................................................................................ 20 7.2. 添加 crond 计划 项目进度计划表范例计划下载计划下载计划下载课程教学计划下载 .................................................................................................................................................................... 20 7.3. 配置飞信机器人报警 ............................................................................................................................................................ 20 7.3.1. Commands.cfg 配置文件添加如下内容: .................................................................................................................. 20 7.3.2. Contacts.cfg 配置添加: .............................................................................................................................................. 21 7.3.3. Templates.cfg ................................................................................................................................................................ 21 7.3.4. 修改展示页面监控图片大小: /usr/local/nagios/etc/pnp/config.php ............................................................... 22 8. 添加修改飞信机器人密码验证功能 ...................................................................................................................................................... 22 8.1.1. 修改飞信机器密码 ...................................................................................................................................................... 22 9. Troubleshooting ........................................................................................................................................................................................ 22 9.1. web 界面修改某个服务时报错 ............................................................................................................................................ 23 9.2. 点击 host,service 选项时,结果无法显示 ........................................................................................................................... 23 9.3. nagios3.2.0 以后,安装 nagios 在访问 http://ip/nagios 时出现如下错误提示: ....................................................... 24 9.4. 出现 pnp 小太阳图标,点击报错如下: ............................................................................................................................ 24 9.5. 安装 NAGIOS 时发现有 Status Map、Alert Histogram 打不开链接,提示找不到 statusmap.cgi 和 histogram.cgi. ......... 25 9.6. 后台 apache 日志报错如下: .............................................................................................................................................. 25 9.7. 进行编译安装 ndoutils-1.4b7 时,报错如下: ................................................................................................................... 26 9.8. 安装后,查看/usr/local/nagios/var/nagios.log 日志,报错如下: ................................................................................... 26 9.9. 有时开机后,后台报错如下: ............................................................................................................................................ 27 9.10. 访问 npc 插件页面时,主机图标为红色叉号: ................................................................................................................ 27 9.11. 访问点击小太阳后,报错如下: ........................................................................................................................................ 28 1 1. 文档更新记录 时间 修改人 版本号 修改说明 2010.09.07 Kevin 1.0.0 建立文档 2010.09.24 Kevin 1.0.1 添加报警设置 2011.01.07 Kevin 1.0.2 添加每日健康检查报警机制 2011.02.16 Kevin 1.0.3 更新文档生成 pdf 文档 2011.02.22 Kevin 1.0.4 添加新的 troubleshooting 项 2011.03.10 Kevin 1.0.5 添加 nagios 飞信机器人报警 2011.05.16 Kevin 1.0.8 更新 troubleshooting 2011.5.17 2011.12.01 Kevin Kevin 1.0.9 2.0.0 更新目录树 添加修改飞信机器人密码验证 2. 文档说明 本文档规范网络监控系统安装流程及安装内容,供运维人员在部署新的运营环境时参考使用。 3. Nagios 的安装 3.1. 安装基础支持套件和添加用户 nagios 需要一些基础支持套件才能运行,如 apache,gcc,glibc,gd库等。 #yum install httpd #yum install gcc #yum install glibc glibc-common #yum install gd gd-devel #yum install php nagios3.2.0 以后的版本必须安装 php,nagios页面访问才正常 #/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 3.2. 安装 nagios #mkdir ~/downloads #cd ~/downloads # wget http://nchc.dl.sourceforge.net/sourceforge/nagios/nagios-3.2.1.tar.gz # wget http://nchc.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.15.tar.gz #cd ~/downloads #tar xzf nagios-3.2.1.tar.gz #cd nagios-3.2.1 #./configure --with-command-group=nagcmd #make all #make install #make install-init #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 界面时 HTTP 验证的账号密码 #service httpd restart 启动 apache 3.3. 安装 nagios-plugins nagios-plugins 是 nagios 官方提供的一套插件程序,nagios 监控主机的功能其实都是通过执行插件程序来实现的。 #cd ~/downloads #tar xzf nagios-plugins-1.4.15.tar.gz #cd nagios-plugins-1.4.15 #./configure --with-nagios-user=nagios --with-nagios-group=nagios #make #make install 安装插件,安装后所有插件命令将被安装到/usr/local/nagios/libexec 目录下 3 3.4. 安装 nagios-snmp-plugins nagios-snmp-plugins 是一套用 Perl 编写的通过 SNMP 方式监控主机的插件程序。 #cd ~/downloads #wget http://nagios.manubulon.com/nagios-snmp-plugins.1.1.1.tgz #tar xzf nagios-snmp-plugins.1.1.1.tgz #cd nagios_plugins 配置 check_snmp_int.pl这些插件的使用时需要配置 cpan,CPAN是Comprehensive Perl Archive Network 的缩写.。它是一个巨大的 Perl 软件收藏库,收集了大量有用的 Perl 模块(modules) 及其相关的文件。这里主要是使用 Perl-Net-SNMP 模块。有两种方式安装: A)通过 CPAN 来安装 #perl -MCPAN -e shell cpan> install Net::SNMP B) 手工安装 首先去官方网站 www.cpan.org 下载以下几个模块 Crypt::DES Digest::MD5 Digest::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 4 下 3.5. 其他设置 至此 nagios 基本已经安装完毕,但这时还不能马上启动 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 界面时会出现 Internet Server Error 的错误。 #getenforce 查看是否运行于强制模式,结果为 1 表示是 #setenforce 0 更改 selinux 运行于宽容模式 但是这个设置重启后就会失效,如需要重启后保持该设置需要修改/etc/sysconfig/selinux,将 其中的 SELINUX= enforcing更改为 SELINUX= permissive并重启系统。当然你也可以改成disable 禁用 selinux。 也可以不更改 selinux 的运行模式,解决办法为: #chcon -R -t httpd_sys_content_t /usr/local/nagios/sbin/ #chcon -R -t httpd_sys_content_t /usr/local/nagios/share/ 4. nagios 的配置 4.1. nagios 目录结构 nagios 目录结构比较清晰,安装后下面一共有 bin etc libexec sbin share var 几个目录,其中配置文件都存 放在 etc 目录下,bin 下存放的是 nagios 的相关命令,sbin 下存放的是通过 web 方式外部执行的 cgi,libexec 存放 5 的是所有插件,而 var 则存放的是 log 和 pid 文件等。而实现监控都是依靠执行插件来实现的。 要实现监控,需要在 nagios 中定义一个 service,在这个 service 中指定监控对象和监控命令以及报警机制等。Nagios 的配置关系可以按照下图来做说明: nagios 的配置也比较清晰明了,etc 目录下默认有 objects 目录和一些配置文件,其中 objects 里放的是主配置文 件 nagios.cfg 包含进去的配置文件。在 nagios.cfg 中既可以指定单独包含一个 cfg,也可以指定一个包含目录,即 该目录下所有的 cfg 文件都会包含进来。 4.2. nagios 的配置文件 首先我们配置下主配置文件,为了目录的清晰我们自己建立一些目录来存放相关的配置文件,比如建立 commands 目录存放命令,建立 services 目录存放服务,建立 hosts 目录存放主机,在 nagios.cfg 文件中找到 cfg_file 的部分,下面是一个示例,实际部署的时候可以按照你自己的情况去设置: 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/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=/usr/local/nagios/etc/routers nagios.cfg 其他地方可以暂不调整,该文件中具体 参数 转速和进给参数表a氧化沟运行参数高温蒸汽处理医疗废物pid参数自整定算法口腔医院集中消毒供应 请参考附件中的配置文件中文注释 这里先说明一下,监控都是依靠插件去完成的,举个例子说明,如我们要监控 192.168.1.200 这台服务器的虚拟 内存,当达到 70%的时候状态为警告,达到 90%的时候为严重。这个依靠 check_snmp_storage.pl 这个插件来完成。 [root@localhost etc]# /usr/local/nagios/libexec/check_snmp_storage.pl -H 192.168.1.200 -C mypublic -2 -m "^Virtual Memory$" -w 70 -c 90 6 Virtual Memory: 21%used(531MB/2472MB) (<70%) : OK 其中-H 参数表示主机地址,-C 参数表示 SNMP 团体名称,-2 表示使用 SNMP v2 协议,-w 为 warning(警告)状态的 阈值,-c 表示为 critical(严重)状态的阈值 要用 nagios 实现监控某主机,就是要实现用 nagios 调用这样的命令即可。 配置 resource.cfg,文件内容: [root@localhost etc]# cat resource.cfg |grep -v '#'| sed /^$/d 查看 resource.cfg 配置 $USER1$=/usr/local/nagios/libexec $USER7$=-C mypublic -2 这里其实是定义两个变量$USER1$和$USER7$,因为在后面定义 command 的时候插件的路径是绝对路径,为了节 省输入直接可以用$USER1$代替/usr/local/nagios/libexec。而 SNMP 插件的命令行中的参数需要设置 SNMP 相关的 信息,为节省输入这里用$USER7$来代替 -C mypublic -2。大家可对照上面检测 192.168.1.200 的虚拟内存的例子结合来加以理解。 下面我们来定义一个 command 用以监控,仍然以在 nagios 中实现监控 192.168.1.200 这台主机的虚拟内存为例说 明。为了目录结构的清晰,我们将 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$即为我们在上面的 resource.cfg 中定义的两个变量,$HOSTADDRESS$为我们在下面要定 义的主机。 在 hosts 目录下建立一个 cfg 后缀的文件来存放主机配置。 define host{ use windows-server 定义使用的模板 host_name web83 定义主机名为 web83 alias web server on 111.83 主机别名 address 192.168.1.200 主机 IP 地址 hostgroups linuxtoneweb 将该主机归到 linuxtoneweb 这个组,如 7 果要归到多个组里,用逗号分隔组名 } 在定义主机的时候我们将 83 归到了 linuxtoneweb 这个组,下面来定义这个组名。可以直接在 hosts 下建立一个 定义组名的 cfg 文件。 define hostgroup{ hostgroup_name linuxtoneweb alias linuxtone web servers } 这样就定义了一个 linuxtoneweb 组,将主机归为一个组有两种 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 ,一种是我们这种在主机的定义中去设置,另 外一种是在组的设置中定义 members。如下: define hostgroup{ hostgroup_name linuxtoneweb alias linuxtone web servers members web83 设置该组的成员,需要是在 host 中定义的主机名,多个 成员请用逗号分隔 } 在定义主机分组里面我们还可以用 hostgroup_members 定义下级分组,十分方便。 OK,上面我们完成了命令、主机的定义,下面我们就要进入 nagios 监控某个对象的关键设置,nagios 的监控都 是靠定义一个 service 来实现,这里我们定义一个 service 来实现监控 83 的虚拟内存。在 services 目录下建立一个 cfg 文件。 define service { hostgroup_name linuxtone,linuxtoneweb,database 定义监控对象 name memory 设置服务名 service_description check memory 服务描述 check_period 24x7 监控周期设置 max_check_attempts 4 最大检测尝试次数 normal_check_interval 3 正常检测间隔时间 retry_check_interval 2 重试检测间隔时间 contact_groups admins 报警联系组 8 notification_interval 10 通知间隔 notification_period 24x7 通知周期设置 notification_options w,u,c,r 定义什么状态时报警 check_command check_snmp_storage!-m "^Virtual Memory$"!70!90 } 这样我们完成对一个 service 的定义,定义监控对象我们这里是定义了 3 个组,即属于这 3 个组的所有主机都会 检测虚拟内存(注意:组必须在其他文件中事先定义好)。当然你也可以用 host_name 针对主机作为检测对象(多 主机用逗号分隔)。监控周期和报警周期我们设置的都是 24x7,这个会在后面去定义。定义报警状态中的 w 表示 warning,u 表示 unknown,c 表示 critial,r 表示 recovery(即恢复后是否发送通知);报警选项一般生产环境下 设置 w,c,r 即可。最后我们看到实现监控的主体部分 check_command check_snmp_storage!-m "^Virtual Memory$"!70!90 定义实现这个检测的命令,check_snmp_storage 即为我们上面在 commands 里定义的命令名, !表示带入的参数,这里有三个!表示带入三个参数到 command 里,每个参数之间用!分隔,这里表示第一个参 数为-m “^Virtual Memory$”,第二个参数为 70,第三个参数为 90。下面我们回头去看看 check_snmp_storage 这个 command 的定义: command_line $USER1$/check_snmp_storage.pl -H $HOSTADDRESS$ $USER7$ $ARG1$ -w $ARG2$ -c $ARG3$ 这里的$ARG1$即表示参数 1,$ARG2 即表示参数 2,$ARG3$即表示参数 3 而$HOSTADDRESS$是我们定义的检测对象,它的值就是我们的主机 IP 地址;$USER1$和$USER7$为在 resource.cfg 里的定义。下面我们将参数值代入这个 command 里,最后实现的效果是: /usr/local/nagios/libexec/check_snmp_storage.pl –H 192.168.1.200 –C mypublic -2 –m “^Virtual Memory$” –w 70 –c 90 而这个命令就是我们实现监控 83 的虚拟内存的命令! 设置 3 个参数是为了灵活的针对不同主机的调用,如果你对不同的主机设置的阈值不同,只需要对不同的主机定 义不同的 service 即可,command 是可以通用的!而这里的参数 1 也是为了实现不同的功能而设置的,这个脚本 还可以检测物理内存,如果我们把参数 1 的值设置为”^Phisical Memory$”就可以针对物理内存进行检测!定义 command 的时候参数的个数的设定是你可以根据需要设置的。只需要在后面 service 中能将参数值代到 command 中最终能实现你要检测的命令即可。到此为止你可以感受到 nagios 的灵活性了吧。 到这里我们基本实现了 nagios 的监控功能,下面我们继续来看看其他设置。在定义 host 的时候我们有个主机模 板的设置,这个设置的定义在 object/template.cfg 中定义的,这是一个系统自带的配置文件,关于我们所使用的 Windows-Server 的模板定义内容为: 9 # Windows host definition template - This is NOT a real host, just a template! define host{ name windows-server ; The name of this host template use generic-host ; Inherit default values from the generic-host template check_period 24x7 ; By default, Windows servers are monitored round the clock check_interval 5 ; Actively check the server every 5 minutes retry_interval 1 ; Schedule host check retries at 1 minute intervals max_check_attempts 10 ; Check each server 10 times (max) check_command check-host-alive ; Default command to check if servers are "alive" notification_period 24x7 ; Send notification out at any time - day or night notification_interval 30 ; Resend notifications every 30 minutes notification_options d,r ; Only send notifications for specific host states contact_groups admins ; Notifications get sent to the admins by default hostgroups windows-servers ; Host groups that Windows servers should be a member of register 0 ; DONT REGISTER THIS - ITS JUST A TEMPLATE } objects 目录下的 contact.cfg 中定义的是报警联系人。 define contact{ contact_name nagiosadmin ; Short name of user use generic-contact ; Inherit default values from generic-contact template (defined above) 10 alias Nagios Admin ; Full name of user email netkey@linuxtone.com ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ****** address1 alarm@hotmail.com ;这里是个自定义的变量 设置,定义了一个 S
本文档为【Nagios安装部署与Cacti整合文档】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_463995
暂无简介~
格式:pdf
大小:1MB
软件:PDF阅读器
页数:33
分类:互联网
上传时间:2012-10-31
浏览量:21