nagios网络监控

nagios网络监控

ID:39466479

大小:3.80 MB

页数:48页

时间:2019-07-04

上传者:U-2437
nagios网络监控_第1页
nagios网络监控_第2页
nagios网络监控_第3页
nagios网络监控_第4页
nagios网络监控_第5页
资源描述:

《nagios网络监控》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

nagios网络监控Nagios是什么:Nagios是一款开源的免费网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置,打印机等。在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。nagios是功能强大的监控软件,主要用来监控网络设备的状态(比如:主机的资源状态);适合于:对大量的服务器进行监控,判断其负载或服务是否正常,发生异常能通过邮件、短信报警。特别注意:流量监控不是他的强项,流量监控建议使用cacti.可以绘制非常直观的图形nagios能监视什么:nagios可以监控:1、主机是否宕机(通过ping命令,如果ping不通会认为主机属于宕机状态,但不影响所监控的其他服务);2、服务器资源(cpu使用率、硬盘剩余空间等);3、网络服务(smtppop3http);4、监控网络设备(路由器、交换机等。)一、RHEL6系统上部署Nagios:(禁用selinux功能)系统环境:RHEL6,在nagios主机上监控mysql服务器nagios主机:192.168.10.100mysql主机:192.168.10.101操作步骤:1、安装编译所需的软件包:如下图所示:(倘若不提前安装这些包的话一会编译的时候会提示出错的。)2、创建运行nagios服务的用户注:useraddnagios#创建运行nagios服务的用户usermod-Gnagiosapache#使apache用户对nagios目录具有写权限,不然web页面操作失败.3、nagios软件安装释放nagios源码包,进行编译前的预备置:编译并安装nagios及相关操作,如下图所示:注:makeinstall//安装主程序,CGI和HTML文件makeinstall-init//在/etc/rc.d/init.d安装启动脚本 makeinstall-commandmode//配置目录权限makeinstall-config//安装示例配置文件makeinstall-webconf//安装nagios的web接口,会在/etc/httpd/conf.d目录中创建nagios.conf文件。注:若在RHEL6X32位系统中安装nagios-cn-3.2.3.tar.bz2要先执行makeclean操作,然后再执行./configure和makeall等操作,否则执行makeall时会报如下错误。验证安装是否成功:验证程序是否被正确安装,我们切换目录到安装路径(默认安装目录是/usr/local/nagios),看是否存在etc、bin、sbin、share、var、这五个目录,如果存在说明程序被正确安装到系统了下面我们对这五个目录功能做简要说明:bin:nagios执行程序所在的目录,nagios文件即为主程序。etc:nagios配置文件目录,当makeinstall-config完以后etc下面就会出现默认的配置文件。sbin:nagiosCGI文件所在目录,这里存放的是一些外部命令执行程序。share:nagios网页文件目录,存放一些html文件。var:nagios日志文件、pid等文件目录。4、安装nagios-plugins插件:nagios-plugins是nagios官方提供的一套插件程序,nagios监控主机的功能其实都是通过执行插件程序来实现的。释放nagios-plugins源码包并进行编译前的预备置编译并安装nagios-plugins插件:这个装完之后会在/usr/local/nagios/libexec文件夹中多出一些文件,这里存放nagios所要用到的所有插件.安装后所有插件命令将被安装到/usr/local/nagios/libexec目录下到此nagios就安装完毕,但还需修改nagios的配文件预备知识:联系人contact:出了问题向谁报告?一般当然是系统管理员了监控时间段timeperiod:7X24小时不间断还是周一至周五,或是自定义的其他时间段被监控主机Host:所需要监控的服务器,当然可以是监控机自己监控命令command:nagios发出的哪个指令来执行某个监控,这也是自己定义的被监控的服务Service:例如主机是否存活,80端口是否开, 磁盘使用情况或者自定义的服务等注意:多个被监控主机可以定义为一个主机组,多个联系人可以被定义为一个联系人组5、修改配置文件:修改nagios的主配置文件nagios.cfgcfg_file=/usr/local/nagios/etc/objects/hosts.cfg#新建hosts.cfg文件,存放主机与主机组定义cfg_file=/usr/local/nagios/etc/objects/services.cfg#新建services.cfg文件,存放服务与服务组定义#cfg_file=/usr/local/nagios/etc/objects/localhost.cgf#加“#”注释localhost.cfg修改后结果如下图所示:将localhost.cfg文件注释掉,添加有关hosts.cfg和services.cfg文件定义。注:在/usr/local/nagios/etc/objects目录下存放一些以.cfg为后缀的文件timeperiods.cfg//监控时间段配置文件如下图所示定义了一个监控时间段,它的名称是24x7(时间段的名称,这个地方不要有空格),监控的时间是每天全天24小时commands.cfg//命令配置文件图略contacts.cfg//联系人配置文件如下图所示定义了一个联系人,联系人的名称是nagioscontact,并定义了一个联系人组,联系人组名是admins,包含一个成员nagioscontact下面列出其中重要的几个选项做说明: service_notification_period24x7服务出了状况通知的时间段,这个时间段就是上面在timeperiods.cfg中定义的.host_notification_period24x7主机出了状况通知的时间段,这个时间段就是上面在timeperiods.cfg中定义的service_notification_optionsw,u,c,r当服务出现w-报警(warning),u-未知(unkown),c-严重(critical),或者r-从异常情况恢复正常,在这四种情况下通知联系人host_notification_optionsd,u,r当主机出现d-当机(down),u-返回不可达(unreachable),r-从异常情况恢复正常,在这3种情况下通知联系人service_notification_commandsnotify-service-by-email服务出问题通知采用的命令notify-service-by-email,这个命令是在commands.cfg中定义的,作用是给联系人发邮件,还可以飞信发手机短信给联系人,但需要安装飞信程序。.host_notification_commandsnotify-host-by-email同上,主机出问题时采用的也是发邮件和飞信的方式通知联系人。emailyahoon@test.com很明显,联系的人email地址Pager137XXXXXXXX联系人接收报警信息电话可以将多个联系人组成一个联系人组definecontactgroup{contactgroup_nameadmins//联系人组的名称,同样不能空格aliasNagiosAdministrators//别名membersnagioscontact//组的成员,来自于上面定义的联系人,如果有多个联系人则以逗号相隔templates.cfg//模板配置文件图略/usr/local/nagios/etc/cgi.cfg//它的作用是控制相关cgi脚本其他配置文件以实际情况来进行配置发现在/usr/local/nagios/etc/objects目录中并不存在hosts.cfg和services.cfg文件,这两个文件需要手工创建。6、创建hosts.cfg文件:#vi/usr/local/nagios/etc/objects/hosts.cfg内容如下: 注:definehost{uselinux-server//定义使用的模板host_namenagios//被监控主机的名称,最好别带空格aliasnagios//别名address127.0.0.1//被监控主机的IP地址check_commandcheck-host-alive//监控的命令check-host-alive,这个命令来自commands.cfg,用来监控主机是否存活max_check_attempts5//检查失败后重试的次数check_period24x7//检查的时间段24x7,同样来自timeperiods.cfg中定义notification_interval10//提醒的间隔,每隔10秒提醒一次notification_period24x7//提醒的周期,24x7,同样来自timeperiods.cfg中定义contact_groupsadmins//联系人组,上面在contactgroups.cfg中定义的adminsnotification_optionsd,u,r//指定什么情况下提醒}主机组并不是必须的,这是配合nagios的监控页面的显示通过简单的复制修改就可以定义多个主机了.后面我们会加上被监控主机mysql7、创建services.cfg文件:(这里只是简单介绍,也可在services.cfg文件中添加hosts.cfg文件中的参数)#vi/usr/local/nagios/etc/objects/services.cfg内容如下: check_local_users!20!50//监测远程主机当前的登录用户数量,如果大于20用户则报warning,如果大于50则报criticalcheck_local_disk!20%!10%!///如果可用空间低于20%会报Warning,如果可用空间低于10%则报Critical:check_local_procs!250!400!RSZDT//监测远程主机当前的进程总数,如果大于250进程则报warning,如果大于400进程则报critical 服务组并不是必须的,这是配合nagios的监控页面的显示校验nagios配置文件的正确性:/usr/local/nagios/bin/nagios-v/usr/local/nagios/etc/nagios.cfg若显示如下图所示则表示没有错误nagios监控页面访问用户和密码:注:安装好nagios后会在apache安装目录中的conf.d目录存在一个nagios.conf文件,这个文件中定义了有关访问nagios的web页面的定义。在httpd.conf文件使用Includeconf.d/*.conf配置项将nagios.conf文件的定义包含到httpd.conf文件中。执行htpasswd命令添加一个访问nagios页面的授权用户启动httpd和nagios服务并设置开机自动启动#servicenagiosstart#启动nagios和httpd服务#servicehttpdstart#启动httpd服务#chkconfighttpdon#chkconfignagioson注意:如果你开启了selinux需要配置如下二步:chcon-R-thttpd_sys_content_t/usr/local/nagios/sbin/chcon-R-thttpd_sys_content_t/usr/local/nagios/share/访问nagios监控页面,输入上面添加的用户名和密码http://IP/nagios(注意nagios服务器上有关防火墙的设置)显示结果如下: 二、监控mysql服务运行(192.168.10.101禁用selinux功能)1、mysql主机上运行有mysql服务:安装mysql的服务器软件包(这里我是以RPM类型包安装mysql服务器)启动mysqld服务并设置为开机自动启动#servicemysqldstart#chkconfigmysqldon2、在mysql服务器上创建监控检测帐户:3、在nagios主机上检测是否可以连接mysql主机上的mysql服务(注意要在mysql主机设置防火墙允许3306端口的通信)4、在nagios主机上添加对mysql服务监控的定义:#vi/usr/local/nagios/etc/objects/hosts.cfg添加如下行#vi/usr/local/nagios/etc/objects/services.cfg添加如下行 #vi/usr/local/nagios/etc/objects/commands.cfg添加如下行(注:check_mysql命令必须存在于/usr/local/nagios/libexec目录中)/usr/local/nagios/bin/nagios-v/usr/local/nagios/etc/nagios.cfg#检测无误后重载nagiosservicenagiosreload访问ngios的web页面:如下所示,能过监控发现MYSQL服务运行正常。如果访问nagios页面报下图错误 解决方法:修改/usr/local/nagios/etc/cgi.cfg文件三、Nagios通过NRPE监控远程主机系统状况(如msyql主机)NRPE总共由两部分组成:check_nrpe插件:运行在监控主机上(即nagios主机)NRPEdaemon:运行在远程的linux主机上(通常就是被监控机)整个的监控过程:当Nagios需要监控某个远程linux主机的服务或者资源情况时:1:nagios运行check_nrpe插件,我们要在nagios配置文件中告诉它要检查什么.2:check_nrpe插件会通过SSL连接到远程的NRPEdaemon.3:NRPEdaemon会运行相应的nagios插件来执行检查本地资源或服务.4:NRPEdaemon将检查的结果返回给check_nrpe插件,插件将其递交给nagios做处理.注意:NRPEdaemon需要nagios插件和Nrpe一起安装在远程被监控linux主机上,否则,daemon不能做任何的监控.别外因为它们间的通信是加密的SSL,所以需要安装SSL这个插件需要openssl的支持,没有就直接安装一下(yuminstallopenssl-devel)1、远程主机设定(即被监控主机设定)这里仍然对mysql服务器进行监控,在mysql主机上进行如下操作:被监控端只需安装nagios-plugins和nrpe就可以的创建nagios用户: 编译安装nagios-plugins插件上:安装xinetd软件包:编译安装nrpe软件包:注:makeinstall-daemon//安装守护进程makeinstall-daemon-config//安装配置文件makeinstall-xinetd  //安装xinetd脚本配置nrpe,添加nrpe服务vi/etc/xinetd.d/nrpe修改如下行only_from=127.0.0.1192.168.10.100//在后面增加监控主机(即nagios服务器)的地址192.168.10.100,以空格间隔//改后      only_from    =127.0.0.1192.168.10.100如下图所示:编辑/etc/services文件,增加NRPE服务vi/etc/services在该文件尾部添加如下行nrpe5666/tcp#nrpe服务监听端口修改后如下图:vi/usr/local/nagios/etc/nrpe.cfg修改如下行 将下图中的#注释去掉并进行修改修改后效果如下图:注:command[check_disk]=/usr/local/nagios/libexec/check_disk-w20%-c10%-p/#根分区监测重启xinetd服务  ,查看NRPE是否已经启动  可以看到5666端口已经在监听了,并确保防火墙允许此端口附录:/usr/local/nagios/libexec/check_nrpe–h查看这个命令的用法  可以看到用法是check_nrpe–H被监控的主机-c要执行的监控命令  注意:-c后面接的监控命令必须是nrpe.cfg文件中定义的.也就是NRPEdaemon只运行nrpe.cfg中所定义的命令 查看NRPE的监控命令  vim/usr/local/nagios/etc/nrpe.cfg  //内容如下:#Thefollowingexamplesusehardcodedcommandarguments...  command[check_users]=/usr/local/nagios/libexec/check_users-w5-c10  command[check_load]=/usr/local/nagios/libexec/check_load-w15,10,5-c30,25,20  command[check_hda1]=/usr/local/nagios/libexec/check_disk-w20-c10-p/dev/hda1  command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs-w5-c10-sZ  command[check_total_procs]=/usr/local/nagios/libexec/check_procs-w150-c200  注意:其他命令需要自行添加也就是check_nrpe的-c参数可以接的内容,等号(=)后面是实际执行的插件程序(只这与commands.cfg中定义命令的形式十分相似,不过是写在了一行).也就是说check_users就是等号后面/usr/local/nagios/libexec/check_users-w5-c10的简称.  上面这5行定义的命令分别是检测登陆用户数,cpu负载,hda1的容量,僵尸进程,总进程数.各条命令具体的含义见插件用法(执行”插件程序名–h”)  如:由于-c后面只能接nrpe.cfg中定义的命令,也就是说现在我们只能用上面定义的这五条命令.可以在本机实验一下.执行   /usr/local/nagios/libexec/check_nrpe-Hlocalhost-ccheck_users  /usr/local/nagios/libexec/check_nrpe-Hlocalhost-ccheck_load  /usr/local/nagios/libexec/check_nrpe-Hlocalhost-ccheck_hda1  /usr/local/nagios/libexec/check_nrpe-Hlocalhost-ccheck_zombie_procs  /usr/local/nagios/libexec/check_nrpe-Hlocalhost-ccheck_total_procs  1、监控主机设置(即nagios服务器)编译安装nrpe软件包:执行下列命令,如能看到下图输出说明连接正常。/usr/local/nagios/libexec/check_nrpe-H192.168.10.101#vi/usr/local/nagios/etc/objects/commands.cfg添加如下行附录:上图含义如下  command_namecheck_nrpe  定义命令名称为check_nrpe,在services.cfg中要使用这个名称.command_line$USER1$/check_nrpe-H$HOSTADDRESS$-c$ARG1$  用$USER1$代替/usr/local/nagios/libexec这是定义实际运行的插件程序.这个命令行的书写要完全按照check_nrpe这个命令的用法.不知道用法的就用check_nrpe–h查看;-c后面带的$ARG1$参数是传给nrpedaemon执行的检测命令,之前说过了它必须是nrpe.cfg中所定义的那5条命令中的其中一条.注:比如想要监控mysql主机(192.168.10.101)的SWAP分区,你需要mysql主机的nrpe.cfg面加入重启xinetd服务。在监控主机上执行:如果这里没有定义好,那你在服务器端会报错误:NRPEcommand‘check_swap’notdefined在监控主机(即nagios服务器)的/usr/local/nagios/etc/objects/services.cfg文件中添加要监控的资源,如下图所示: 保存退出并执行下列命令检查是否有错误:最后重新加载nagios.cfg文件。通过浏览器访问nagios的web页面,查看新添加的监控资源(swap信息)附录:在services.cfg中使用check_nrpe的时候要用!带上这个参数 #vi/usr/local/nagios/etc/objects/services.cfg添加如下行/usr/local/nagios/bin/nagios-v/usr/local/nagios/etc/nagios.cfg#检测无误后重载nagiosservicenagiosreload注:defineservice{   usegeneric-service//使用的模板      host_name          mysqlhost//被监控的主机名,这里注意必须是linux且运行着nrpe,而且必须是hosts.cfg中定义的      service_description    check-disk  //监控项目的名称      check_command        check_nrpe!check_disk  //监控命令是check_nrpe,是在commands.cfg中定义的,带的参数是check_disk,是在nrpe.cfg中定义的        max_check_attempts    5  //最大检测尝试次数      normal_check_interval  3  //正常检测间隔时间      retry_check_interval  2  //重试检测间隔时间      check_period        24x7  //监控周期设置      notification_interval  10  //通知间隔      notification_period    24x7  //通知周期设置      notification_options  w,u,c,r  //定义什么状态时报警      contact_groups      sagroup  //报警联系组      }  访问ngios的web页面:如下所示,能过监控发现MYSQL系统的运行情况。四:Nagios整合飞信(fetion)1、飞信机器人的安装:注:由于发行版本不同,可能会覆盖您机器中的核心库,导致严重系统问题,在解压之前确保没有文件重复执行fetion程序看是否可以发送信息(若密码包含特殊字符,要用单引号括起来) 报错了,根据提示的错误信息需要安装/lib/ld-linux.so.0软件包,通过yum安装继续执行fetion程序看是否可以发送信息仍然报错,根据提示的错误信息需要安装libstdc++.so.6软件包,通过yum安装继续执行fetion程序看是否可以发送信息仍然报错,根据提示的错误信息需要安装libgssapi_krb5.so.2软件包,通过yum安装继续执行fetion程序看是否可以发送信息仍然报错,根据提示的错误信息需要安装libz.so.1软件包,通过yum安装继续执行fetion程序看是否可以发送信息,若未提示错误,则正确,但第一次发送飞信时要求输验证码,如下图所示:linux系统最好切换到图形环境,在飞信程序所在的/usr/local目录下会生成以你手机号命名的jpg图片文件,上面存放着验证码,可以把这个文件拷贝到桌面上即可看到验证码,输入验证码即可。第一次调用飞信脚本时会要求你输入验证码,以后再发飞信就不需要验证码了。如下图所示:注:要给其他手机发飞信则接收飞信的手机要在发送信息的好友列表中。2、在nagios的commands.cfg 配置飞信发送报警命令: vim/usr/local/nagios/etc/objects/commands.cfg添加如下信息:在nagios的contacts.cfg 文件中修改联系人选项:在definecontact{...}部分中增加如下一行pager13521204267;#接收飞信信息的手机号码并修改service_notification_commands和host_notification_commands配置项增加飞信报警方式。如下图所示:在hosts.cfg和services.cfg文件添加有关发通知的联系人信息和间隔等。执行/usr/local/nagios/bin/nagios-v/usr/local/nagios/etc/nagios.cfg校验后重新载入nagios配置servicenagiosreload使用说明:以下参数提供登录用的账号密码(三种方式,手机号-密码飞信号-密码文件--索引)--mobile=[手机号]登录手机号--sid=[飞信号]登录飞信号 --pwd=[密码]登录密码--config=[文件名]存储手机号、密码的文件。--index=[索引号]索引以下参数提供接收者--to=[手机号/飞信号/URI]接收消息的手机号/飞信号/URI.如果知道对方URI,则只需自己在对方好友列表,无需对方在自己好友列表就能发送,支持多个号码,中间用,逗号分隔--msg-utf8=[信息]发送的消息,UTF8编码--msg-gb=[信息]发送的消息,GB编码--file-utf8=[文件utf8格式]发送文件内容--file-gb=[文件gb格式]发送文件内容--msg-type=[0/1/2]发送消息类型:普通消息长消息智能短信--query-cmcc-no查询移动公司手机段五:用PNP绘制历史曲线:Nagios的性能分析图表(此安装nagios主机上进行)Nagios监控的侧重点在“此时”服务是否正常,是一个瞬时状态。通过对这个状态的监控和告警,管理员可以第一时间对主机或者服务的故障做处理。但是我们往往也非常关心主机的性能以及服务的响应时间等情况,这些情况是一个持续的变化曲线,并非一个实时的值,如果通过查看日志数据来分析的话,既繁琐又抽象,所以,我们希望Nagios可以帮我们做这份工作,然后将报表提交给我们,这样就非常方便了。这就是需要用到的Nagios的相关开源项目——PNPPnp是一个基于php和perl,用rrdtool将nagios采集的数据绘制图表的工具,所以安装pnp之前必须先安装php、perl和rrdtool1、安装php、perl相关软件包2、安装rrdtool:安装rrdtool之前确保安装了这些库zliblibpngfreetypelibart_lgpl,如下图所示:安装rrdtool时必须要安装cgilib这个库,以下是正确的安装方法:安装rrdtool绘图工具: 释放rrdtool软件包并进行编译前的配置编译并安装rrdtool3、安装pnp释放pnp软件包并进行编译前的配置注意:./configure完成后会出现RRDsPerlModules:***NOTFOUND***,说RRDsPerlModules在大量安装时可以加速,暂忽略之,继续如果使用加速功能,用下面的命令:根据提示需要继续编译并安装pnp,分别执行以下命令:makeallmakeinstallmakeinstall-configmakeinstall-init安装结束之后,再去检查一下Nagios的插件目录(libexec),就会发现多了一个名为“process_perfdata.pl”的脚本。让apache的首页默认页支持php格式,编辑httpd.conf,在DirectoryIndex后面加上index.php:重启httpd服务访问http://localhost/nagios/pnp/index.php?host=localhost能看到图形,如果nagios尚未采集数据,看到可能是下面的样式 4、修改nagios.cfg文件,将绘图功能加入nagios首先要说明一下Nagios提供的数据接口,也就是PNP的数据来源。在定义host或service中都有一个定义项,名为process_perf_data,其值可以定义为0或1,其作用是是否启用Nagios的数据输出功能。如果你将此项赋值为1,那么Nagios就会将收集的数据写入到某个文件中,以备提取。所以如果你想让Nagios将数据输出的话,首先要将Nagios的主配置文件nagios.cfg中相关的配置修改,修改结果如下:确保下图中的值为1将下图中的配置项前的#去掉:其他修改参照下图所示修改。编辑commands.cfg,将原来的command_line后的内容替换为下图的内容(下图中的配置项默认存在,只需修改即可): 编辑templates.cfg添加pnp修改hosts.cfg和services.cfg中添加在templates.cfg文件中定义的模板:host-pnp、srv-pnp部分修改如下图所示:配置pnp重载nagios.cfg配置文件/etc/init.d/nagiosreload访问nagios页面。就可以在nagios的每项监控项目上看到小太阳了. 当nagios获取到数据以后,点击红色的太阳图标就能看到绘图曲线了上图右侧可以看到绘图的时间范围——Timeranges,最短4小时。但有时我们需要查看更短时间范围的曲线时,默认的页面就办不到了,需要手工修改一下配置文件:/usr/local/nagios/etc/pnp/config.php在配置里增加30分钟和1小时、2小时的时间间隔.此外,配置文件的第86行为默认打开时以哪个时间范围显示图表。 $conf['overview-range']=1;按上面的配置,默认打开时,图表的时间范围是1小时内的。可酌情修改。六:整合cacti和nagiosCacti和Nagios是现在使用比较多的网络监控软件了,对于这两款监控软件的区别,应该说是侧重点的不同。Cacti比较着重于直观数据的监控,易于生成图形,用来监控网络流量、cpu使用率、硬盘使用率等可以说在合适不过。而Nagios则比较注重于主机和服务的监控,并且有很强大的发送报警信息的功能。把两者结合起来,既可以使报警机制高效及时,又可以很容易的查看各项数据的情况1、部署cacti监控平台:Cacti是一款使用PHP语言开发的性能与流量监测工具,监测的对象可以是linux或windows服务器,也可以是路由器、交换机等网络设备,主要基于snmp协议来搜集CPU占用、内存使用、运行进程数、中间磁盘空间、网卡流量等种数据。Cacti的运行需要AMP(Apache+MySQL+PHP),RRDTool,net-snmp。所以应提前安装好可用的apache、mysql、php网站平台,以及net-snmp、rrtool等支持软件,然后进行cacti的部署。AMP环境搭建:以使用RHEL6系统光盘中的rpm包构建LAMP环境,所需安装的的要软件包如下所述httpd、mysql、php、perl、unixODBC相关软件包,建议通过yum方式安装。如下图所示:安装后,配置并启动mysqld、httpd、服务,确保LAMP平台工作正常。 测试LAMP平台是否正常工作测试php与apache的协同工作在网页文档目录中建立测试网页文件test.php内容如下:在浏览器中访问http://web服务器的IP/test.php,出现如下内容则表示正确测试php与mysql的协同工作在网页文档目录中建立测试网页文件testdb.php内容如下:在浏览器中访问http://web服务器的IP/testdb.php,出现如下内容则表示正确至此LAMP平台搭建完毕安装net-snmp-utils软件包Cacti平台通过SNMP协议采集监测数据,因此需要用到snmpget、snmpwalk等SNMP数据采集工具,这些工具由net-snmp-utils软件包提供安装rrdtool软件包参考前面nagios+pnp配置中有关rrdtool软件安装(略)安装cacti源码包:将下载的cacti源码包释放至WEB服务器的网面目录,并安装相应的补丁文件。如下图所示: 添加一个用来读写监测数据的用户账号(如:cactiuser),并调整子目录rra/、log/的属主或权限,以便正常读取及写入数据创建用于cacti监测平台的数据库,并授权一个数据库用户(如:cactiuser),然后使用cacti源码目录下的cacti.sql脚本,导入预设的各种数据表上述操作中,创建cactidb库时将默认的字符集编码定为utf8,便于支持中文,导入预设库时,最好以之前授权的数据库用户cactiuser执行。调整cacti配置文件Cacti的配置文件位于源码目录中的include/文件夹下,名称为config.php。要使cacti系统能够正确访问并使用数据库,必须修改config.php文件,确保数据库连接参数正确无误。修改后的内容如下:初始化cacti系统在浏览器中访问http://web服务器IP/cacti,初次访问时将会自动跳转至cacti安装指南界面,如图所示: 单击”finish”按钮即可完成初始化安装,接下来自进入cacti系统的登录界面。如下图所示:(登录名与密码默认均为admin) 登录成功后会进入cacti的WEB管理平台:为了在监测图像中正常显示中文,还需要设置RRDtool所使用的中文字体路径,通过左侧栏中的“设置”链接,找到“路径”选项卡中“RRDtool默认字体路径”如下图所示,将字体路径设置为/usr/share/fonts/zysong.ttf,点击右下方的“保存”即可。注:要事先将从网上下载下来的zysong.ttf字体文件复制到/usr/share/fonts目录中被监控主机的配置(如mysql服务器:192.168.10.101) 无论是交换机、路由器还是linux或windows服务器,只要正确支持snmp协议,并以许cacti服务器采集数据,就能够进行集中监控了。下面仅在linux服务器中启用SNMP支持并设置共同体名的简单方法。Linux被控主机的设置在被监控主机上需要安装net-snmp、lm_sensors软件包,然后适当修改配置文件/etc/snmp/snmpd.conf,并启动snmpd服务即可。Snmpd服务默认在udp协议的161端口响应SNMP查询。(注意防火墙要允许161端口的通信)修改并保存退出,内容如下:192.168.10.100对应cacti服务器的地址(默认是default),表示允许查询本机数据;public表示SNMP共同体名称,用来识别及验证,有点类似于密码。All表示开放所有的SNMP查询权限(默认是systemview)去掉开头的注释符号,以便支持各种查询访问最后启动snmpd服务至此被监控端配置完成在cacti服务器上使用WEB控制台添加被监控主机和要监测的项目并生成图像。(此过程略,请参考RHEL5安全与网关中有关cacti的设置)定期采集监测数据Cacti系统通过poller.php页面来采集监测数据,为了获得持续稳定的数据,应结合计划任务定期时行采集。查看监测结果 至此cacti监控平台配置完成。Cacti系统支持插件扩展,允许自定义图像模板和数据查询,从而能够灵活满足更加多样多化的监测需求,下面通过安装及使用monitor、thold插件上。其中monitor插件用来直观地显示各主机的运行状态,状态异常时还能够发出声音报警;thold插件可以对被监测的项目设置阈值,当达到阈值时及时发送报警邮件。在使用这些插件匠前,应该先安装PA(pluginarchitecture,插件结构)补丁包。导入补丁表、安装补丁文件:安装monitor、thold插件:调整cacti配置以识别插件:修改config.php文件。在NagiosURL: http://nagios服务器的IP/nagios/保存就可以了。至此安装就完成了重新启动mysqlhttpdndonagiosservicemysqldrestartservicehttpdrestart/usr/local/nagios/bin/ndo2db-3x-c/usr/local/nagios/etc/ndo2db.cfg如果ndo2db已经启动,则按下面的方法重启ndo2db servicenagiosrestart 执行tail-20/var/log/messages##查看其中是否有错误出现。如无报错请继续访问http://yourserver/cacti/选择npc标签就可以看到nagios所检测的主机信息,唯一不足的是我打开这个页面的速度有些慢.至此cacti与nagios整合完毕七:安装nagios的WEB管理工具nagiosQLNagiosQL是一个基于Web方式的Nagios配置管理工具,它使用PHP语言开发,可运行在Apache下,后台使用Mysql数据库。同时,NagiosQL也是一个开源软件。如果你使用过Nagios,那么你一定感知到了它的强大监控功能,以及它的可扩展性。然而,它的监控配置信息都存放于文件中,配置和修改都需要手工编辑文件,这样十分不便,尤其当监控的内容增多时,问题就更加明显。NagiosQL就是一款解决此类问题的软件,它提供了可视化的配置环境(基于Web方式)。搭建web环境:1、释放nagiosQL软件包NagiosQL是一个WEB管理工具,只要把其放到下Apache即可。因为这里它要和Nagios整合到一起,为了方便管理,把其放在Nagios目录下 2、建立nagiosQL导出nagios配置文件的目录,并修改权限Nagios相关文件权限的设定设定nagios二进制文件的权限,以便其能够通过Web程序执行3、添加nagiosQL虚拟目录#vi/etc/httpd/conf/httpd.conf添加如下代码保存退出servicehttpdrestart#重启服务servicemysqldrestart建立nagiosql安装文件访问http://yourIP/nagiosQL进行安装#注意是大写的QL选择中文后开始安装 NagiosQLInstallation:检查前提条件,如下图:单击下一步 创建数据库后都显示通过、完成,则已经顺利安装了nagiosQL,点击右下角-完成下面要求删除安装目录,需要进行rm-rf/usr/local/nagios/nagiosql/install/左边菜单选择管理-域,在右边域管理中点击localhost功能中的图标进行修改下面请按如图所示更改相应的路径即可Nagios基目录*/usr/local/nagios/etc/导入路径/etc/nagiosql/import/Nagios命令文件/usr/local/nagios/var/rw/nagios.cmdNagios执行文件/usr/local/nagios/bin/nagiosNagios进程文件/usr/local/nagios/var/nagios.lockNagios配置文件/usr/local/nagios/etc/nagios.cfg 最后单击保存工具-导入数据右边会列出一些配置文件,按ctrl键全部选择右边的.cfg文件--导入。 导入只是把配置文件内容导入到Mysql数据库,而使用其配置文件时,是一个个cfg文件,所以下面要进行写入过程工具--Nagios控制--写入检测数据和写入其他数据依次顺序执行写入之后就可以看到相应的cfg文件了,查看写入是否成功,由下面的输出可以看出写入是成功的。修改nagios的配置文件,将原有以cfg_file开头项全部注释掉,加入上面新写入的配置文件有关在nagios.cfg文件注释原有以cfg_file开头项可以在nagiosql页面选择“工具”— “nagios配置”将原有以cfg_file开头项用#注释,如下图所示:加入新的配置文件路径cfg_dir=/etc/nagiosql/hosts/cfg_dir=/etc/nagiosql/services/cfg_file=/etc/nagiosql/commands.cfgcfg_file=/etc/nagiosql/contactgroups.cfgcfg_file=/etc/nagiosql/contacts.cfgcfg_file=/etc/nagiosql/contacttemplates.cfgcfg_file=/etc/nagiosql/hostdependencies.cfgcfg_file=/etc/nagiosql/hostescalations.cfgcfg_file=/etc/nagiosql/hostextinfo.cfgcfg_file=/etc/nagiosql/hostgroups.cfgcfg_file=/etc/nagiosql/hosttemplates.cfgcfg_file=/etc/nagiosql/servicedependencies.cfgcfg_file=/etc/nagiosql/serviceescalations.cfgcfg_file=/etc/nagiosql/serviceextinfo.cfgcfg_file=/etc/nagiosql/servicegroups.cfgcfg_file=/etc/nagiosql/servicetemplates.cfgcfg_file=/etc/nagiosql/timeperiods.cfg在nagiosql页面选择“工具”—“nagios配置”将上面的内容复制到nagios.cfg文件中,如下图所示: 单击“保存”按钮,保存nagios.cfg文件的修改。然后单击工具--Nagios控制,在右侧单击检查配置文件后面的“执行”,进行文件的检查。检测结果如下图所示:由于我这里是先前已经对nagios的相关配置文件进行修改(如contact.cfg、hosts.cfg、services.cfg、commands.cfg等)。所以在检测时会报如下相关错误解决方法:将下列内容注释掉:在servicetemplates.cfg文件修改有关srv-pnp的定义,修改结果如下图:再次单击工具--Nagios控制,在右侧单击检查配置文件后面的“执行”,进行文件的检查。检测结果如下图所示根据报错提示解决问题 觖决方防法:修改hosttemplates.cfg文件,修改后的结果如下图所示:修改mysqlhost.cfg文件,在mysqlhost.cfg文件中的use后添加host-pnp再次单击工具--Nagios控制,在右侧单击检查配置文件后面的“执行”,进行文件的检查。根据检测结果解决问题,基本和上面问题解决方法类似,即在主机监控文件的use后添加host-pnp在服务监控文件的use后添加srv-pnp单击工具--Nagios控制,在右侧单击检查配置文件后面的“执行”,进行文件检测,直到不提示报错为止。最后重启nagios服务: 建议在nagios安装好后就布署nagiosql,这样就不会出现上述的问题了。通过nagiosql添加要监控的主机:以监控Linux主机(如mysql服务器为例)例如:加入第一个分区使用情况,注意有些硬盘用的是hda,有些是sda如果你不确定你所使用的是哪种接口的硬盘,请用命令ls/dev/查看一看,看到我这里用的是SCSI接口的硬盘1、进入nagiosQL管理控制台点命令-定义-添加命令:check_nrpe命令行:$USER1$/check_nrpe-H$HOSTADDRESS$-c$ARG1$ 单击保存控钮(注:因为我在前面已通过配置文件添加了check_nrpe命令,所示这里就省略了此操作,如果你还没有添加check_nrpe命令请参照上面的操作添加即可)2、现在开始添加需要监控的linux主机监督-host-添加添加主机相关信息及模板单击保存按钮(注:因为我在前面已通过配置文件添加了被监控主机192.168.10.101,所示这里就省略了此操作,如果你还没有添加主机请参照上面的操作添加即可)添加完成记得要点写入配置3、添加一个自定义服务监督-服务-添加 配置名称:imp_mysqlhost//注:这里的配置名称一定和已监控主机的相关项目的配置文件名一致,我这里是监控mysql服务器,配置文件名称是services/imp_mysqlhost。服务描述:Linux_sda1//自定义检查命令:check_nrpe//前面定义好的命令$ARG1$:check_sda1//在被监控主机定义好的命令先在被监控主机(如mysql)的nrpe.cfg文件中定义check_sda1命令,如下图所示:重启nrpe服务:每多添加一条命令都需要重启nrpe服务,以使配置立即生效因为在nagios服务器端执行这样一条命令,所以可以在添加服务之前先在nagios服务器端执行一下这样的一条命令,确认数据是否可以正常收集得到.这里添加一个sda1检查服务,如下图所示: 单击保存按钮添加完成记得要点写入配置这里我只演示添加sda1服务,更多服务的添加要靠自己多学习举一反三。4、然后在主机端关联刚才自定义好的服务,操作过程如下图所示:在监督—host选项中找到已添加好的被监控的主机,我这里被监控的主机是mysqlhost,单击后面的修改。在定义主机界面可以看到有关被监控主机的相关定义,单击服务选项在可用的服务选项列表中找到刚才添加的服务并添加到选择的列表中。如下图所示: 连续单击两次保存控钮添加完成记得要点写入配置最后在工具-nagios控制检查写入的配置文件全部执行一次最后在nagiosWeb控制台可以看到添加的监控项目,如下图所示表示成功了至此有关nagios和cacti监控系统整合平台就全部介绍完毕,希望对大家能有帮助。在这里还可以将ntop流量监控系统整合进来。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭