收藏 分销(赏)

nagios-web管理工具.docx

上传人:仙人****88 文档编号:9257070 上传时间:2025-03-18 格式:DOCX 页数:81 大小:9.66MB 下载积分:10 金币
下载 相关 举报
nagios-web管理工具.docx_第1页
第1页 / 共81页
nagios-web管理工具.docx_第2页
第2页 / 共81页


点击查看更多>>
资源描述
信息技术 CentOS 6.0+Nagios中文版+PNP+Nagios Web管理工具nagiosQL中文版 战CentOS 6.0+Nagios中文版+PNP+Nagios Web管理工具nagiosQL中文版 Nagios网上的教程百度一下一大把,发现有些教程讲法有点出入,估计有些都是拷贝乱贴乱飞,按有些说法去做,根本就做不下去,今天我亲自实践, 现场抓图让你看得清楚看得明白,以及中间遇到什么问题,怎么解决,都会分享给大家,抓图再写出来有点辛苦,关键能学到东西一切都是值得滴,Follow me~! 下载centOS 6.0然后安装好系统,最好用vmware来做最好. CentOS 6.0最新版国内下载地址: 自行装好系统以后现在开始装备安装前的环境准备 我把命令贴出来,为了方便大家操作你只要跟着我把命令拷贝和粘贴即可,省去敲打命令的麻烦也避免失误出错(小技巧提醒:装好centOS以后进入x-windows里面装个vmware tools就可以实现物理机和虚拟机之间的拷贝和粘贴,方法很简单这里就不说了) yum -y install httpd gettext mysql mysql-server mysql-devel php php-mysql php-pear yum install php-mysql mysql perl mysql-server perl-DBI perl-DBD-MySQL httpd gcc glibc glibc-common gd gd-devel php 在线下载nagios程序和插件 wget (现在最新版本的插件) wget 用户和组的准备 开始安装主程序 ./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios --with-command-group=nagcmd 完成以后发现执行make all命令的时候出现以下错误 貌似CentOS下默认系统没有安装编译器,安装一下: yum -y install gcc automake autoconf libtool make 继续做make all操作,发现最后报错了, 先执行make clean操作,然后再执行 ./configure && make all 操作通过(问题分享)接着再执行以下命令即可,没有出现任何状况. 接下来安装插件 ./configure --with-nagios-user=nagios --with-nagios-group=nagios 添加访问页面用户nagiosadmin及密码,这里要记住此密码不要忘记了. htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin 接下来启动相关服务 Vi http.conf文件 修改servername 访问地址ServerName 192.168.0.22:80 检查配置文件是否正确 /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg [经验分享:由于这一串检查的命令很长,应用率也比较高,这里我们可以自定义一个命令来代替这一长串的命令 编辑.bashrc这个文件 在里面用alias 来自定义一个命令来代替,这里我用check 用source命令在当前bash环境下读取并执行bashrc中的命令 这样我们自定义的命令就生效了,以后只要输入check就可以检查nagios配置文件是否存在错误了,简单方便.] 发现没有警告和错误就表示通过了 现在就可以用http://serverip/nagios 方式访问nagios web访问控制台了. 开了防火墙记得要开放80端口,要不然连接不到,或者直接关闭防火墙用命令service iptables stop关闭即可. 问题分享:进入页面的时候点主机或其它选项的时候报此错误,后面百度一下原来是开启了selinux强制访问控制安全模块所致 注意:如果你开启了selinux 需要配置如下二步: chcon -R -t httpd_sys_content_t /usr/local/nagios/sbin/ chcon -R -t httpd_sys_content_t /usr/local/nagios/share/ 这样正宗的中文版出来了,总算迈出了成功的一小步,耐心坚持让我们继续吧~~! [经验分享:我这里用虚拟机做的,记得系统和网络相关参数配置好以后做一个系统的快照,配到这里 nagios安装成功以后我们再做一个快照,以免后面配乱出问题的时候我们可以返回到这里重新再配置,方便快捷,记住做快照的时候先把虚拟机关闭以后再 做,要不然快照出来的文件大得吓人,而关闭以后做快照文件才几百KB.] ok下面我们接着来 [nrpe_plugins指标采集程序主要是用来分析nrpe客户端的plugin脚本采集性能指 标数据。目前实现的有cpu、memory、disk、buffer、singleprocess、oracle、sybase等方面的性能指标的分析, 这个插件需要分别安装在主控端和被控端上,这个插件需要openssl的支持,没有就直接在线安装一下(yum install openssl-devel)所以还需在nagios主机和被控端安装,感觉挺麻烦,没办法它需要咱们就跟着做哈.] 先把nrpe下载下来先. Yum –y install openssl-devel wget 解压文件 编译安装 Make all Make install Make install-plugin ---监控机需要安装check_nrpe这个插件,被监控机并不需要 完成以后没有出错就可以看到以下生成的文件了 二:配置PNP [PNP是一个基于php和perl,用rrdtool将nagios采集的数据绘制图表的工具,所以安装pnp之前必须先安装php perl and rrdtool这里用yum直接来安装rrdtool,单独下载安装有很多依存关系,挺麻烦.] 我这里找到最新的版本是0.6.15 wget yum install perl-Time-HiRes ./configure --with-nagios-user=nagios --with-nagios-group=nagcmd nagios $> make all nagios $> make install nagios $> make install-webconf nagios $> make install-config nagios $> make install-init 继续编译发现有个perl modules没有发现,好像提示用来加速什么的,暂时不管它了 然后把相关后缀带sample文件变更成无sample后缀 2.创建配置文件 nagios $> cd /usr/local/pnp4nagios/etc nagios $> mv misccommands.cfg-sample  misccommands.cfg nagios $> mv nagios.cfg-sample  nagios.cfg nagios $> mv npcd.cfg-sample npcd.cfg nagios $> mv process_perfdata.cfg-sample  process_perfdata.cfg nagios $> mv rra.cfg-sample rra.cfg nagios $>  cd pages nagios $> mv web_traffic.cfg-sample web_traffic.cfg nagios $> cd ../check_commands nagios $> mv check_all_local_disks.cfg-sample  check_all_local_disks.cfg nagios $> mv check_nrpe.cfg-sample  check_nrpe.cfg nagios $> mv check_nwstat.cfg-sample  check_nwstat.cfg 4.修改 nagios 的配置文件.打开performance_data nagios $> cd /usr/local/nagios/etc nagios $> vim nagios.cfg #打开注视项: process_performance_data=1 host_perfdata_command=process-host-perfdata service_perfdata_command=process-service-perfdata 5.修改 commands.cfg nagios $> cd /usr/local/nagios/etc/objects nagios $> vim commands.cfg ##添加 # 'process-host-perfdata' command definition define command{         command_name    process-host-perfdata         command_line    /usr/local/pnp4nagios/libexec/process_perfdata.pl         } # 'process-service-perfdata' command definition define command{         command_name    process-service-perfdata         command_line    /usr/local/pnp4nagios/libexec/process_perfdata.pl         } 6. 添加小太阳模版,镶嵌在nagios页面上。 nagios $> vim templates.cfg ## 在最后添加 define host { name       host-pnp action_url /pnp4nagios/graph?host=$HOSTNAME$&srv=_HOST_ register   0 } define service { name       srv-pnp action_url /pnp4nagios/graph?host=$HOSTNAME$&srv=$SERVICEDESC$ register   0 } Pnp我就操作了折磨多 都这pnp就完成了 下边的pnp我没有操作 enable_environment_macros=1默认是开启了的 pnp4nagios有很多种工作模式,这里我们选用同步模式,想选其它模式可以看说明都有详细配置教程(不同模式配置不同) 这里我们按说明的设定方法来做 [这里先把pnp4nagios执行数据收集的文件拷贝到nagios的libexec下,方便统一命令的执行路径.] cp /usr/local/pnp4nagios/libexec/process_perfdata.pl /usr/local/nagios/libexec/ 然后在commands.cfg里面加入如下(这里是同步模式设定方法) #process-host-perfdata' command definition define command{ command_name process-host-perfdata command_line $USER1$/process_perfdata.pl -d HOSTPERFDATA } #process-service-perfdata' command definition define command{ command_name process-service-perfdata command_line $USER1$/process_perfdata.pl } 然后添加小太阳模版,镶嵌在nagios页面上 [这里有两种查看图的方法,第一种方法是你当太阳的图标的时候会在新窗口中打开图形查看,第二种方法是你只需要把鼠标移动到太阳图标上面就会自动弹出图形出来,以下两种方法你可以根据自己喜好选其中一种即可] 第一种方法在templates.cfg里面加入如下 define host { name host-pnp action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=_HOST_ register 0 } define service { name srv-pnp action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=$SERVICEDESC$ register 0 } 第二种方法按照说明加入如下 拷贝status-header.ssi到/usr/local/nagios/share/ssi/目录下面来(这一步很重要,要不然移动到太阳标记上出不来图) define host { name host-pnp action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=_HOST_' class='tips' rel='/pnp4nagios/index.php/popup?host=$HOSTNAME$&srv=_HOST_ register 0 } define service { name srv-pnp action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=$SERVICEDESC$' class='tips' rel='/pnp4nagios/index.php/popup?host=$HOSTNAME$&srv=$SERVICEDESC$ register 0 } 第二种方法最终效果图 为目标主机图标旁边添加一个小太阳标记 为相关服务添加一个小太阳标记 先做一下pnp4nagios环境测试,发现php-gd模块无效,用命令yum install php-gd安装成功以后还是不行,后来经老男孩指点用yum install php* -y安装然后重启系统成功通过, 按要求重命名install.php 做好相关配置以后请用命令重启一下nagios的服务 ok,到此总算配置好了PNP,配置了这么多有点累了,但我们还要继续,配置本章最后一个Nagios WEB管理工具叫NagiosQL(注:还有同样一个Nagios WEB管理工具叫Nconf) wget NagiosQL是一个WEB管理工具,只要把其放到下Apache即可。因为这里它要和Nagios整合到一起,为了方便管理,把其放在Nagios目录下 建立nagiosQL导出nagios配置文件的目录,并修改权限 建目录和改权限 mkdir -p /etc/nagiosql/{hosts,services,backup/{,hosts,services},import} chown -R apache:nagios /etc/nagiosql/ chmod -R 755 /etc/nagiosql chmod 777 /usr/local/nagios/nagiosql/config Nagios相关文件权限的设定 chown nagios:apache /usr/local/nagios/etc chown nagios:apache /usr/local/nagios/etc/{nagios.cfg,cgi.cfg} chown nagios:apache /usr/local/nagios/etc/* chmod 664 /usr/local/nagios/etc/{nagios.cfg,cgi.cfg} chmod 775 /usr/local/nagios/etc 设定nagios二进制文件的权限,以便其能够通过Web程序执行 chown nagios:apache /usr/local/nagios/bin/nagios chmod 750 /usr/local/nagios/bin/nagios chown -R apache.nagios /usr/local/nagios/var/spool/ chown nagios:apache /usr/local/nagios/var/rw/nagios.cmd chmod 660 /usr/local/nagios/var/rw/nagios.cmd 为apache添加nagiosQL虚拟目录 Alias /nagiosQL "/usr/local/nagios/nagiosql" < Directory "/usr/local/nagios/nagiosql"> # SSLRequireSSL Options None AllowOverride None Order allow,deny Allow from all < /Directory> vim /usr/local/nagios/etc/nagios.cfg ## Timeperiods cfg_file=/etc/nagiosql/timeperiods.cfg ## Commands cfg_file=/etc/nagiosql/commands.cfg ## Contacts cfg_file= /usr/local/nagios/etc/objects/contacts.cfg cfg_file=/etc/nagiosql/contactgroups.cfg cfg_file=/etc/nagiosql/contacttemplates.cfg ## Hosts cfg_dir=/etc/nagiosql/hosts cfg_file=/etc/nagiosql/hosttemplates.cfg cfg_file=/etc/nagiosql/hostgroups.cfg cfg_file=/etc/nagiosql/hostextinfo.cfg cfg_file=/etc/nagiosql/hostescalations.cfg cfg_file=/etc/nagiosql/hostdependencies.cfg ## Services cfg_dir=/etc/nagiosql/services cfg_file=/etc/nagiosql/servicetemplates.cfg cfg_file=/etc/nagiosql/servicegroups.cfg cfg_file=/etc/nagiosql/serviceextinfo.cfg cfg_file=/etc/nagiosql/serviceescalations.cfg cfg_file=/etc/nagiosql/servicedependencies.cfg 重新加载httpd服务和启动mysqld服务 建立nagiosql安装文件 touch /usr/local/nagios/nagiosql/install/ENABLE_INSTALLER 访问http://ip/nagiosQL进行安装 问题分享:我在访问的时候提示没有权限访问,搞了半天原来是SElinux惹的祸,修改SELinux的实时运行模式,setenforce 0 (设置SELinux 成为permissive模式)这个只是临时解决方法,优点是不需重启系统生效,但如果要彻底禁用SELinux 需要在/etc/sysconfig/selinux中设置参数selinux=0 选取中文然后点开始安装按钮 测试所需环境通过,直接按下一步即可 删除安装目录,这里使用改权限:chmod 000 /usr/local/nagios/nagiosql/install 到这里安装步骤总算结束了,下面我们还需要进行相关配置工作. 管理-域-localhost---点“修改” 按如图所示更改相应的路径即可 工具-导入数据 右边会列出一些配置文件,选择导入即可。 导入只是把配置文件内容导入到Mysql数据库,而使用其配置文件时,是一个个cfg文件,所以下面要进行写入过程 工具-nagios控制-写入检测数据-写入其他数据 检查配置文件成功 写入之后就可以看到相应的cfg文件了,查看写入是否成功,由下面的输出可以看出写入是成功滴. 修改nagios的配置文件,将原有以cfg_file开头项全部注释掉,加入上面新写入的配置文件 注释掉 加入新的配置文件路径 cfg_dir=/etc/nagiosql/hosts/ cfg_dir=/etc/nagiosql/services/ cfg_file=/etc/nagiosql/commands.cfg cfg_file=/etc/nagiosql/contactgroups.cfg cfg_file=/etc/nagiosql/contacts.cfg cfg_file=/etc/nagiosql/contacttemplates.cfg cfg_file=/etc/nagiosql/hostdependencies.cfg cfg_file=/etc/nagiosql/hostescalations.cfg cfg_file=/etc/nagiosql/hostextinfo.cfg cfg_file=/etc/nagiosql/hostgroups.cfg cfg_file=/etc/nagiosql/hosttemplates.cfg cfg_file=/etc/nagiosql/servicedependencies.cfg cfg_file=/etc/nagiosql/serviceescalations.cfg cfg_file=/etc/nagiosql/serviceextinfo.cfg cfg_file=/etc/nagiosql/servicegroups.cfg cfg_file=/etc/nagiosql/servicetemplates.cfg cfg_file=/etc/nagiosql/timeperiods.cfg 检查nagios的配置文件是否有问题,然后生重启nagios服务,至此整个搭建过程终于完成了,下一节将讲解重头戏,怎么用nagiosQL添加需要监控的主机以及启用nagios报警机制,待续~~! 监控Windows主机 nagios监控windows系统主机有三种实现方式:SNMP,NSClient++,NRPE,后面两种方式都需要在windows上安装agent,本文档只介绍使用NSClient++方式来监控Windows 被监控机Windows主机插件安装和配置 下载地址: http://nsclient.org/nscp/downloads 这里我用到的是0.3.8.zip版本,发现用0.3.9最新版本在windows server2003 sp1兼容不佳,启动不起来 解压出来然后执行安装命令 这里前面需要加-noboot参数进行安装,否则也会出问题 解压出来编辑nsc.ini,把前面的分号去掉如下图所示 在settings部分加入允许主机访问的服务器IP地址,这里要对号入座,输入你的nagios服务器的IP即可 在nsclient部分开启NSClinet的默认监听端口12489以及允许访问本机的主机名称,编辑完以后保存退出. 再用命令netstat –an 查看确认端口服务已经运行. 再到服务器运行./check_nrpe –H 要监控服务器的主机IP地址,看到如下图所示表示通过没有问题 用NagiosQL来添加要监控的主机 监督-HOST-添加 设置主机名、地址、选择模板 然后添加需要的其它服务,先添加C盘的使用情况,监督-服务-添加 总体设置状况请按如下图所示操作完成 上面只是讲解定义一个服务的方法,其实里面都已经定义好了相关要监控的服务了,所以我们可以直接调用这些服务了,想学习更多,可以点修改看看每项是怎么设定的.(想监控什么东西要靠自己多学习然后举一反三来自定义出自己想要的服务来) 为当前主机添加上面定义好的服务,(再返回到当前以定义好的主机上面来)选择"服务选项"-选择定义好的需要监控服务,其实在定义服务的时候也可以选择主机的,也可以在主机这里选择相关服务 记得需要在这里选写入配置才行,然后重启Nagios服务即可 从上到下执行一次 过一段时间就可以在Nagios界面上看到如下界面图 在图形监控界面点相应服务选项则出相应的图形监控界面. 为服务器加美化标识图标 如下图所示若设备是路由器我们就在它后面加一个图由器的图标,是服务就加服务器的图标,一眼就能区别这个设备属于什么类型,方便管理区别, [通过阅读官方文档,得知在host定义中有四个变量可选,用于指定每一个host的图标文件名,默认的存储位置是/usr/local/nagios/share/images/logos icon_image: 可以使用GIF, PNG,或者是JPG文件,推荐图像尺寸为40x40 icon_image_alt: 即为HTML语法中关于image元素的ALT属性值 vrml_image: Nagios提供使用VRML语言绘制三维图像功能,这里不要使用透明图片(PNG, GIF),最好使用JPG statusmap_image: 提供给statusmap CGI脚本使用的图片,服务器要支持GD,这个文件的类型为gd2] winServer2k3未加服务器图标之前的样子 注意主机配置文件在/etc/nagiosql/hosts目录下面 编辑需要加图标的主机配置文件,然后按如下图所示加入两行 重启nagios服务以后,可以看到图标出来了. 监控Linux主机 nagios监控linux服务器, 因为监控都是依靠插件去完成的,而监控linux主要使用NRPE插件, 首先简单介绍一下NRPE监控基础,及监控过程,然后一步步的配置一个实例实现监控linux服务器 NRPE总共由两部分组成: check_nrpe插件:运行在监控主机上 NRPE daemon:运行在远程的linux主机上(通常就是被监控机) 整个的监控过程: 当Nagios需要监控某个远程linux主机的服务或者资源情况时: 1:nagios运行check_nrpe插件,我们要在nagios配置文件中告诉它要检查什么. 2:check_nrpe插件会通过SSL连接到远程的NRPE daemon. 3:NRPE daemon会运行相应的nagios插件来执行检查本地资源或服务. 4:NRPE daemon将检查的结果返回给check_nrpe插件,插件将其递交给nagios做处理. 注意:NRPE daemon需要nagios插件和Nrpe一起安装在远程被监控linux主机上,否则,daemon不能做任何的监控. 别外因为它们间的通信是加密的SSL,所以需要安装SSL 被监控端安装NRPE和 nagios-plugins 增加一nagios用户,然后下载插件 wget 解压插件 编译安装 装完以后确认一下相关数据文件是否存在 下载nrpe wget 解压 编译安装 然后按如下图所示操作 编辑nrpe.cfg在allowed_hosts后面加上nagios服务器的IP地址. vi /etc/local/nagios/etc/nrpe.cfg 启动服务然后查看服务端口的运行状态. 设定服务自启动 验证测试NRPE 在本地测试一下自己 在服务器端做测试 配置NRPE文件根据自己的需求加入你需要监控服务,这一步非常重要,比如说你想要监控本机的SWAP分区,那里你需要在里面加入 command[check_swap]=/usr/local/nagios/libexec/check_swap –w 20% –c 10%,如果这里没有定义好,那你在服务器端会报错误:NRPE command ‘check_swap’ not defined 进入nagiosQL管理控制台点 命令-定义-添加 命令:check_nrpe 命令行:$USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ 现在开始添加需要监控的linux主机 监督-host-添加 添加主机相关信息及模板 添加一个自定义服务 监督-服务-添加 配置名称:check_swap 服务描述:Linux_swap 检查命令:check_nrpe $ARG1$:check_swap 相当于在服务器端执行这样一条命令,所以可以在添加服务之前先在服务器端执行一下这样的一条命令,确认数据是否可以正常收集得到,想监控什么就想添加相应服务进去. [cpu使用率服务:$ARG1$:check_load 在线用户服务:$ARG1$:check_users 进程数量服务:$ARG1$:check_total_procs 第一个分区使用情况服务:$ARG1$: check_sda1 注意:这些服务必须在被监控的linux客户端的nrpe.cfg文件中得到定义] 我们这里多加一个ping检查服务 记住每多添加一个服务,请在被监控的linux客户端的nrpe.cfg文件中要定义此命令,在控制台设定的参数和定义命令的参数要一致,搞不明白请仔细看上图和下图对比应该知道怎么做. 每多添加一条命令都需要重启nrpe服务,以使配置立即生效 加入第一个分区使用情况,注意有些硬盘用的是hda,有些是sda,[hd(n)是IDE接口的, sd(n)是SCSI接口的] 如果你不确定你所使用的是哪种接口的硬盘,请用命令ls /dev/查看一看,看到我这里用的是SCSI接口的硬盘 添加更多服务这里我就举以上几个例子,要靠自己多学习举一反三哈, 添加完成记得要点写入配置哈 然后在主机端关联刚才自定义好的服务 写入配置文件 最后在工具-nagios控制 检查写入的配置文件全部执行一次 最后在nagios Web控制台可以看到如下表示成功了. 摘录一些参数信息供大家参考 如果丢包率到达20%则报warning,到达60%则报critical: check_ping!100.0,20%!500.0,60% 如果可用空间低于20%会报Warning,如果可用空间低于10%则报Critical: check_local_disk!20%!10%!/ 监测远程主机当前的登录用户数量,如果大于20用户则报warning,如果大于50则报critical: check_local_users!20!50 监测远程主机当前的进程总数,如果大于250进程则报warning,如果大于400进程则报critical: check_local_procs!250!400!RSZDT 监测远程主机swap文件系统使用量,如果swap可用空间低于20%则报warning,低于10%则报critical: check_local_swap!20!10 “-H 192.168.1.220”定义目标主机的地址,-w说明后面的一对值对应的是“WARNING”状态,“80%”是其临界值。“-c 500.0,100%” 其中“-c”说明后面的一对值对应的是" CRITICAL",“100%”是其临界值。“-p 1”说明每次探测发送一个包 check_ping -H 192.168.1.220 -w 300.0,80% -c 500.0,100% -p 1 检查http的80端口 check_http!80 用法: check_nt -H <hostname> -p <port> -v INSTANCES -l <counter object> < counter object> 是一个windows性能对象计数 (eg. Process), 如果它是两个词,它应该引号括起来,返回的结果将是一个逗号分隔的对象 check_nt用法举例: check_nt -H 192.168.1.2 -p 12489 -v CPULOAD -l 60,90,95 //显示最后60分钟waring为90%,critical为95
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服