Nagios+监控相关资源汇总.doc_第1页
Nagios+监控相关资源汇总.doc_第2页
Nagios+监控相关资源汇总.doc_第3页
Nagios+监控相关资源汇总.doc_第4页
Nagios+监控相关资源汇总.doc_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

Nagios 监控相关资源汇总目录提纲:一. Nagios3.0.5在CentOS5.2中安装1.Nagios安装2.监控Linux 主机3.监控windows主4.使用NDOUtils将Nagios监控信息存入数据库5.安装使用Nagvis插件Nagios 札记1.Nagios 札记之一:安装2.Nagios 札记之二:配置3.Nagios 札记之三:安装配置 NRPE4.Nagios 札记之四:扩展提示信息发送方式(smtp, msn, fetion)二.告警方式:1.配置 Nagios 使用 FetionRobot 短信报警 2.Nagios 札记之四:扩展提示信息发送方式(smtp, msn, fetion)三.插件安装1.nagios 3.X pnp-0.4.3 配置小记四.Nagios监空相关1.利用Nagios监控Oracle正文:Nagios3.0.5在CentOS5.2中安装(一) 1.系统:CentOS 5.22.安装前准备:1).安装好apache,GD库(我的GD库安装在/usr/local/libgd)。2).下载Nagios3.0.5,Nagios-plugins1.4.11,nrpe2.12,nsclient+ /download/ wget /sourceforge/nagios/nagios-3.0.5.tar.gzwget /sourceforge/nagiosplug/nagios-plugins-1.4.11.tar.gz Nagios3.0.5,Nagios-plugins1.4.11,nrpe2.12安装在监控服务器上。 去/download/addons/下载nrpe和nsclient+插件。 nrpe2.12安装在Linux/Unix被监控端。 nsclient+安装在Windows被监控端。3).创建帐号及组 创建帐号 /usr/sbin/useradd -m nagiospasswd nagios 创建组 /usr/sbin/groupadd nagcmd/usr/sbin/usermod -a -G nagcmd nagios/usr/sbin/usermod -a -G nagcmd daemon daemon为运行apache的帐号。3.安装nagios tar xzf nagios-3.0.5.tar.gzcd nagios-3.0.5./configure -with-command-group=nagcmd -with-gd-lib=/usr/local/libgd/lib/ -with-gd-inc=/usr/local/libgd/include/make all# 使用make install来安装主程序,CGI和HTML文件make install# 使用make install-init在/etc/rc.d/init.d安装启动脚本make install-init# 使用make install-cofig来安装示例配置文件,安装的路径是/usr/local/nagios/etc.make install-config# 使用make install-commandmode来配置目录权限make install-commandmodenagios目录功能的简要说明:bin Nagios执行程序所在目录,nagios文件即为主程序etc Nagios配置文件位置sbin Nagios Cgi文件所在目录,也就是执行外部命令所需文件所在的目录Share Nagios网页文件所在的目录var Nagios日志文件、spid 等文件所在的目录var/archives 日志归档目录var/rw 用来存放外部命令文件配置apache将现面行加入apache配置文件的alias模块 ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin#SSLRequireSSL Options ExecCGI AllowOverride None Order allow,deny Allow from all#Order deny,allow#Deny from all#Allow from AuthName Nagios Access AuthType Basic AuthUserFile /usr/local/nagios/etc/htpasswd.users Require valid-userAlias /nagios /usr/local/nagios/share#SSLRequireSSL Options None AllowOverride None Order allow,deny Allow from all#Order deny,allow#Deny from all#Allow from AuthName Nagios Access AuthType Basic AuthUserFile /usr/local/nagios/etc/htpasswd.users Require valid-user 创建apache目录验证文件 /usr/local/apache/bin/htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadminNew password: (输入密码)Re-type new password: (再输入一次密码)Adding password for user nagiosadmin 重启apache:/usr/local/apache/bin/apachectl -k restart# 配置nagios配置文件vi /usr/local/nagios/etc/objects/contacts.cfg# 将里面的email地址改为自己的email地址。4.安装Nagios插件 tar xzf nagios-plugins-1.4.11.tar.gzcd nagios-plugins-1.4.11./configure -with-nagios-user=nagios -with-nagios-group=nagiosmakemake install5.启动Nagios 配置机器启动时自动启动Nagios chkconfig -add nagioschkconfig nagios on 检查Nagios配置文件 /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg 启Nnagios service nagios start6.SELinux及防火墙设置1).关闭SELinuxvi /etc/selinux/config# 将下面行设为disabledSELINUX=disabled 重启系统2).如果开启防火墙,应该允许访问apache(一般为80端口)并允许nagios去抓取被监控机信息(一般nrpe为5666端口)。7.访问Nagios服务器http:/localhost/nagios/输入用户名及密码登录。8.安装nrpe插件,用来监控Linux机器 tar xzvf nrpe-2.12.tar.gzcd nrpe-2.12./configuremake all 在Nagios服务器端只要安装nrpe监控插件就行make install-plugin在/usr/local/nagios/etc/objects/commands.cfg中定义check_nrpe命令vi /usr/local/nagios/etc/objects/commands.cfg # 2008.11.18 add by Stone# NRPE COMMAND# check_nrpe command definitiondefine command command_name check_nrpe command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ 9.在被监控服务器(Linux/unix)上安装Nagios-plugins和nrpe useradd nagiostar xzvf nagios-plugins-1.4.13.tar.gzcd nagios-plugins-1.4.13 Nagios-plugins默认安装到/usr/local/nagios./configuremakemake installchown nagios.nagios /usr/local/nagios/chown -R nagios.nagios /usr/local/nagios/libexec/tar xzvf nrpe-2.12.tar.gzcd nrpe-2.12./configuremake all 安装nrpe插件,本监控端可以不装make install-plugin# 安装nrpe守护进程make install-daemon 安张nrpe配置文件make install-daemon-config 修改nrpe配置文件,允许Nagios监控服务器(9)监控vi nrpe.cfg 多台机器用逗号隔开allowed_hosts=,9 以独立守护进程启动nrpe,也可以使用xinetd启动nrpe,具体清查看nrpe官方文档。/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d 开机自动启动nrpevi /etc/rc.d/rc.local 加入下面行/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d 检查nrpe是否安装正常rootwiki etc# /usr/local/nagios/libexec/check_nrpe -H localhostNRPE v2.12 返回nrpe版本说明安装没问题。 查看启动端口rootwiki # netstat -tunlpActive Internet connections (only servers)Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program nametcp 0 0 :5666 :* LISTEN 27387/nrpe 如果有防火墙应该开放5666端口:iptables -I eth0 -p tcp -m tcp ?dport 5666 -j ACCEPT注意:我们需要在/usr/local/nagios/etc/nrpe.cfg中定义我们用到的监控本地资源的命令。下面的命令是默认定义的: commandcheck_users=/usr/local/nagios/libexec/check_users -w 5 -c 10commandcheck_load=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20commandcheck_hda1=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/hda1commandcheck_zombie_procs=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Zcommandcheck_total_procs=/usr/local/nagios/libexec/check_procs -w 150 -c 200下面的命令是自己定义的: 监控交换分区的使用情况,使用超过20时为警告状态,超过10时为严重状态commandcheck_swap=/usr/local/nagios/libexec/check_swap -w 20% -c 10% 监控根分区磁盘使用情况commandcheck_disk_root=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /Nagios3.0.5在CentOS5.2中安装(二)10.Nagios如何监控Linux机器NRPE总共由两部分组成:(1).check_nrpe插件,运行在监控主机上。(2).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插件安装在远程被监控linux主机上,否则,daemon不能做任何的监控.11.Nagios的配置文件 控制cgi访问的配置文件cgi.cfg Nagios主配置文件nagios.cfg resource.cfg定义了一些变量,以便被其他文件引用,如$USER1$resource.cfg# objects是一个目录,用于定义Nagios对象objects# servers是自己创建的一个目录,Nagios可以加载一个目录下面的所有配置文件(需要在nagios.cfg中配置)servers./objects: 命令定义配置文件,里面定义的命令可以被其他文件引用commands.cfg 联系人和联系人组配置文件contacts.cfg 监控本地机器的配置文件localhost.cfg 监控打印机的一个事例配置文件(默认未启用)printer.cfg 监控路由器的一个事例配置文件(默认未启用)switch.cfg 模板配置文件,在此可以定义模板,在其他文件中引用templates.cfg 定义监控时间段的配置文件timeperiods.cfg 监控Windows的一个事例配置文件(默认未启用)windows.cfg./servers: 自己创建的主机群组配置文件hostgroup.cfg 自己创建的监控远程Linux主机的配置文件wiki-l-11.cfg配置文件是怎样引用的?用nagios主要是监控一台主机的各种信息,包括本机资源以及对外的服务等等.这些在nagios里面都是被定义为一个个的项目(nagios称之为服务,为了与主机提供的服务相区别,我这里用项目这个词),而实现每个监控项目,则需要通过commands.cfg文件中定义的命令。为了不必重复定义一些项目,Nagios引入了一个模板配置文件(templates.cfg),将一些共性的属性定义成模板,以便于多次引用。我们现在有一个监控项目是监控一台机器的web服务是否正常, 我们需要哪些元素呢?最重要的有下面三点:首先是监控哪台机器,然后是这个监控要用什么命令实现,最后就是出了问题的时候要通知哪个联系人。我们首先应该在commands.cfg中定义监控远程服务和资源的命令,以及如何发送邮件的命令。大部分监控远程服务和资源的命令的命令通过/usr/local/nagios/libexec下的脚本实现,如ping命令为check_ping。/usr/local/nagios/libexec下的脚本命令的使用发法可以通过-h参数查看,如:-roottech # /usr/local/nagios/libexec/check_ping -hcheck_ping v1991 (nagios-plugins 1.4.13)Copyright (c) 1999 Ethan Galstad Copyright (c) 2000-2007 Nagios Plugin Development Team Use ping to check connection statistics for a remote host.Usage:check_ping -H -w ,% -c ,%-p packets -t timeout -4|-6Options:-h, -help Print detailed help screen-V, -version Print version information-4, -use-ipv4 Use IPv4 connection-6, -use-ipv6 Use IPv6 connection-H, -hostname=HOST host to ping-w, -warning=THRESHOLD warning threshold pair-c, -critical=THRESHOLD critical threshold pair-p, -packets=INTEGER number of ICMP ECHO packets to send (Default: 5)-L, -link show HTML in the plugin output (obsoleted by urlize)-t, -timeout=INTEGER Seconds before connection times out (default: 10)-然后我们在contacts.cfg文件中定义联系人和联系人组,在timeperiods.cfg中定义监控时间段。最后我们在服务器监控配置文件中引用前面定义的元素来监控服务器状态。下面引用配置文件中部分配置做说明:vi /usr/local/nagios/etc/resource.cfg 定义$USER1$变量,设置插件路径$USER1$=/usr/local/nagios/libexecvi /usr/local/nagios/etc/objects/commands.cfg 定义check-host-alive命令define command command_name check-host-alive 命令名称 command_line $USER1$/check_ping -H $HOSTADDRESS$ -w 3000.0,80% -c 5000.0,100% -p 5 上面的$USER1$和$HOSTADDRESS$引用自已定义的配置文件。变量不需现定义才能被引用。# 2008.11.18 add by Stone# NRPE COMMAND# 自己定义check_nrpe命令,此命令后接必需接一个参数,用于告诉远程服务器上的NRPE daemon需要监控的内容,如check_swap参数为监控远程机器的交换分区。# check_nrpe command definitiondefine command command_name check_nrpe command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ vi /usr/local/nagios/etc/objects/contacts.cfg 定义联系人define contact contact_name nagiosadmin ; Short name of user use generic-contact ; Inherit default values from generic-contact template (defined above) alias Nagios Admin ; Full name of user email ; * CHANGE THIS TO YOUR EMAIL ADDRESS * 上面的generic-contact在templates.cfg中定义。 定义联系人组define contactgroup contactgroup_name admins alias Nagios Administrators members nagiosadmin 在此可以加入多个联系人,中间用逗号隔开 vi /usr/local/nagios/etc/objects/timeperiods.cfg 定义监控的时间段define timeperiod timeperiod_name 24x7 监控所有时间段(724小时) alias 24 Hours A Day, 7 Days A Week sunday 00:00-24:00 monday 00:00-24:00 tuesday 00:00-24:00 wednesday 00:00-24:00 thursday 00:00-24:00 friday 00:00-24:00 saturday 00:00-24:00 vi /usr/local/nagios/etc/objects/templates.cfg 定义generic-contact联系人模板,并非真正的联系人,真正的联系人在contacts.cfg中定义define contact name generic-contact ; The name of this contact template service_notification_period 24x7 ; service notifications can be sent anytime host_notification_period 24x7 ; host notifications can be sent anytime service_notification_options w,u,c,r,f,s ; send notifications for all service states, flapping events, and scheduled downtime events host_notification_options d,u,r,f,s ; send notifications for all host states, flapping events, and scheduled downtime events service_notification_commands notify-service-by-email ; send service notifications via email host_notification_commands notify-host-by-email ; send host notifications via email register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL CONTACT, JUST A TEMPLATE! -service_notification_period 24x7服务出了状况通知的时间段,这个时间段就是上面在timeperiods.cfg中定义的.host_notification_period 24x7主机出了状况通知的时间段, 这个时间段就是上面在timeperiods.cfg中定义的service_notification_options w,u,c,r当服务出现w?报警(warning),u?未知(unkown),c?严重(critical),或者r?从异常情况恢复正常,在这四种情况下通知联系人.host_notification_options d,u,r当主机出现d?当机(down),u?返回不可达(unreachable),r?从异常情况恢复正常,在这3种情况下通知联系人service_notification_commands notify-service-by-email服务出问题通知采用的命令notify-service-by-email,这个命令是在commands.cfg中定义的,作用是给联系人发邮件.host_notification_commands notify-host-by-email同上,主机出问题时采用的也是发邮件的方式通知联系人- 定义generic-host主机模板define host name generic-host ; The name of this host template notifications_enabled 1 ; Host notifications are enabled event_handler_enabled 1 ; Host event handler is enabled flap_detection_enabled 1 ; Flap detection is enabled failure_prediction_enabled 1 ; Failure prediction is enabled process_perf_data 1 ; Process performance data retain_status_information 1 ; Retain status information across program restarts retain_nonstatus_information 1 ; Retain non-status information across program restarts notification_period 24x7 ; Send host notifications at any time register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL HOST, JUST A TEMPLATE! 定义Linux主机模板define host name linux-server ; The name of this host template use generic-host ; This template inherits other values from the generic-host template check_period 24x7 ; By default, Linux hosts are checked round the clock check_interval 5 ; Actively check the host every 5 minutes retry_interval 1 ; Schedule host check retries at 1 minute intervals max_check_attempts 10 ; Check each Linux host 10 times (max) check_command check-host-alive ; Default command to check Linux hosts notification_period workhours ; Linux admins hate to be woken up, so we only notify during the day ; Note that the notification_period variable is being overridden from ; the value that is inherited from the generic-host template! notification_interval 120 ; Resend notifications every 2 hours notification_options d,u,r ; Only send notifications for specific host states contact_groups admins ; Notifications get sent to the admins by default register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL HOST, JUST A TEMPLATE! 在nagios.cfg配置文件中开启对/usr/local/nagios/etc/servers/中配置文件的引用。cfg_dir=/usr/local/nagios/etc/servers 远程Linux主机监控文件,如果监控多台主机只需简单复制修改即可。我们应该牢记wiki-l-11.cfg用到的命令在commands.cfg中定义,在commands.cfg中定义的命令用到/usr/local/nagios/libexec下的插件(命令)。vi /usr/local/nagios/etc/servers/wiki-l-11.cfg 定义主机define host use linux-server ; Name of host template to use ; This host definition will inherit all variables that are defined ; in (or inherited by) the linux-server host template definition. host_name wiki alias Docs address 1 定义Ping远程Linux主机define service use generic-service ; Name of service template to use host_name wiki service_description PING check_command check_ping!100.0,20%!500.0,60% ;check_ping命令在commands.cfg中定义,后跟两个参数,命令及参数间用!分割。 检查远程Linux主机根分区使用情况,check_nrpe命令必须在/usr/local/nagios/etc/objects/commands.cfg中定义(默认未定义)define service use generic-service ; Name of service template to use host_name wiki service_description Root Partition check_command check_nrpe!check_disk_root 检查远程Linux主机的登录人数define service use generic-service ; Name of service template to use host_name wiki service_description Current Users check_command check_nrpe!check_us

温馨提示

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

评论

0/150

提交评论