1在lvs server上安装nrpe客户端:

1.1,rpm方式安装nrpe客户端

下载地址:http://download.csdn.net/detail/mchdba/7493875

[root@localhost nagios]# ll总计 768
-rw-r--r-- 1 root root 713389 12-16 12:08 nagios-plugins-1.4.11-1.x86_64.rpm
-rw-r--r-- 1 root root  32706 12-16 12:09 nrpe-2.12-1.x86_64.rpm
-rw-r--r-- 1 root root  18997 12-16 12:08 nrpe-plugin-2.12-1.x86_64.rpm
[root@localhost nagios]# rpm -ivh *.rpm --nodeps  --force

1.2 在配置文件最末尾,加入配置信息以及监控主机serverip地址

[root@ localhost nagios]# vim /etc/nagios/nrpe.cfg
# add by tim on 2014-06-11
command[check_users]=/usr/local/nagios/libexec/check_users -w 8 -c 15
command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
command[check_sda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda
command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z
#command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 50 -c 80
command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 750 -c 800
command[check-host-alive]=/usr/local/nagios/libexec/check_ping -H localhost -w 3000.0,80% -c 5000.0,100% -p 5
allowed_hosts = 127.0.0.1, 10.2xx.3.xx

check下命令是否生效:

[root@web-9 nrpe-2.15]# /usr/local/nagios/libexec/check_users -w 8 -c 15
USERS OK - 2 users currently logged in |users=2;8;15;0
[root@web-9 nrpe-2.15]#

看到已经USERS OK -….命令已经生效。

1.3 启动nrpe报错例如以下:

[root@web-9 ~]# service nrpe restart
Shutting down nrpe:                                        [失败]
Starting nrpe: /usr/sbin/nrpe: error while loading shared libraries: libssl.so.6: cannot open shared object file: No such file or directory[失败]
[root@web-9 ~]#
[root@db-m2-slave-1 nagios_client]# service nrpe start
Starting nrpe: /usr/sbin/nrpe: error while loading shared libraries: libssl.so.6: cannot open shared object file: No such file or directory[失败]
[root@db-m2-slave-1 nagios_client]#

建立连接

[root@db-m2-slave-1 nagios_client]# ln -s /usr/lib64/libssl.so /usr/lib64/libssl.so.6(假设没有libssl.so,就採用别的libssl.so.10来做软连接,ln -s /usr/lib64/libssl.so.10 /usr/lib64/libssl.so.6)
[root@db-m2-slave-1 nagios_client]#

再又一次启动例如以下:

[root@db-m2-slave-1 nagios_client]# service nrpe start
Starting nrpe: /usr/sbin/nrpe: error while loading shared libraries: libcrypto.so.6: cannot open shared object file: No such file or directory[失败]
[root@web-10 ~]# ll /usr/lib64/libcrypto.so
lrwxrwxrwx. 1 root root 18 10月 13 2013 /usr/lib64/libcrypto.so -> libcrypto.so.1.0.0
[root@db-m2-slave-1 nagios_client]#

再建链接:

[root@db-m2-slave-1 nagios_client]# ln -s /usr/lib64/libcrypto.so /usr/lib64/libcrypto.so.6
(或者假设没有libcrypto.so,就採用libcrypto.so.10做软连接, ln -s /usr/lib64/libcrypto.so.10 /usr/lib64/libcrypto.so.6)
[root@db-m2-slave-1 nagios_client]# service nrpe start
Starting nrpe:                                             [确定]
[root@db-m2-slave-1 nagios_client]#

1.4 检測下nrpe是否正常执行:

去nagiosserver端check下

[root@cache-2 ~]#  /usr/local/nagios/libexec/check_nrpe -H xx.xx3.xx
NRPE v2.12
[root@cache-2 ~]#

[root@cache-2 ~]#  /usr/local/nagios/libexec/check_nrpe -H xx.xx3.xx

NRPE v2.12

[root@cache-2 ~]#

看到返回NRPE v2.15表示已经连接成功。

2 编写shell脚本实现lvs监控

2.1 监控脚本
Nagios里面没有现成的监控lvs的状态脚本,所以须要去网上找一个简单的监控脚本check_lvs.sh,copy到/usr/lib/nagios/plugins/文件夹,赋予nagios权限,脚本内容例如以下:

#!/bin/bash
# http://www.ohlinux.com/archives/632/
# add by tim on 20140613
USAGE_Method=\"$(basename $0)[-h|--hostname] <Free ip or hostname> [-w|--warning] <Free integer> [-c|--critical] <Free integer>\"
USAGE_Value=\"warning value must be small than critical value: `basename $0` $*\"
STATE_OK=0
STATE_WARNING=1
STATE_CRITICAL=2
STATE_UNKNOWN=3if [ $# -lt 4 ];thenechoecho \"Usage: $USAGE_Method\"echoexit 0
fi
while [ $# -gt 0 ];
docase \"$1\" in-w|--warning)shiftwarning=$1;;-c|--critical)shiftcritical=$1;;esacshift
doneif [[ $warning == $critical || $warning -gt $critical ]]
then#echo $warning#echo $criticalecho \"$USAGE_Value\"echo \"Usage: $USAGE_Method\"exit 0
fiACT_COUNT=0
Inactive_count=0
stat1=`sudo ipvsadm | grep http | grep Route|wc -l`
if [ $stat1 -ne 0 ];thenfor NUM in `sudo ipvsadm | grep http | grep Route | awk \'{print $5}\'`doACT_COUNT=$(($ACT_COUNT+ $NUM))donefor NUM in `sudo ipvsadm | grep http | grep Route | awk \'{print $6}\'`doInactive_count=$(($Inactive_count+ $NUM))done
elseecho \" stat1:$stat1, lvs critical,lvs is down now.\"exit 3
fiif [[ \"$ACT_COUNT\" -gt \"$critical\" ]]
thenecho \"critical - lvs connetion is : $ACT_COUNT active\"exit 2
fi
if [[ \"$ACT_COUNT\" -gt \"$warning\" && \"$ACT_COUNT\" -lt \"$critical\" ]]
thenecho \"warning - lvs connetions is : $ACT_COUNT active\"exit 1
fi
if [[ \"$ACT_COUNT\" -lt \"$warning\" || $ACT_COUNT == 0 ]]
thenecho \"LVS OK - LVS is running (conn: $ACT_COUNT active, $Inactive_count inactive)|active=$ACT_COUNT;69999;99999;0; inactive=$Inactive_count;69999;99999;0;\"exit 0
fi

2.2 nrpe.cfg里面配置例如以下

Vim /etc/nagios/nrpe.cfg,在里面加入一行check_lvs命令:

command[check_lvs]=/usr/lib/nagios/plugins/check_lvs -w 300 -c 600 

之后重新启动nrpe

[root@/root/nagios/check_lvs ~]# service nrpe restart;
Shutting down nrpe:                                        [确定]
Starting nrpe:                                             [确定]
[root@/root/nagios/check_lvs ~]#service nrpe restart;

2.3 去nagios服务端check一下


[root@cache-2 ~]#  /usr/local/nagios/libexec/check_nrpe -H 1x.xx4.x.x5 -c check_lvslvs critical,lvs is down now.
[root@cache-2 ~]#

看到check出来lvs服务已经处于down模式。

说明:因为check_lvs是要调用ipvsadm命令来获取LVS状态的,而ipvsadm命令是仅仅能以root用户来执行的, 所以须要将nagios用户设置成能够无需password直接su成root,这样就能以nagios用户执行命令sudo /usr/lib/nagios/plugins/check_lvs 。在centos系统中,无法直接调用sudo命令,须要改动/etc/sudoers, 找到 #Defaults requiretty 并取消凝视,另外新增一行。表示nagios用户不须要登陆终端就能够调用命令,例如以下所看到的:

Defaults    requiretty
Defaults:nagios    !requiretty
#加入nagios 请求sudo,同意特定指令时(可跟參数),不须要password(如)。
nagios ALL=(ALL) NOPASSWD: ALL

再去naigosserver上面check下,已经生效,例如以下所看到的:

[root@cache-2 etc]# /usr/local/nagios/libexec/check_nrpe -H 10.xx.xx.xx -c check_lvs
LVS OK - LVS is running (conn: 16 active, 77 inactive)|active=16;69999;99999;0; inactive=77;69999;99999;0;
[root@cache-2 etc]#

2.4 在nagiosserver上加入配置

vim services.cfg
define service{host_name               lvs-lanservice_description     Check lvscheck_command           check_nrpe!check_lvsmax_check_attempts      5normal_check_interval   3retry_check_interval    2check_period            24x7notification_interval   10notification_period     24x7notification_options    w,c,rcontact_groups          opsweb}
vim objects/commands.cfg
define command{command_name    check_lvscommand_line    $USER1$/check_lvs -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$}

之后又一次载入nagios既完毕了对lvs的监控服务。

[root@cache-2 etc]# service nagios reload
Running configuration check...
Reloading nagios configuration...
done
[root@cache-2 etc]#

至此,nagios以下对lvs服务的监控已经完毕。

參考资料:http://c20031776.blog.163.com/blog/static/684716252013627506890/

转载于:https://www.cnblogs.com/mengfanrong/p/4316431.html

Nagios监控lvs服务相关推荐

  1. 通过Nagios监控weblogic服务

    1.前言      前段时间搭建了一套Nagios监控服务,心血来潮想自己写一个脚本,拓展Nagios插件来监控公司的weblogic服务. 环境:weblogic10.3.3.0 . CentOS6 ...

  2. nagios监控mysql服务_nagios监控mysql及邮件报警

    1.使用默认监控命令check_http命令+相关的参数来实现,如下: 在command.cfg添加如下关键词监控命令:check_http_word,参数解析:-I指定IP或者主机名,-u指定URL ...

  3. nagios监控mysql服务_nagios监控mysql服务

    配置被监控端 1.安装check_mysql插件 nagios 监控 mysql 需要用到 check_mysql 和 check_mysql_query 两个插件. 安装完成 nagios 后,发现 ...

  4. Nagios监控NFS服务

    一.Nagios介绍 1.Nagios简介 Nagion是一块开源的网路io及服务的监控工具,其功能强大,灵活性强.能有效监控故障级别发出告警信息(邮件.微信.飞信等),在状态恢复后发出正常的邮件或短 ...

  5. Nagios监控笔记上

    Nagios软件介绍及服务端安装部署实战 1. Nagios服务端安装 1.1 准备3台服务器或者虚拟机器 管理IP地址 角色 备注 192.168.1.80 Nagios监控服务器 192.168. ...

  6. 安装nagios+监控Linux客户端服务端+监控windows客户端

    1.解决依赖包 yum -y install httpd gcc glibc glibc-common gd gd-devel php php-mysql mysql mysql-devel mysq ...

  7. nagios监控linux主机及服务信息

    Nagios监控linux等多方应用 一.Nagios简介 1.Nagios是一款遵循GPLv2的开源网络监控软件,可用来监控指定的多种系统的主机.服务,并可在它们的工作状态发生变化时通知管理员.它的 ...

  8. linux服务篇-Nagios监控

    Nagios是一款开源免费的网路监视工具(不准确,它也收费),可以监控的设备:Windows,Linux,Unix,Router,Switch,具有报警功能,是一个网络监控系统.它可以监视你指定的主机 ...

  9. 使用Nagios监控网页

    使用Nagios监控网页<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" / ...

最新文章

  1. ip协议分析实验报告_入门工业通讯之EtherNet/IP协议分析
  2. HTTP 错误 500.19 - Internal Server Error
  3. Absolute C++ Chapter 3 Self-Test Exercise(3)
  4. java vm_Java VM –提防YoungGen空间
  5. 图像重建算法_基于深度学习图像重建算法(DLIR)对CT图像质量和剂量优化的研究:体模实验...
  6. 正在导出系统过程对象和操作 卡住_开会时CPU 飙升100%同事们都手忙脚乱记一次应急处理过程
  7. oracle 01035,oracle常用命令(一)
  8. 如何高效工作,享受品质生活?看看少数派的经验总结吧
  9. C#:实现模糊PID控制算法(附完整源码)
  10. 小米路由老毛子 潘多拉Padavan 无线桥接中继
  11. linux下思维导图软件,Linux思维导图软件
  12. 美通企业日报 | 阿里收购网易考拉入股网易云音乐;宁德时代与博世达成战略合作...
  13. DDOS攻击与防御(一)
  14. 金融科技赋能 互融云手机回租系统 实现资产全流程在线运营管理
  15. 20165219王彦博第一周学习总结
  16. 开源项目——小Q聊天机器人V1.3
  17. Eclipse java.lang.NoClassDefFoundError: org/dom4j/io/SAXReade 错误解决方法
  18. JAVA计算:用 100 元钱买 100 支笔,其中钢笔 3 元 / 支,圆珠笔 2 元 / 支,铅笔 0.5 元 / 支,问钢笔、圆珠笔和铅笔可以各买多少支 ?
  19. 时间序列:移动窗口函数(rolling,expanding)
  20. 攻防世界 Ditf misc

热门文章

  1. 【万能小说分析】【python】【词频分析】【词频统计】【jieba】【matplotlib】【wordcloud】【绘图】
  2. 议rman的crosscheck和obsolete
  3. 一步一步学DataGuard之基础篇
  4. LINUX静态网络配置
  5. SpringSecurityOAuth使用JWT Token实现SSO单点登录
  6. bzoj 1997: [Hnoi2010]Planar
  7. js设计模式-组合模式
  8. [转]Linux下使用dirname命令
  9. .net得到ip(引)
  10. asp关于从utf8页面到gb2312页面出现乱码得解决