一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

linux中Nagios监控LVS连接数方法

时间:2014-06-30 编辑:简简单单 来源:一聚教程网

LVS 介绍

LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一。

可伸缩网络服务的几种结构,它们都需要一个前端的负载调度器(或者多个进行主从备份)。我们先分析实现虚拟网络服务的主要技术,指出IP负载均衡技术是在负载调度器的实现技术中效率最高的。在已有的IP负载均衡技术中,主要有通过网络地址转换(Network Address Translation)将一组服务器构成一个高性能的、高可用的虚拟服务器,我们称之为VS/NAT技术(Virtual Server via Network Address Translation)。在分析VS/NAT的缺点和网络服务的非对称性的基础上,我们提出了通过IP隧道实现虚拟服务器的方法VS/TUN (Virtual Server via IP Tunneling),和通过直接路由实现虚拟服务器的方法VS/DR(Virtual Server via Direct Routing),它们可以极大地提高系统的伸缩性。VS/NAT、VS/TUN和VS/DR技术是LVS集群中实现的三种IP负载均衡技术。

Nagios介绍

Nagios是一个监视系统运行状态和网络信息的监视系统。Nagios能监视所指定的本地或远程主机以及服务,同时提供异常通知功能等。[1]
Nagios可运行在Linux/Unix平台之上,同时提供一个可选的基于浏览器的WEB界面以方便系统管理人员查看网络状态,各种系统问题,以及日志等等

Nagios服务端安装

5.1 基础支持套件:gcc glibc glibc-common gd gd-devel xinetd openssl-devel 

# rpm -q gcc glibc glibc-common gd gd-devel xinetd openssl-devel

8

如果系统中没有这些套件,使用yum 安装
# yum install -y gcc glibc glibc-common gd gd-devel xinetd openssl-devel
5.2 创建nagios用户和用户组
# useradd -s /sbin/nologin nagios
# mkdir /usr/local/nagios
# chown -R nagios.nagios /usr/local/nagios
6
查看nagios 目录的权限
# ll -d /usr/local/nagios/
7
5.3 编译安装Nagios
# wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.4.3.tar.gz
# tar zxvf nagios-3.4.3.tar.gz
# cd nagios
# ./configure --prefix=/usr/local/nagios
9
10
# make all
11
12
# make install
13
# make install-init
14
# make install-commandmode
15
# make install-config
16
# chkconfig --add nagios
# chkconfig --level 35 nagios on
# chkconfig --list nagios
17
5.4 验证程序是否被正确安装
切换目录到安装路径(这里是/usr/local/nagios),看是否存在etc、bin、sbin、share、var 这五个目录,如果存在则可以表明程序被正确的安装到系统了。Nagios 各个目录用途说明如下:

bin Nagios 可执行程序所在目录
etc Nagios 配置文件所在目录
sbin Nagios CGI 文件所在目录,也就是执行外部命令所需文件所在的目录
share Nagios网页文件所在的目录
libexec Nagios 外部插件所在目录
var Nagios 日志文件、lock 等文件所在的目录
var/archives Nagios 日志自动归档目录
var/rw 用来存放外部命令文件的目录

5.5 安装Nagios 插件
# wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.16.tar.gz
# tar zxvf nagios-plugins-1.4.16.tar.gz
# cd nagios-plugins-1.4.16
# ./configure --prefix=/usr/local/nagios
# make && make install
18
19

Nagios监控LVS连接数

1、客户端配置
1.1 让nagios帐号有查看ipvsadm权限
vim /etc/sudoers
加入 nagios  ALL=(ALL)       NOPASSWD: ALL

1.2 加入check脚本
vim /etc/nagios/libexec/check_lvs
#!/bin/bash

ACT_COUNT=0

Inactive_count=0

stat1=`sudo /sbin/ipvsadm | grep http |wc -l`

if [ $stat1 -ne 0 ];then

for NUM in `sudo /sbin/ipvsadm | grep http | awk ‘{print $5}’`

do

ACT_COUNT=$(($ACT_COUNT+ $NUM))

done

for NUM in `sudo /sbin/ipvsadm | grep http | awk ‘{print $6}’`

do

Inactive_count=$(($Inactive_count+ $NUM))

done

else

echo “LVS CRITICAL, “LVS is Down”"

exit 2

fi

if [ $ACT_COUNT == 0 ];then

echo “LVS ok, “0 active connection”"

exit 1

else

echo “LVS OK – LVS is running (conn: $ACT_COUNT active, $Inactive_count inactive)|active=$ACT_COUNT;80000;99999;0; inactive=$Inactive_count;800
00;99999;0;”

fi

记得加上执行权限 chmod +x /etc/nagios/libexec/check_lvs ,否则可能会出差。

1.3 加入客户端监控配置文件
vim /etc/nagios/nrpe.cfg
command[check_conn]=/etc/nagios/libexec/check_lvs

2、服务端配置
2.1 加入配置文件之前,先在命令行下测试下客户端是否可以监控,
su – nagios
/usr/local/nagios/libexec/check_nrpe -H 190.x.x.x -c check_conn
LVS OK – LVS is running (conn: 9056 active, 22307 inactive)|active=9056;80000;99999;0; inactive=22307;80000;99999;0;

2.2 确认以上测试能正常获取值后,加入配置文件,
vim /usr/local/nagios/etc/objects/services.cfg
define service{
use                             generic-service
host_name                       tw_lvs
service_description             check_connection
check_command                   check_nrpe!check_conn
}

保存后,重新加载nagios,
/etc/init.d/nagios reload

2.3 nagios web页面可以查看到能获取到值。
check_connection OK 06-25-2014 15:35:57 0d 0h 37m 24s 1/3 LVS OK – LVS is running (conn: 9056 active, 22307 inactive)

热门栏目