设为首页 收藏本站
查看: 1364|回复: 2

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

[复制链接]

尚未签到

发表于 2017-4-20 10:08:25 | 显示全部楼层 |阅读模式
  完成了 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

运维网声明 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-366718-1-1.html 上篇帖子: Ganglia 和 Nagios,用 Ganglia 监视企业集群 下篇帖子: 分析Nagios服务与命令还有插件的关系(四)(转载)
累计签到:3 天
连续签到:1 天
发表于 2017-7-22 10:58:26 | 显示全部楼层
文章不错啊,多谢分享。

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

累计签到:213 天
连续签到:1 天
发表于 2017-7-28 13:40:21 | 显示全部楼层
文章不错啊,多谢分享。

运维网声明 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

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