`
xitonga
  • 浏览: 587103 次
文章分类
社区版块
存档分类
最新评论

Nagios监控lvs服务

阅读更多

1在lvs服务器上安装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在配置文件最末尾,添加配置信息以及监控主机服务器ip地址

[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是否正常运行:

去nagios服务器端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=3

if [ $# -lt 4 ];then
    echo
    echo \"Usage: $USAGE_Method\"
    echo
    exit 0
fi
while [ $# -gt 0 ];
do
    case \"$1\" in
    -w|--warning)
    shift
    warning=$1
    ;;
    -c|--critical)
    shift
    critical=$1
    ;;
    esac
    shift
done


if [[ $warning == $critical || $warning -gt $critical ]]
then
    #echo $warning
    #echo $critical
    echo \"$USAGE_Value\"
    echo \"Usage: $USAGE_Method\"
    exit 0
fi


ACT_COUNT=0
Inactive_count=0
stat1=`sudo ipvsadm | grep http | grep Route|wc -l`
if [ $stat1 -ne 0 ];then
    for NUM in `sudo ipvsadm | grep http | grep Route | awk \'{print $5}\'`
    do
         ACT_COUNT=$(($ACT_COUNT+ $NUM))
    done
    for NUM in `sudo ipvsadm | grep http | grep Route | awk \'{print $6}\'`
    do
        Inactive_count=$(($Inactive_count+ $NUM))
    done
else
    echo \" stat1:$stat1, lvs critical,lvs is down now.\"
    exit 3
fi



if [[ \"$ACT_COUNT\" -gt \"$critical\" ]]
then
    echo \"critical - lvs connetion is : $ACT_COUNT active\"
    exit 2
fi
if [[ \"$ACT_COUNT\" -gt \"$warning\" && \"$ACT_COUNT\" -lt \"$critical\" ]]
then
    echo \"warning - lvs connetions is : $ACT_COUNT active\"
    exit 1
fi
if [[ \"$ACT_COUNT\" -lt \"$warning\" || $ACT_COUNT == 0 ]]
then
    echo \"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.3nagios服务端check一下


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

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

说明:由于check_lvs是要调用ipvsadm命令来获取LVS状态的,而ipvsadm命令是只能以root用户来运行的, 所以需要将nagios用户设置成可以无需密码直接su成root,这样就能以nagios用户运行命令sudo /usr/lib/nagios/plugins/check_lvs。在centos系统中,无法直接调用sudo命令,需要修改/etc/sudoers,找到 #Defaults requiretty 并取消注释,另外新增一行。表示nagios用户不需要登陆终端就可以调用命令,如下所示:

Defaults    requiretty
Defaults:nagios    !requiretty
#添加nagios 请求sudo,允许特定指令时(可跟参数),不需要密码(如)。
nagios ALL=(ALL) NOPASSWD: ALL

再去naigos服务器上面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.4nagios服务器上添加配置

vim services.cfg
define service{
        host_name               lvs-lan
        service_description     Check lvs
        check_command           check_nrpe!check_lvs
        max_check_attempts      5
        normal_check_interval   3
        retry_check_interval    2
        check_period            24x7
        notification_interval   10
        notification_period     24x7
        notification_options    w,c,r
        contact_groups          opsweb
        }
vim objects/commands.cfg
define command{
        command_name    check_lvs
        command_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/

分享到:
评论

相关推荐

    搭建lvs keepalived mfs 集群nagios监控

    mfs分布文件系统keepalived集群并用nagios集群监控

    Linux-CentOS7.3-系统从入门到精通Wrod版

    4. Linux初级部署 64 4.1 部署Linux防火墙 64 4.2 部署NTP时间服务 67 4.3 部署FTP文件服务 68 4.4 部署Samba服务 69 4.5 部署NFS文件服务 72 4.6 部署MFS文件服务 73 ...4.23 部署Nagios监控服务 129

    linux集群应用实战1-4源码 PPT

    接着介绍nagios监控系统,Nagios是系统管理人员和运维监控人员必须的工具之一,使用nagios可以监控本地或远程主机资源,例如磁盘空间、系统负载等信息,也可以监控各种应用服务,例如httpd服务、ftp服务等,当主机...

    linux集群应用实战

    第6-9讲 安装与配置nagios监控系统 课程目标:快速搭建一个基于nagios的网络监控系统 安装nagios软件 安装nagios插件 nagios默认配置文件结束 nagios各个配置文件之间的关系 详细介绍nagios每个配置文件 第10讲 ...

    高性能Linux服务器构建实战:运维监控、性能调优与集群应用

    运维监控与性能优化篇通过理论与实践相结合的方法讲解了如何利用Nagios进行性能监控,以及Linux服务器的性能分析原则和优化方法。集群高级应用篇是前面内容的综合,也是本书的核心,主要讲述了如何通过LVS+heartbeat...

    Linux运维从入门到高级全套案例v3

    3.1. 10 Nagios监控平台搭建 50 3.1. 11 Kickstart自动化安装平台 56 4. Linux编程篇 60 4.1 Linux Shell编程 60 4.1. 1 Shell编程简介 60 4.1. 2 Shell变量设置 61 4.1. 3 Shell流程控制语句 62 4.1. 4 Shell脚本...

    集群好书《高性能Linux服务器构建实战》 试读章节下载

    9.5 利用插件扩展Nagios的监控功能 9.5.1 利用NRPE外部构件监控远程主机 9.5.2 利用飞信实现Nagios短信报警功能 9.6 本章小结 第10章 基于Linux服务器的性能分析与优化 10.1 系统性能分析的目的 10.1.1...

    1703+1579643231+麦子-搭建高性能web服务器集群架构网站

    搭建高性能web服务器集群架构网站 1、数据库采用MYSQL 主主复制+MMM 高可用 2、Web 集群采用LVS+DR 模式,采用...5、使用nagios 对所有服务器进行状态监控 自行搭建集群架构网站,环境条件简单,步骤清晰,可操作性强

    monitor:监控系统,自行开发强大而灵活的配置

    zabbix,nagios,仙人掌,小米监控等都使用相当简单。只需要会写脚本,语言不限就可以实现任意监控需求。系统安装简单,配置简单1,数据采集免配置:agent自发现,agent主动推送,任何数据自定义脚本2,可扩展性,...

    老男孩Mysql高级DBA 实战新浪首席DBA 老男孩教育杨海朝老师全程主讲 老男孩Mysql视频.txt

    │ 1202-nagios监控报警_rec.mp4 │ 1203-MySQL5.7的新特性_rec.mp4 │ 1204-RDBMS的发展_rec.mp4 │ 1205-memcached介绍_rec.mp4 │ 1206-redis简单介绍_rec.mp4 │ 1207-mongoDB和HBase简单介绍_rec.mp4 │ ├─L...

Global site tag (gtag.js) - Google Analytics