设为首页 收藏本站
查看: 3831|回复: 6

nagios监控windows主机,linux主机

[复制链接]

尚未签到

发表于 2012-8-19 23:00:31 | 显示全部楼层 |阅读模式
一、Nagios是一款开源的免费网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置,打印机等。在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知
1.nagios报警是通过对象实现监控工作的
对象:
    command监控命令,
contact向谁报警(4种返回值,0(ok)1(notice注意)2(警报,如果0->2只有一次就不会报警,只有0->2,然后一直2的时候才会报警或者0->2->0->2反复时也应该注意)3(立即发出警告)),
period监控的时间,
host监控的主机,
service监控的服务,
dependicies依赖关系,如果一个挂了,那么依赖这个的也都挂了,只会警告父节点
2.nagios通常由一个主程序(nagios)、一个插件程序(nagios-plugins)和四个可选的addon(NRPE、NSCA、NSClient++和NDOUtils)组成。
nagios的监控工作都是通过插件实现的,因此,nagios和nagios-plugins是服务器端扣作所必须的组件
四个ADDON:
NRPE:用来在监控的远程linux/unix主机上执行脚本插件以实现对这些主机资源的监控
NSCA:用来让被监控的远程linux/unix主机主动将监控信息发送给nagios服务器(这在冗余监控模式中特别要用到)
NSClient++:用来监控windows主机时安装在windows主机上的组件
NDOUtils:用来将nagios的配置信息和各event产生的数据存入数据库,以实现这些数据的快速检索和处理
这四个ADDON(附件)中,NRPE和NSClient++工作于客户端,NDOUtils工作与服务器端,而NSCA则需要同时安装在服务器端和客户端
所用到的主机
node1:172.16.133.11
rs2:172.16.133.22
windows主机:172.16.132.1
二、ngios的安装
node1:
1.所用到的软件包
6be10bba04a133d61a7b110868c7f3bd.jpg

2.解决依赖关系
  • yum -y install httpd gcc glibc glibc-common gd gd-devel php php-mysql mysql mysql-devel mysql-server

3.添加nagios运行所需要的用户和组:

  • groupadd  nagcmd
  • useradd -G nagcmd nagios
  • passwd nagios
把apache加入到nagcmd组,以便于在通过web Interface操作nagios时能够具有足够的权限:

  • usermod -a -G nagcmd apache
4.编译安装nagios:

  • tar zxf nagios-3.3.1.tar.gz
  • cd nagios-3.3.1
  • ./configure --with-command-group=nagcmd --enable-event-broker
  • make all
  • make install
  • make install-init
  • make install-commandmode
  • make install-config
为email指定您想用来接收nagios警告信息的邮件地址,默认是本机的nagios用户:

  • vi /usr/local/nagios/etc/objects/contacts.cfg
  • email        nagios@localhost(默认)
在httpd的配置文件目录(conf.d)中创建Nagios的Web程序配置文件:

  • make install-webconf
创建一个登录nagios web程序的用户,这个用户帐号在以后通过web登录nagios认证时所用:

  • htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
以上过程配置结束以后需要重新启动httpd:
service httpd restart
5.编译、安装nagios-plugins
nagios的所有监控工作都是通过插件完成的,因此,在启动nagios之前还需要为其安装官方提供的插件。

  • tar zxf 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
  • setenforce 0
6.配置并启动Nagios
(1).把nagios添加为系统服务并将之加入到自动启动服务队列:

  • chkconfig --add nagios
  • chkconfig nagios on
(2).检查其主配置文件的语法是否正确:

  • /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
(3).如果上面的语法检查没有问题,接下来就可以正式启动nagios服务了:
service nagios start
(4).通过web界面查看nagios:
http://172.16.133.11/nagios
9c6dc02b98beb21d35c91c62a340ba96.jpg

登录时需要指定前面设定的web认证帐号和密码。
注意:为了nagios系统的安全,建议您使用信息摘要强认证模式(如MD5),强制使用web的TSL/SSL安全通讯模式,并且通过访问控制列表设定能访问nagios的web界面的客户端地址。
三、配置Nagios
node1:
1.Nagios的主配置文件
Nagios的主配置文件为nagios.cfg,其语法非常简洁,通常#开头的行为注释行,而参数的设置格式为<parameter>=<value>;其中,有些参数是可以重复出现的。其中常用的参数说明如下:
      log_file: 设定Nagios的日志文件;
      cfg_file: Nagios对象定义的相关文件,此参数可重复使用多次以指定多个文件;
      cfg_dir:  设定Nagios对象定义的相关文件所在的目录,此目录中的所有文件都会被作为对象定义的文件;此参数可重复使用多次以指定多个目录;
      resource_file: 设定Nagios附加的宏定义的相关文件;
      status_file: 设定Nagios存储所有主机和服务当前状态信息的文件;
      status_update_interval: 设定status_file指定的文件中状态信息的更新频率;
      service_check_timeout: 设定服务检测的超时时间,默认为60秒;
      host_check_timeout: 设定主机检测的超时时间,默认为30秒;
      notification_timeout: 设定通知信息发送尝试的超时时间,默认为30秒;
   command_file:定义command执行权限,执行用户的
2.resource_file和宏定义
在主配置文件中,参数resource_file用于定义所有用户变量(即“宏”)的存储文件,它用于存储对象定义中的可以访问的额外信息,如访问某服务的密码等;因此,这些信息通常都是些敏感数据,一般不允许通过Web接口来访问。此文件中可以定义的宏可多达32个,它们分别为$USER1$,$USER2$...$USER32,这些宏一般在check命令中引用。通常情况下$USER1$用于引用Nagios插件所在目录这个路径信息,因此,一般不建议修改其值。
Nagios事先定义了许多宏,它们的值通常依赖于其上下文。如下:
      HOSTNAME: 用于引用host_name指定所定义的主机的主机名;每个主机的主机名都是唯一的;
      HOSTADDRESS: 用于引用host对象中的address指令的值,它通常可以为IP地址或主机名;
      HOSTDISPLAYNAME: 用于引用host对象中alias指令的值,用以描述当前主机,即主机的显示名称;
      HOSTSTATE:某主机的当前状态,为UP,DOWN,UNREACHABLE三者之一;
      HOSTGROUPNAMES: 用于引用某主机所属的所有主机组的简名,主机组名称之间以逗号分隔;
      LASTHOSTCHECK:用于引用某主机上次检测的时间和日期,Unix时间戳格式;
      LISTHOSTSTATE:用于引用某主机前一次检测时的状态,为UP,DOWN或UNREACHABLE三者之一;
      SERVICEDESC: 用于引用对应service对象中的desccription指令的值;
      SERVICESTATE: 用于引用某服务的当前状态,为OK,WARNING,UNKOWN或CRITICAL四者之一;
      SERVICEGROUPNAMES: 用于引用某服务所属的所有服务组的简名,服务组名称之间以逗号分隔;
      CONTACTNAME: 用于引用某contact对象中contact_name指令的值;
      CONTACTALIAS: 用于引用某contact对象中alias指令的值;
      CONTACTEMAIL: 用于引用某contact对象中email指令的值;
      CONTACTGROUPNAMES: 用于引用某contact所属的所有contact组的简名,contact组名称之间以逗号分隔;
Nagios 3还支持自定义宏,只是它的定义和使用方式比较独特。管理员可以在某类型对象的定义中使用额外的指令,并能够在命令中使用特别格式的宏来引用此指令的值。其引用方式根据对象类型的不同也有所不同,具体如下:
$_HOST<variable>$ – 引用在主机对象中定义的指令的值;
$_SERVICE<variable>$ – 引用在服务对象中定义的指令的值;
$_CONTACT<variable>$ – 引用在联系人对象中定义的指令的值;
$USER1$/check_ping引用nagios插件的路径
3.nagios对象等定义
(1).命令定义格式(/usr/local/nagios/etc/objects/command.cfg)例:

  • define command{
  •         command_name    check-host-alive(command名,全局唯一的)
  •         command_line    $USER1$/check_ping -H $HOSTADDRESS$(主机地址) -w(警告预值) 3000.0(延迟),80%(丢包率) -c(critical预值) 5000.0,100% -p(一共检测几个数据包) 5
  •         }
(2).contact联系人定义格式(/usr/local/nagios/etc/objects/contact.cfg)例:

  • define contact
  • {
  •   contact_name mageedu
  •   alias Mage Education
  •   email linuxedu@magedu.com
  •   host_notification_period  workinghours
  •   service_notification_period  workinghours
  •   host_notification_options  d,u,r
  •   service_notification_options  w,u,c,r
  •   host_notification_commands     host-notify-by-email
  •   service_notification_commands   notify-by-email
  • }
联系人也可划分为组,即联系人组。一个联系人组对象包含一个全局惟一的标识名称,一个描述名称和属于此联系人组的联系人成员(members)或其人联系人组成员(contactgroup_members)。例如:

  • define contactgroup
  • {
  •   contactgroup_name linux-admins
  •   alias Linux Administrators
  •   members magedu, mageedu
  • }
(3).时段定义格式(/usr/local/nagios/etc/objects/timeperiods.cfg)

  • define timeperiod{
  •         timeperiod_name 24x7(全局唯一)
  •         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
  •         }
其中,时间的指定格式有许多方式:
日历时间:格式为YYYY-MM-DD,如2012-04-21;
日期:如 April 21;
每月的某一天:如 day 21,指每月的21号;
每月的第几个周几:如 saturday 1,指每月的第一个星期六;
星期几:如monday, tuesday等;
(4).主机定义格式(/usr/local/nagios/etc/objects/localhost.cfg)例:

  • define host
  • {
  • host_name webserver1
  • hostgroups webservers
  • alias www.magedu.com
  • address 172.16.100.11
  • check_command check-host-alive
  • check_interval 5
  • retry_interval 1
  • max_check_attempts 5
  • check_period 24x7
  • contact_groups linux-admins
  • notification_interval 30
  • notification_period 24x7
  • notification_options d,u,r
  • }
其中的notification_options用于指定当主机处于什么状态时应该发送通知。其各状态及其表示符如下:
  d —— DOWN
  u —— UNREACHABLE
  r —— UP(host recovery)
  f —— flapping
  s —— 调试宕机时间开始或结束
    主机组:

  • define hostgroup{
  •         hostgroup_name  linux-servers ; The name of the hostgroup
  •         alias           Linux Servers ; Long name of the group
  •         members         localhost     ; Comma separated list of hosts that belong to this group
  •         }
(5).定义服务(/usr/local/nagios/etc/objects/localhost.cfg)例:

  • define service
  • {
  •   host_name webserver1
  •   service_description www
  •   check_command check_http
  •   check_interval 10
  •   check_period 24x7
  •   retry_interval 3
  •   max_check_attempts 3
  •   notification_interval 30
  •   notification_period 24x7
  •   notification_options w,c,u,r
  •   contact_groups linux-admins
  • }
其中的notification_options用于指定当服务处于什么状态时应该发送通知。其各状态及其表示符如下:
  w —— WARNING
  u —— UNKNOWN
  c —— CRITICAL
  r —— OK(recovery)
  f —— flapping
  s —— 调试宕机时间开始或结束
(6).模板及对象继承(/usr/local/nagios/etc/objects/templates.cfg)
Nagios通过功能强大的继承引擎来实现基于模板的对象继承。这就意味着可以定义将某类型的对象的通用属性组织起来定义为对象模板,并在定义其类型中的对象时直接从此模板继承其相关属性的定义。定义对象模板的方法很简单,通常只需要在定义某类型对象时使用register指令并将其值设定为0即可。对象模板的名称通常使用name指令定义,这与某特定类型对象使用的指令也有所不同。而定义此种类型的对象时,只需要使用use指令并将其值设定为对应模板的名称即可。例如:

  • 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 (提前预检测prediction事务)              ; 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!
  •        }

  • 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:down;u:unknown;r:重启)           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!
  •         }

  • define host
  • {
  •   use generic-server
  •   name webserver1
  •   alias Web Server 01
  •   address 172.16.100.11
  •   contact_groups linux-admins
  • }
一个对象在定义时也以同时继承多个模板,此时只需要为use指令指定以逗号分隔的多个模板名称即可。同时,Nagios也支持模板的多级继承。
(7).依赖关系
为了描述Nagios对象间的依赖关系,这里要用到两个术语:master(被依赖的主机或服务)和dependent(依赖关系中的依赖于master的Nagios对象)。Nagios可以定义对象间的彼此依赖性,也可以为某对象定义其父对象,甚至也可以指定此依赖关系生效的时段。下面是一个关于依赖关系定义的例子:

  • define hostdependency
  • {
  •   dependent_host_name backuphost
  •   host_name vpnserver1
  •   dependency_period maintenancewindows
  • }
其中host_name用于定义master主机,dependent_host_name定义dependent主机。而在依赖关系的定义中,通常还会用到execution_failure_criteria定义master主机为何种状态时不再对依赖于此master的主机进行检测,notification_failure_criteria用于定义master处于何种状态时不会发送dependent相关的主机问题通知到联系人。
服务间依赖关系的定义类似于主机间的依赖关系,例如:

  • define servicedependency
  • {
  •   host_name mysqlserver
  •   service_description mysql
  •   dependent_hostgroup_name apacheservers
  •   dependent_service_description webservice
  •   execution_failure_criteria c,u
  •   notification_failure_criteria c,u,w
  • }
四、使用nagios监控
1.基于NSClient++监控本地主机windows(ip:172.16.132.1)
windows:
(1).安装NSClient++
135de02cd7b578e5fa7844e71ead6f07.jpg

允许哪个ip地址访问
node1:
(2)./usr/local/nagios/libexec/check_nt -h查看check_nt的帮助信息
Usage:
check_nt -H host -v variable [-p port] [-w warning] [-c critical]
[-l params] [-d SHOWALL] [-u] [-t timeout]
Options:
-h, --help
    Print detailed help screen
-V, --version
    Print version information
Options:
-H, --hostname=HOST指定主机
   Name of the host to check
-p, --port=INTEGER指定端口
   Optional port number (default: 1248)
-s, --secret=<password>
   Password needed for the request指定密码,即前面NSClient设置的密码
-w, --warning=INTEGER
   Threshold which will result in a warning status指定警告比例
-c, --critical=INTEGER
   Threshold which will result in a critical status指定紧急比例
-t, --timeout=INTEGER
   Seconds before connection attempt times out (default:  -l, --params=<parameters>
   Parameters passed to specified check (see below) -d, --display={SHOWALL}
   Display options (currently only SHOWALL works) -u, --unknown-timeout
   Return UNKNOWN on timeouts10)
-h, --help
   Print this help screen
-V, --version
   Print version information
-v, --variable=STRING
   Variable to check
Valid variables are:
CLIENTVERSION = Get the NSClient version
  If -l <version> is specified, will return warning if versions differ.
CPULOAD =cpu信息
  Average CPU load on last x minutes.
  Request a -l parameter with the following syntax:
  -l <minutes range>,<warning threshold>,<critical threshold>.
  <minute range> should be less than 24*60.
  Thresholds are percentage and up to 10 requests can be done in one shot.
  ie: -l 60,90,95,120,90,95
UPTIME =系统开机时间
  Get the uptime of the machine.
  No specific parameters. No warning or critical threshold
USEDDISKSPACE =磁盘信息
  Size and percentage of disk use.
  Request a -l parameter containing the drive letter only.
  Warning and critical thresholds can be specified with -w and -c.
MEMUSE =内存信息
  Memory use.
  Warning and critical thresholds can be specified with -w and -c.
SERVICESTATE =服务信息
  Check the state of one or several services.
  Request a -l parameters with the following syntax:
  -l <service1>,<service2>,<service3>,...
  You can specify -d SHOWALL in case you want to see working services
  in the returned string.
PROCSTATE =
  Check if one or several process are running.
  Same syntax as SERVICESTATE.
COUNTER =
  Check any performance counter of Windows NT/2000.
Request a -l parameters with the following syntax:
-l "\\<performance object>\\counter","<description>
The <description> parameter is optional and is given to a printf
  output command which requires a float parameter.
  If <description> does not include "%%", it is used as a label.
  Some examples:
  "Paging file usage is %%.2f %%%%"
  "%%.f %%%% paging file used."
INSTANCES =
  Check any performance counter object of Windows NT/2000.
  Syntax: check_nt -H <hostname> -p <port> -v INSTANCES -l <counter object>
  <counter object> is a Windows Perfmon Counter object (eg. Process),
  if it is two words, it should be enclosed in quotes
  The returned results will be a comma-separated list of instances on
   the selected computer for that object.
  The purpose of this is to be run from command line to determine what instances
   are available for monitoring without having to log onto the Windows server
    to run Perfmon directly.
  It can also be used in scripts that automatically create Nagios service
   configuration files.
  Some examples:
  check_nt -H 192.168.1.1 -p 1248 -v INSTANCES -l Process   
(3).设置监控
检测系统运行时间

  • ./check_nt -H 172.16.132.1 -p 12489 -v UPTIME -s redhat
fb47fa57255424b38bbd6f821fcd24a0.jpg
检测cpuload

  • ./check_nt -H 172.16.132.1 -p 12489 -v CPULOAD -w(警告比例) 80 -c(紧急比例)(检测参数)5,80,90 -s redhat
    90 -l
47c5ca5ec7f69109401c098d8cf3adbc.jpg
检测磁盘
  • ./check_nt -H 172.16.132.1 -p 12489 -v USEDDISKSPACE -w 80 -c 90 -l C -s redhat
61013b064fcdd218a7a9e68137120127.jpg

(4).定义真正意义上的检测
①.定义命令
编辑/usr/local/nagios/etc/objects/command.cfg
添加或修改如下:

  • define command{
  • command_name check_nt
  • command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -s redhat -v $ARG1$ $ARG2$
  • }
②.定义主机
编辑/usr/local/nagios/etc/objects/windows.cfg
添加或修改为如下(主机名修改一致):

  • define host{
  •         use             windows-server
  •         host_name       winhost
  •         alias           My Windows Host
  •         address         172.16.132.1
  •         }
  • .,$s/winserver/winhost/g
启用windows配置文件

  • vim /usr/local/nagios/etc/nagios.cfg
  •     cfg_file=/usr/local/nagios/etc/objects/windows.cfg
  • /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
登录网页http://172.16.133.11/nagios
ebeb3eb5785a85953676bdbe47255c5c.jpg
796e6488799e69af9510740ef33cf3a0.jpg

2.基于NRPE监控linux主机
1、NRPE简介
Nagios监控远程主机的方法有多种,其方式包括SNMP、NRPE、SSH和NCSA等。这里介绍其通过NRPE监控远程Linux主机的方式。
NRPE(Nagios Remote Plugin Executor)是用于在远端服务器上运行检测命令的守护进程,它用于让Nagios监控端基于安装的方式触发远端主机上的检测命令,并将检测结果输出至监控端。而其执行的开销远低于基于SSH的检测方式,而且检测过程并不需要远程主机上的系统帐号等信息,其安全性也高于SSH的检测方式。
2、安装配置被监控端
rs2:
(1).先添加nagios用户

  • useradd -s /sbin/nologin nagios
(2).NRPE依赖于nagios-plugins,因此,需要先安装之

  • tar zxf nagios-plugins-1.4.15.tar.gz
  • cd nagios-plugins-1.4.15
  • ./configure --with-nagios-user=nagios --with-nagios-group=nagios
  • make all
  • make install
(3).安装NRPE

  • tar -zxvf nrpe-2.12.tar.gz
  • cd nrpe-2.12.tar.gz
  • ./configure --with-nrpe-user=nagios \
  •      --with-nrpe-group=nagios \
  •      --with-nagios-user=nagios \
  •      --with-nagios-group=nagios \
  •      --enable-command-args \
  •      --enable-ssl
  • make all
  • make install-plugin
  • make install-daemon
  • make install-daemon-config
(4).配置NRPE
添加或修改为如下:

  • vim /usr/local/nagios/etc/nrpe.cfg
  •     log_facility=daemon
  •     pid_file=/var/run/nrpe.pid
  •     server_address=172.16.133.22
  •     server_port=5666
  •     nrpe_user=nagios
  •     nrpe_group=nagios
  •     allowed_hosts=172.16.133.11
  •     command_timeout=60
  •     connection_timeout=300
  •     debug=0
上述配置指令可以做到见名知义,因此,配置过程中根据实际需要进行修改即可。其中,需要特定说明的是allowed_hosts指令用于定义本机所允许的监控端的IP地址。
(5).启动NRPE
/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg –d
为了便于NRPE服务的启动,可以将如下内容定义为/etc/init.d/nrped脚本:

  • #!/bin/bash
  • #
  • NRPE=/usr/local/nagios/bin/nrpe
  • NRPECONF=/usr/local/nagios/etc/nrpe.cfg
  • case "$1" in
  • start)
  •   echo -n "Starting NRPE daemon..."
  •   $NRPE -c $NRPECONF -d
  •   echo " done."
  •   ;;
  • stop)
  •   echo -n "Stopping NRPE daemon..."
  •   pkill -u nagios nrpe
  •   echo " done."
  • ;;
  • restart)
  •   $0 stop
  •   sleep 2
  •   $0 start
  •   ;;
  • *)
  •   echo "Usage: $0 start|stop|restart"
  •   ;;
  • esac
  • exit 0
或者在/etc/xinetd.d目录中创建nrpe文件,使其成为一个基于非独立守护进程的服务,文件内容如下:

  • service nrpe
  • {
  • flags = REUSE
  • socket_type = stream
  • wait = no
  • user = nagios
  • group = nagios
  • server = /opt/nagios/bin/nrpe
  • server_args = -c /etc/nagios/nrpe.cfg -i
  • log_on_failure += USERID
  • disable = no
  • }
此种情况下启动NRPE进程需要通过重启xinetd来实现.
(6).配置允许远程主机监控的对象
在被监控端,可以通过NRPE监控的服务或资源需要通过nrpe.conf文件使用命令进行定义,定义命令的语法格式为:command[<command_name>]=<command_to_execute>。比如:

  • command[check_rootdisk]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /
  • command[check_swap]=/usr/local/nagios/libexec/check_disk -w 40% -c 20%
  • command[check_sensors]=/usr/local/nagios/libexec/check_sensors
  • command[check_users]=/usr/local/nagios/libexec/check_users -w 10 -c 20
  • command[check_load]=/usr/local/nagios/libexec/check_load -w 10,8,5 -c 20,18,15
  • command[check_zombies]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z
  • command[check_all_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200
3.配置监控端
(1).安装NRPE

  • tar -zxvf nrpe-2.12.tar.gz
  • cd nrpe-2.12.tar.gz
  • ./configure --with-nrpe-user=nagios \
  •      --with-nrpe-group=nagios \
  •      --with-nagios-user=nagios \
  •      --with-nagios-group=nagios \
  •      --enable-command-args \
  •      --enable-ssl
  • make all
  • make install-plugin
(2).定义如何监控远程主机及服务:
通过NRPE监控远程Linux主机要使用chech_nrpe插件进行,其语法格式如下:
check_nrpe -H <host> [-n] [-u] [-p <port>] [-t <timeout>] [-c <command>] [-a <arglist...>]
使用示例1:
定义监控远程Linux主机命令信息:

  • define command{
  •         command_name check_nrpe
  •         command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
  •         }
定义监控远程linux主机信息

  • define host{
  •           use             linux-server
  •           host_name       rs2        //需要修改工作站的主机名
  •           alias           rs2
  •           address         192.168.0.44      //工作站主机IP
  •                }
  • define service{
  •         use                      generic-service
  •         host_name                rs2
  •         service_description      check-swap         //对下面操作的描述
  •         check_command            check_nrpe!check_swap   //执行检测交换分区命令,监控swap
  •                }
  • define service{
  •         use                      generic-service
  •         host_name                rs2
  •         service_description      check-load
  •        check_command             check_nrpe!check_load    //监控负载
  •                }
  • define service{
  •         use                      generic-service
  •         host_name                rs2
  •        service_description       check-disk
  •        check_command             check_nrpe!check_disk    //监控硬盘
  •               }
  • define service{
  •         use                     generic-service
  •         host_name               rs2
  •        service_description      check-users
  •        check_command            check_nrpe!check_users          //监控用户(使用)情况
  •                }
  • define service{
  •         use                    generic-service
  •         host_name              rs2
  •         service_description    total_procs
  •         check_command          check_nrpe!check_total_procs        //监控进程
  •         }
打开网页http://172.16.133.11/nagios,点击service,有的可能要等会刷新
659ecbaee6b9c943b4d050290309c916.jpg


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-829-1-1.html 上篇帖子: Nagios搭建 下篇帖子: nagios插件-查看redis的内存使用率 主机 windows

尚未签到

发表于 2013-3-13 15:05:44 | 显示全部楼层
有竞争才有进步嘛

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-15 19:34:13 | 显示全部楼层
比我有才的都没我帅,比我帅的都没我有才!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-16 19:05:34 | 显示全部楼层
鸳鸳相抱何时了,鸯在一边看热闹。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

发表于 2013-5-17 23:39:36 | 显示全部楼层
谢谢楼主,共同发展

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

发表于 2013-5-19 04:33:13 | 显示全部楼层
解释就是掩饰,掩饰就是编故事!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-20 09:06:36 | 显示全部楼层
我是个凑数的。。。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表