`

用 Nagios 对你服务器全面监控(Plugis 和安装和配置)

 
阅读更多

完成了 Nagios 的基本平台安装,我们现在来说说 Plugis 和安装和配置.

官网插件的最新版本为 nagios-plugins-1.4.12 .sourceforge.net 被封,你照样还得通过其他方法得到这个插件.

tar -zxvf nagios-plugins-1.4.12.tar.gz
cd nagios-plugins-1.4.12
 ./configure --prefix=/usr/local/nagios-plugs
mv /usr/local/nagios-plugs/libexec /usr/local/nagios/libexec

这样就可以了,在 libexec 目录下你会发现很多可执行的脚本程序,名称类似 check_icmp. Nagios 的检查服务大部分是通过这些插件来完成的,每定义一个监控你需要知道这些插件是如何工作的,比如我们要知道 check_icmp 这个是如何服务的,只需:

./check_icmp -h
Copyright (c) 2005 Andreas Ericsson<ae@op5.se>Copyright (c) 2005-2008 Nagios Plugin Development Team<nagiosplug-devel@lists.sourceforge.net>Usage: check_icmp [options] [-H] host1 host2 hostN

Options:
 -h, --help
    Print detailed help screen
 -V, --version
    Print version information
 -H
    specify a target
 -w
    warning threshold (currently 200.000ms,0%)
 -c
    critical threshold (currently 500000.000ms,80%)
 -s
    specify a source IP address or device name
 -n
    number of packets to send (currently 5)
 -i
    max packet interval (currently 80.000ms)
 -I
    max target interval (currently 0.000ms)
 -m
    number of alive hosts required for success
 -l
    TTL on outgoing packets (currently 0) -t
    timeout value (seconds, currently  10)
 -b
    icmp packet size (currenly ignored)
 -v
    verbose
......
./check_icmp -H www.163.com
OK - www.163.com: rta 32.162ms, lost 0%|rta=32.162ms;200.000;500.000;0; pl=0%;40;80;;

可以看到 "OK" 字样,以及一些详细的信息.

就拿 check_ping 这个来举例吧.首先会在 etc/objects/commands.cfg 这个文件这样定义:

#'check-host-alive'command definition
define command{
        command_name    check-host-alive
        command_line    $USER1$/check_ping -H $HOSTADDRESS$ -w 3000.0,80% -c 5000.0,100% -p 5
        }

然后我们会在 etc/objects/localhost.cfg 这个文件里发现这样的字眼

check_command check-host-alive

.csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; }这样在你 Nagios 的web页面上会看到 localhost 这个主机状态为up.

 

那在 Nagios 里如何调用这些可以独立工作的插件呢?

Nagios.3.X 和 Nagios.2.X 的配置上还是有一点小差别的.在这篇里我将会用例子讲述如何定义 commands,host 和 services.我们通过一个监控 ssh 的服务来具体说明.

我有一台远程主机,开放了 ssh 服务,并且端口改为 33220,现在要监控这个主机的这个服务.

首先我们要先了解 check_ssh 的用法,输入 –h 可以查看帮助

./check_ssh -H x.x.x.x -p 33220
SSH OK - OpenSSH_4.5p1 FreeBSD-20061110 (protocol 2.0)

.csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; }好,我们先来定义 commands

 

vi etc/objects/commands.cfg
#'check_ssh'command definition
define command{
        command_name    check_ssh
        command_line    $USER1$/check_ssh -H $
   $HOSTADDRESS$ -p $ARG1&
        }

在 command_line 的最后面我们添加 -p $ARG1$

接着我们来定义 host .在 Nagios.3.x 里面,etc 目录下将会有 cgi.cfg , nagios.cfg,resource.cfg 几个配置文件和一个 objects 目录.我们要自定义服务器,我们先修改 nagios.cfg 这个文件,把这一样的注释取消

cfg_dir=/usr/local/nagios/etc/servers

这样我们可以在 servers 这个目录下添加我们自定义服务器的配置文件,分类管理,适合大型网络.当然如果你的服务器不多,你就完全可以随便在哪弄一个配置文件然后再 nagios.cfg 里面声明即可 ^0^

# vi etc/servers/myhost.cfg

define host {
use                     linux-server
host_name myhost
alias myhost
address x.x.x.x
check_command check-host-alive

}
define service {
use                             local-service
host_name myhost
service_description           SSH
check_period 24x7
max_check_attempts 2
normal_check_interval 3
retry_check_interval 2
notification_interval 10
notification_period 24x7
notification_options w,u,c,r
check_command check_ssh!33220

}

完成这样的定义,我们在web上就可以看到这个host的状态的ssh服务的监控了.

现在来说明下 define host 的一些参数

—————–

define host{

host_name host_name    #简短的主机名称

alias alias    #别名,可以更详细的说明主机

address address    #ip地址,当然你如果足够信任你的DNS的话,也可以写名称。如果你不定义这个值,nagios将会用host_name去寻找主机。

parents host_names    #上一节点的名称,也就是指从nagios服务器到被监控主机之间经过的节点,可以是路由交换机、主机等等。当然,这个节点也要定义,并且要被nagios监控。

hostgroups hostgroup_names    #主机组名称,简短的

check_command command_name    #检查命令的简短名称,如果此项留空,nagios将不会去判断该主机是否alive。

max_check_attempts 整数    #当检查命令的返回值不是“OK”时,重试的次数

check_interval 数字    #循环检查的间隔时间。

active_checks_enabled [0/1]    #是否启用“active_checks”

passive_checks_enabled [0/1]    #是否启用“passive_checks”,及“被动检查”

check_period timeperiod_name    #检测时间段简短名称,注意这个只是个名称,具体的时间段要写在其他的配置文件中哦!

obsess_over_host [0/1]    #是否启用主机操作系统探测。

check_freshness [0/1]    #是否启用freshness测试。freshness测试是对于启用被动测试模式的主机而言的,其作用是定期检查该主机报告的状态信息,如果该状态信息已经过期,freshness将会强制作主机检查。

freshness_threshold  数字     #fressness的临界值,单位为秒。 如果定义为0,则为自动定义。

event_handler command_name    #当主机发生状态改变时,采用的处理命令的简短的名字(可以在commands.cfg中对其定义)

event_handler_enabled [0/1]    #是否启用event_handler

low_flap_threshold  数字    #抖动的下限值。这里我简单解释一下抖动的含义,它定义了这样一种现象:在一段时间内,主机(或服务)的状态值频繁的发生变化,类似一个问题风暴或者一个网络问题。

high_flap_threshold 数字   #抖动的上限值

flap_detection_enabled [0/1]    #是否启用抖动检测

process_perf_data [0/1]    #是否启用processing of performance data

retain_status_information [0/1]    #程序重启时,是否保持主机状态相关的信息

retain_nonstatus_information [0/1]    #程序重启时,是否保持主机状态无关的信息

contact_groups contact_groups    #联系人组(这个组会在contactgroup.cfg文件中定义),在此组中的联系人都会受到该主机的告警提醒信息。

notification_interval  整数    #告警临界值。达到此次数之后,才会发送该机的报警提醒信息。

notification_period timeperiod_name   #该机的告警时间段

notification_options [d,u,r,f]    #该机告警包括的状态变化结果

notifications_enabled [0/1]    #是否启用告警提醒功能

stalking_options [o,d,u]    #持续状态检测参数,o = 持续的UP状态, d = 持续的DOWN状态, and u = 持续的UNREACHABLE状态.

}

—————————

总的来说,nagios 配置还是比较简单的,关键是要善于应用插件和合理的调用.

 

来源 : http://hi.chinaunix.net/?uid-18787823-action-viewspace-itemid-23286

分享到:
评论

相关推荐

    nagios安装和配置全过程

    通过以上步骤,你应该已经成功安装并配置了Nagios,能够对服务器进行基本的监控。在实践中,你可能会遇到各种问题,例如权限问题、网络通信问题等,这都需要你根据错误信息和文档来解决。不断学习和实践,将帮助你更...

    服务器监控nagios配套软件

    【服务器监控nagios配套软件】是一套用于网络和系统监控的强大工具,主要由Nagios核心和一系列Nagios插件组成。Nagios是一款开源的、高度可定制的监控系统,它能够实时监控网络服务、主机状态以及各种基础设施设备,...

    搭建nagios监控服务器最佳实践

    合理配置Nagios的配置文件和插件,可以定制化监控目标,实现对整个IT基础架构的全面监控,确保企业的业务连续性和系统稳定性。因此,掌握这些监控工具和Nagios监控服务器的搭建知识,对于IT运维人员来说是必不可少的...

    nagios的安装和配置 nagios的安装和配置nagios的安装和配置nagios的安装和配置

    本文将详细介绍Nagios的安装和配置过程,帮助你构建一个有效的网络监控环境。 **一、Nagios简介** Nagios起源于1999年,由Nathan Rice开发,最初设计用于监测主机和服务的状态。随着时间的发展,Nagios已经发展...

    Nagios远程监控Windows服务器的安装与配置

    ### Nagios远程监控Windows服务器的安装与配置 #### 一、Nagios简介及功能 Nagios是一款开源的电脑系统和网络监视工具,能够有效监控Windows、Linux和Unix等不同操作系统下的主机状态,以及交换机、路由器等网络...

    nagios监控服务器架设

    Nagios是一款广泛使用的开源网络监控系统,它能够监控网络服务、主机以及各种系统资源,及时发现并通知系统管理员可能...通过以上步骤和知识,我们可以成功搭建起一个Nagios监控服务器,实现对网络和系统的有效监控。

    CentOS安装Nagios和监控Linux、Windows客户端以及微信报警详细配置

    ### CentOS安装Nagios...通过以上步骤,我们已经在CentOS 6.5 64位系统上成功安装配置了Nagios监控平台,并实现了对Linux和Windows客户端的监控,同时配置了微信报警功能。这将大大提高系统的运维效率和问题响应速度。

    nagios监控配置centos6.4

    `use`指令用于继承预定义的模板,如`linux-server`,这包含了针对Linux服务器的基本监控配置。 - **服务块(Service Block)**: 定义了Nagios要检查的具体服务,例如SSH、HTTP、DNS等。每个服务都包含检查命令、...

    服务器监控软件nagios安装及配置

    服务器监控软件nagios安装及配置,centos6.5安装环境。已部署在本单位主控机房。

    nagios安装与配置

    4. **配置插件**:Nagios使用插件进行实际的监控工作,如`check_ping`检查网络可达性,`check_disk`监控磁盘空间等。确保这些插件已安装并在PATH路径中。 三、Nagios Web界面 1. **CGI配置**:配置Nagios的Web界面...

    Nagios的安装与配置

    通过以上步骤和概念的理解,你可以顺利地在目标服务器上部署Nagios,开始对网络和系统资源进行有效的监控。Nagios的强大之处不仅在于其本身的功能,更在于其开放性和可扩展性,允许用户根据特定需求进行定制化开发,...

    用nagios来监控网络服务器和网络服务

    nagios可以对服务器进行全面的监控,包括服务(apache、mysql、ntp、dns、disk、qmail和sshd等等)的状态,服务器的状态(up、down等等)。它是一个完全GPL协议的开源软件包,包含有nagios主程序和它的各个插件,...

    Nagios网络监控.docx

    Nagios 网络监控系统实现 mysql 服务器监控 Nagios 是一款开源的免费网络监控软件,具有服务的运行状态监控功能,与 Cacti 不同的是,Nagios 可以实时监控服务器的性能和状态。下面是 Nagios 网络监控系统的实现...

    Nagios安装与配置

    - **监控机**:负责运行 Nagios 监控软件,对收集的数据进行处理,并提供 Web 界面供管理员查看和管理监控信息。 - **被监控机**:安装了 NRPE 等客户端,根据监控机的请求执行具体的监控任务,并将结果反馈给监控...

    [手动配置]利用Nagios实现服务器监控.doc

    本文将详细介绍如何手动配置Nagios以实现对Linux服务器的监控,特别关注NRPE(Nagios Remote Plugin Executor)插件的安装与配置。 首先,NRPE是Nagios监控远程Linux主机的关键组件,它包含两部分:`check_nrpe`...

    服务器监控利器nagios

    【服务器监控利器nagios】 nagios是一款强大的开源服务器监控工具,它能够实时监测主机硬件资源、系统环境、数据库、网络以及应用等关键指标,确保系统的稳定运行。通过nagios,管理员可以及时获取系统异常信息,...

    linux运维监控Nagios配置

    Linux运维监控Nagios配置是IT系统管理中的关键一环,它可以帮助我们实时监测服务器、网络设备和服务的状态,提前预警潜在的问题,确保系统的稳定运行。Nagios是一款强大的开源监控系统,可以监控主机、服务、网络...

    Nagios+nagiosql配置

    - 解压缩Nagios安装包,并按照官方文档的指导进行编译和安装。过程中可能需要设置配置文件路径、服务监控选项以及邮件通知设置等。 - 安装和配置Nagios的插件,这些插件是Nagios进行服务监控的核心工具。 ### 3. ...

    Hadoop集群监控工具-Nagios3.4.3详细配置与安装

    Nagios是一款强大的IT运维监控工具,主要用于监测网络服务、主机状态以及各种系统资源,...通过详细的配置和安装过程,我们可以将其集成到现有的IT环境中,实现对硬件、软件和服务的实时监控,及时发现并解决潜在问题。

Global site tag (gtag.js) - Google Analytics