nagios配置集锦.doc_第1页
nagios配置集锦.doc_第2页
nagios配置集锦.doc_第3页
nagios配置集锦.doc_第4页
nagios配置集锦.doc_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Nagios配置Author:姚夏冰环境:Ubuntu12.04监控主机(服务器端):3被监控主机:1(cloud-21)2(cloud-22)02(Window xp)目录1监控服务器端配置21.1 nagios和nagios-plugin安装21.2 NDOUtils安装21.3 pnp4nagios安装21.4 版本升级21.5 添加nagios的web页面查看用户及分配权限21.6 邮件及声音报警实现22 监控远程主机插件安装22.1 NSClient+安装22.2 NRPE安装22.3 NSCA安装23 监控交换机24 自定义插件编写21 监控服务器端配置1.1 nagios和nagios-plugin安装apt-get install -y apache2 apache2是web服务器 apt-get install -y libapache2-mod-php5 php5显示网页的apt-get install -y libgd2-xpm-dev apt-get install -y libgd2-xpm gd库给php处理图像apt-get install y build-essential 提供c/c+编译环境,nagios必须运行在c编译环境下apt-get install -y make 编译用的apt-get install -y libssl-dev web服务认证useradd -m nagiospasswd nagios 创建nagios用户,密码也为nagiosgroupadd nagcmdusermod -a -G nagcmd nagios 创建nagcmd组,包括nagios和www-data用户usermod -a -G nagcmd www-data注:在debian/ubuntu上,www-data是默认运行web服务的用户/组,一般在通过apt安装web服务程序时生成。搭建web服务的文件夹/文件一般要设置成www-data的mkdir /downloads 创建一个目录,用于存储下载cd /downloads 进入到这个目录下wget /sourceforge/nagios/nagios-3.2.3.tar.gz tar xzf nagios-3.2.3.tar.gz 解压(不知道命令后面跟的参数,可以问man) cd nagios-3.2.3 ./configure -with-command-group=nagcmd 通过你前面创建的组名(nagcmd) 运行nagios配置脚本 make all 编译nagios源码 make install 安装二进制文件,init脚本,示例配置文件和设置的外部命令目录的权限make install-initmake install-configmake install-commandmodemake install-webconf 安装Nagios的Web配置文件在Apache的conf.d目录,配置web页面 htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin 创建一个nagiosadmin的帐户登录到Nagios Web界面。记住你分配给这个帐户的密码-你会需要它。/etc/init.d/apache2 reload 重新启动Apache使新的设置生效可能遇到的错误:每次重启apache2,都会出现以下错误提示:Could not reliably determine the servers fully qualified domain name, using for ServerName解决方法:修改 httpd.conf 文件vim /etc/apache2/httpd.conf默认情况下,这个是一个空文件,在文件中加入以下内容:ServerName localhost保存文件退出,再次重启apache,错误提示没有了。wget /sourceforge/nagiosplug/nagios-plugins-1.4.11.tar.gz 下载nagios插件cd /downloadstar xzf nagios-plugins-1.4.11.tar.gzcd nagios-plugins-1.4.11./configure -with-nagios-user=nagios -with-nagios-group=nagios 编译并安装插件。makemake installln -s /etc/init.d/nagios /etc/rcS.d/S99nagios 配置Nagios在系统启动时自动启动。/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg 验证Nagios配置文件。/etc/init.d/nagios start 如果没有错误,启动Nagios。登录到3/nagios/就可以看到网页了注:3取决于你的nagios服务器ip用户名:nagiosadmin密码:你自己设定的vi /usr/local/nagios/etc/nagios.cfg 编辑主Nagios的配置文件#cfg_file=/usr/local/nagios/etc/objects/windows.cfg 删除(#表示注释)1.2 NDOUtils安装原理图:1.安装mysql-server:apt-get install mysql-server-5.52.gcc连接mysql的库安装:apt-get install libmysqlclient-dev安装后,头文件在/usr/include/mysql,库文件在/usr/lib下。参考文献:/fjssharpsword/article/details/6942812NDOUtilsestunaddonpourNagios.IlpermetdestockerdansunebasededonnesMySQLoudansunfichierplat:LaconfigurationdesserveurssupervissLesvnementsLestatsdeslmentssupervissndoutils软件主要是用于将Naigos数据存入数据库,然后又可读取出来.安装ndoutils1. wget -c /sourceforge/nagios/ndoutils-1.4b9.tar.gz2. tar zxvf ndoutils-1.4b9.tar.gz3. cd ndoutils-1.4b94. ./configure -enable-mysql -disable-pgsql -with-mysql-lib=/usr/lib -with-mysql-inc=/usr/ include/mysql-with-mysql-lib:这个是关联mysql的库文件-with-mysql-inc:这个是关联mysql的头文件执行完成后,注意向上看看打印出的信息,看看是否找到了MySQL的库文件和include文件。MySQL library and include file(s) were found!configure: creating ./config.statusconfig.status: creating Makefileconfig.status: creating src/Makefileconfig.status: creating docs/docbook/en-en/Makefileconfig.status: creating substconfig.status: creating include/config.h* Configuration summary for ndoutils 1.4b9 10-27-2009 *: General Options: - NDO2DB user: nagios NDO2DB group: nagiosReview the options above for accuracy. If they look okay,type make to compile the NDO utilities.makemake的时候可能会报错安装ndoutils-1.4b9时报以下错cd./src&makemake1:Enteringdirectory/root/nagiosddd/ndoutils-1.4b9/srcgcc-fPIC-g-O2-I/usr/local/mysql/include/mysql-DHAVE_CONFIG_H-c-oio.oio.cInfileincludedfromio.c:11:./include/config.h:261:25:error:mysql/mysql.h:Nosuchfileordirectory./include/config.h:262:26:error:mysql/errmsg.h:Nosuchfileordirectorymake1:*io.oError1make1:Leavingdirectory/root/nagiosddd/ndoutils-1.4b9/srcmake:*allError2解决方法#vi /root/ndoutils-1.4b9/include/config.h将#include#include修改为#include#includecd /root/ndoutils-1.4b9/src/# 我的Nagios是3.0.3,所以拷贝的是ndomod-3x.o、ndo2db-3x,如果你的是2.X.x请拷贝ndomod-2x.o、ndo2db-2x手动将一些二进制文件和库文件copy到nagios目录cp ndomod-3x.o ndo2db-3x log2ndo file2sock /usr/local/nagios/bincd . cp ./config/ndo2db.cfg-sample /usr/local/nagios/etc/ndo2db.cfg cp ./config/ndomod.cfg-sample /usr/local/nagios/etc/ndomod.cfg chmod 774 /usr/local/nagios/bin/ndo* chown nagios:nagios /usr/local/nagios/bin/ndo*/创建数据库且导入库内容mysql create database nagios;cd /root/ndoutils-1.4b9/db/mysql -uroot -p nagiosgrantallprivilegesonnagios.*tondouserlocalhostidentifiedby123456;配置数据库连接信息:1. # vim /usr/local/nagios/etc/ndo2db.cfg2.3. socket_type=tcp4.5. #socket_name=/usr/local/nagios/var/ndo.sock6.7. db_user=ndouser8.9. db_pass=12345610.11. # vim /usr/local/nagios/etc/ndomod.cfg12.13. output=14.15. #output=/usr/local/nagios/var/ndo.sock16.17. output_type=tcpsocket18.注:socket_type=unix时 socket_name才能工作,并且ndomod.cfg 中 output=/usr/local/nagios/var/ndo.sock,output_type=unixsocket与之对应;当socket_type=tcp时,ndomod.cfg 中output=,output_type=tcpsocket。在配置的时候有说明,大家注意。或者如下测试:启动ndo2db#/usr/local/nagios/bin/ndo2db-3x-c/usr/local/nagios/etc/ndo2db.cfg#netstat-antup|grep5668/查看端口是否打开tcp00:566:*LISTEN28099/ndo2db-3x#servicenagiosrestart1. # 查看Nagios日志,看是否正常启动。tail -20 /usr/local/nagios/var/nagios.log1271046855 Successfully shutdown. (PID=28377)2. 1271046855 ndomod: Shutdown complete.3. 1271046855 Event broker module /usr/local/nagios/bin/ndomod.o deinitialized successfully.4. 1271048944 Nagios 3.2.1 starting. (PID=2706)5. 1271048944 Local time is Mon Apr 12 13:09:04 CST 20106. 1271048944 LOG VERSION: 2.07. 1271048944 ndomod: NDOMOD 1.4b9 (10-27-2009) Copyright (c) 2009 Nagios Core Development Team and Community Contributors8. 1271048944 ndomod: Could not open data sink!Ill keep trying, but some output may get lost.9. 1271048944 Event broker module /usr/local/nagios/bin/ndomod.o initialized successfully.10. 1271048944 Finished daemonizing. (New PID=2707)11. 1271048954 HOST ALERT: localhost;DOWN;SOFT;1;(Host Check Timed Out)12. 1271048954 HOST ALERT: localhost;UP;SOFT;1;PING OK - Packet loss = 0%, RTA = 0.04 ms13. 1271049174 SERVICE ALERT: localhost;SSH;OK;SOFT;2;SSH OK - OpenSSH_4.3 (protocol 2.0)解决方法:sudochmod666/usr/local/nagios/etc/ndo2db.cfgsudochmod666/usr/local/nagios/etc/ndomod.cfg重启nagios服务service nagios restart# 再查看Nagios日志,看是否正常启动。tail -20 /usr/local/nagios/var/nagios.log1227766166 ndomod: NDOMOD 1.4b7 (10-31-2007) Copyright (c) 2005-2007 Ethan Galstad ()1227766166 ndomod: Successfully connected to data sink. 0 queued items to flush.1227766166 Event broker module /usr/local/nagios/bin/ndomod-3x.o initialized successfully.1227766166 Finished daemonizing. (New PID=18848)nagios数据库中的表有数据,就说明成功了参考文献:/uid-25266990-id-3417451.html/s/blog_6eee53080100nm1j.html1.3 pnp4nagios安装apt-get install rrdtool可以用rrdtool -V先查看自己系统RRDTool的版本apt-get install php5-gdPNP是一个小巧的开源软件包,它基于PHP和PERL,PNP可以利用rrdtool工具将Nagios采集的数据绘制成相关的图表,然后显示主机或者服务在一段时间内的运行状况首先启用rewrite模块a2enmod rewrite/etc/init.d/apache2 reloadtar -zxvf pnp4nagios-0.6.21.tar.gz设置安装路径参数./configure -prefix=/usr/local/pnp4nagios -with-nagios-user=nagios -with-nagios-group=nagios编译安装make allmake installmake install-webconfmake install-configmake install-initmake fullinstall注意:RRDs Perl Modules先不管它,好像只是加速什么似的创建配置文件:Mv misccommands.cfg-sample misccommands.cfgmv nagios.cfg-sample nagios.cfgmv rra.cfg-sample rra.cfgcd pagesmv web_traffic.cfg-sample web_traffic.cfgcd ./check_commandsmvcheck_all_local_disks.cfg-sample check_all_local_disks.cfgmv check_nrpe.cfg-sample check_nrpe.cfg修改nagios配置文件,vi /usr/local/nagios/etc/nagios.cfg,将相应配置修改为以下内容:process_performance_data=1host_perfdata_command=process-host-perfdataservice_perfdata_command=process-service-perfdata修改nagios配置文件commands.cfg文件中的process-host-perfdata和process-service-perfdata:# process-host-perfdata command definitiondefine command command_name process-host-perfdatacommand_line /usr/local/pnp4nagios/libexec/process_perfdata.pl # process-service-perfdata command definitiondefine command command_name process-service-perfdata command_line /usr/local/pnp4nagios/libexec/process_perfdata.pl 将性能图集成到nagios的web页面,即添加小太阳模版,镶嵌在nagios页面上。2 vi /usr/local/nagios/etc/objects/templates.cfgdefine hostname host-pnpregister 0action_url/pnp4nagios/index.php/graph?host=$HOSTNAME$define servicename srv-pnpregister 0action_url/pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=$SERVICEDESC$让PNP4Nagios显示图形在nagios的主机中或服务中显示,加入host-pnp、srv-pnp配置实例(注:一般只需在主机的定义(hosts.cfg)的第一行中加入:Use host-pnp即可)所有者:chownR nagios:nagios/usr/local/nagioschownR nagios:nagios/usr/local/pnp4nagios重启服务:(即可)/etc/init.d/npcdrestart/etc/init.d/nagiosrestart如果出现下面错误(没有就跳过)解决方法:The requested URL /pnp4nagios/index.php/graph was not found on this server.解决方法:apt-get purge libapache2-mod-php5 php5 & apt-get install libapache2-mod-php5 php5service apache2 restartApache2重启Cloud21旁边出现一个小太阳点击小太阳,出现下面画面重命名或删除/usr/local/pnp4nagios/share/install.php完成以上操作后重启nagios npcd apache2服务,点击小太阳,看到注:有些服务没有图像,原因是没有性能数据输出,性能数据就是Performance Data参考错误: /archive/index.php/t-829124.html参考文献:/questions/110525/pnp4nagios-error-with-apache /pero/blog/873081.4 版本升级举例说明: 升级到nagios-3.5.0版下载最新的Nagios安装包(/download/)。wget /project/nagios/nagios-3.x/nagios-3.5.0/nagios-3.5.0.tar.gz展开源码包。tar zxf nagios-3.5.0.tar.gzcd nagios-3.5.0/运行Nagios 源程序的配置脚本,把加入外部命令的组名加上,象这样:./configure -with-command-group=nagcmd编译源程序make all安装升级后的二进制程序、文档和Web 接口程序。在这步时旧配置文件还不会被覆盖。make install验证配置并重启动Nagios/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfgservice nagios restart1.5 添加nagios的web页面查看用户及分配权限添加一个叫yao的用户htpasswd /usr/local/nagios/etc/htpasswd.users yao这边htpasswd 后不加 c参数, 加-c参数会重新生成htpassed.users这个文件然后你输入密码两遍在/usr/local/nagios/etc/cgi.cfg这个文件中可以修改用户的权限 注:在这个配置文件中有很多权限设置,这里不一一详细介绍,具体的请查阅Nagios网络监控中文版.pdf1.6 邮件及声音报警实现tar zxvf sendEmail-v1.56.tar.gzcd sendEmail-v1.56cp sendEmail /usr/local/binchmod 755 /usr/local/bin/sendEmailchown nagios:nagios /usr/local/bin/sendEmail使用测试/usr/local/bin/sendEmail f t s u “nagios test” xu xp 3690093 m “nagios-test”参数解释:-f 表示发送者的邮箱-t 表示接收者的邮箱(后面可以接多个,逗号隔开)-s 表示SMTP服务器的域名或者ip-u 表示邮件的主题-xu 表示SMTP验证的用户名-xp 表示SMTP验证的密码(注意,这个密码貌似有限制,例如我用d!5neyland就不能被正确识别)-m 表示邮件的内容-cc 表示抄送-bcc 表示暗抄送如果想以一个文件的内容为邮件内容可以这样:cat filename | /usr/local/bin/sendEmail f t s u “nagios test” xu xp 3690093这里如果smtp服务器用的是163邮箱,那么发送邮箱和smtp认证就要用163邮箱如果smtp服务器用的是qq邮箱,那么就用qq邮箱这个跟我们的nagios发件方式类似,下面我们来改nagios的发件方式:command.cfg配置修改email发送方式define command command_name notify-by-email command_line/usr/bin/printf %b * Nagios 2.9 *nnNotification Type: $NOTIFICATIONTYPE$nnService: $SERVICEDESC$nHost: $HOSTALIAS$nAddress: $HOSTADDRESS$nState: $SERVICESTATE$nnDate/Time: $LONGDATETIME$nnAdditional Info:nn$SERVICEOUTPUT$ |/usr/local/bin/sendEmail -f -t 727066940,1511766618 -s -u * $NOTIFICATIONTYPE$ alert - $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ * -xu -xp 3690093 把两段关于email的发送方式的定义都改了吧,最后重启一下nagios!Unity3d脚本在已经搭建好NAGIOS后,可以通过WEB来进行访问,同事WEB访问时,也能让NAGIOS发出报警声音,方法是编辑/usr/local/nagios/etc/cgi.cfg文件,找到最后部分,将前面的注释去掉,下面是去掉注释的模板。保存退出后,重启NAGIOS服务。一般normal_sound咱不去改然后上传你自己的wav文件到/usr/local/nagios/share/media目录下修改报警的次数如果要让他多报警几次的修改: printf();改成 printf();保存退出重启nagios服务经测试:可能有些浏览器听不到声音,谷歌浏览器可以听到声音2 监控远程主机插件安装2.1 NSClient+安装NSClient+原理图:在你可以开始监测私人服务和Windows机器的属性,你需要在这些机器上安装代理。我建议使用NSClient + +的插件,下载最新的稳定版本的NSClient + +插件/projects/nscplus解压缩NSClient + +文件到一个新的C: NSClient + +目录开命令提示符窗口并切换到C: NSClient + +目录注册NSClient + +系统服务,使用下面的命令:nsclient+ /install安装NSClient + +托盘用下面的命令(“系统托盘”是区分大小写):nsclient+ SysTray打开服务管理器,使确定的NSClientpp服务,允许与桌面交互(见“登录”选项卡,在服务管理器)。如果不是已经允许与桌面交互,选中复选框以允许它。我的电脑右键管理服务和应用程序-服务右键属性编辑的NSC.INI的文件(位于C: NSClient + +目录)并进行以下更改:取消注释模块部分中列出的所有模块,除了CheckWMI.dll和RemoteConfiguration.dll(可选)需要通过改变“密码”选项,在设置部分客户的密码。取消注释“allowed_hosts”选项,在设置部分。Nagios服务器的IP地址加入到这一行,或留下空白,以允许所有主机连接。请确保在“端口”选项NSClient部分注释掉,并设置为12489(默认端口)。请确保在“端口”选项NSClient部分注释掉,并设置为12489(默认端口)。nsclient+ /start如果安装得当,应该会出现一个新的图标在系统托盘中。.成功了!Windows服务器,现在可以添加到Nagios监控组态.现在又回到nagios监控服务器端配置:现在是在你的Nagios配置文件定义一些对象定义,以监测新的Windows机器。进行编辑打开windows.cfg文件。vi /usr/local/nagios/etc/objects/windows.cfg添加一个新的Windows机器上,你要监视的主机定义。如果这是第一个* Windows机器上你监控,你可以简单地修改示例主机在windows.cfg定义。更改主机名,别名,地址字段,以适当的值填入Windows中。define hostusewindows-server; Inherit default values from a Windows server template (make sure you keep this line!)host_namewinserver /被监控的主机名 随便取都okaliasMy Windows Serveraddress1 /被监控的主机的ip好。现在,你可以添加一些服务定义(相同的配置文件),以告诉Nagios来监控不同方面的Windows机器。如果这是你监控的第一个* Windows机器上,你可以简单地修改示例服务在windows.cfg的定义。.添加下面的服务定义监控NSClient + +的插件,运行在Windows服务器上的版本。这是非常有用的,当谈到Windows服务器升级到较新版本的插件,你就可以告诉Windows机器需要升级到最新版本的NSClient + +。define serviceusegeneric-servicehost_namewinserver (跟上面定义的一样)service_descriptionNSClient+ Versioncheck_commandcheck_nt!CLIENTVERSION.添加下面的服务定义监控Windows服务器的正常运行时间。define serviceusegeneric-servicehost_namewinserverservice_descriptionUptimecheck_commandcheck_nt!UPTIME添加下面的服务定义监控在Windows服务器上的CPU利用率,如果5分钟内的CPU负载达到90或更高,就会产生一个严重警告警报,如果5分钟内的负载介于80%到90%之间,就产生一个警告警报,define serviceusegeneric-servicehost_namewinserverservice_descriptionCPU Loadcheck_commandcheck_nt!CPULOAD!-l 5,80,90 (5就是5分钟的意思)这句不翻译了(跟上面那句很像)define serviceusegeneric-servicehost_namewinserverservice_descriptionMemory Usagecheck_commandcheck_nt!MEMUSE!-w 80 -c 90这句也不翻译了(跟上面那句很像)define serviceusegeneric-servicehost_namewinserverservice_descriptionC: Drive Spacecheck_commandcheck_nt!USEDDISKSPACE!-l c -w 80 -c 90.添加下面的服务定义监视在Windows机器上的W3SVC服务的状态,如果该服务被停止,并产生严重警报。(如果没装IIS,这个服务就起不来)define serviceusegeneric-servicehost_namewinserverservice_descriptionW3SVCcheck_commandcheck_nt!SERVICESTATE!-d SHOWALL -l W3SVC添加下面的服务定义监控explorer.exe进程在Windows机器上,如果没有运行的进程就生成一个严重警报。define serviceusegeneric-servicehost_namewinserverservice_descriptionexplorercheck_commandcheck_nt!PROCSTATE!-d SHOWALL -l explorer.exe现在。您已经添加了一些应在Windows中进行监控的基本服务。保存配置文件。如果你指定了一个口令在NSClient + +配置文件在Windows机器上,你会需要修改check_nt命令定义中包含密码。打开commands.cfg文件进行编辑。vi /usr/local/nagios/etc/objects/commands.cfg更改check_nt命令的定义包括了“-s ”的说法(其中,password是在Windows机器上指定的密码),如:define commandcommand_namecheck_ntcommand_line$USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -s 123456 -v $ARG1$ $ARG2$ 注:-s 123456(123456是我自己设的密码,可以任意设置的,如果密码为空,-s也不用写了)Save the file.保存该文件。重新启动Nagios的你所做的修改Nagios配置,所以你需要验证您的配置文件,并重新启动Nagios。如果验证过程中产生的任何错误信息,验证您的配置文件,然后再继续。直到验证过程完成,没有任何错误,你再重新启动Nagios。/etc/init.d/nagios restart在浏览器中输入3/nagios/会出现如下页面用户名:nagiosadmin密码:就是你自己在(htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin)输入的能看到如下页面,就表示可以监控了注:W3SVC服务没起

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论