博客首页 注册 建议与交流 排行榜 加入友情链接
推荐 投诉 搜索: 帮助

开源共享与您共同分享

对不起,迟到了,我今天又在人生的道路上迷路了!!!!!!!!!!!
   sulog.cublog.cn
关于作者  
姓名:永恒蓝哲
职业:打工的
年龄:两位数
位置:北京
个性介绍:

我的分类  




一个监控远程客户连接本地service的shell
昨天发现一台DB无法连接,原因是当前的已经达到了Oracle设置的最大连接数。刚好前几天看了一个shell能监控这个问题:

#!/bin/bash
#This shell can monitor the connection number for one service.

SERVICE_PORT="1521"
SERVICE_IP="172.16.219.193"
DEFINE_MAX_CONNECTION=1
MAIL_TO_USER="admin@abc.com"

#main function
check_connection()
{
        netstat -na |grep ESTABLISH |grep $SERVICE_IP:$SERVICE_PORT |awk '{print $5}' |awk -F':' '{print $1}'|sort |uniq -c|awk '{print $1"="$2}'
}

for remote_ip in $(check_connection)
do
        if [ $(echo $remote_ip|awk -F'=' '{print $1}') > $DEFINE_MAX_CONNECTION ]
        then
                ip=$(echo $remote_ip|awk -F'=' '{print $2}')
                message="There are more than $DEFINE_MAX_CONNECTION from $ip to $SERVICE_IP:$SERVICE_PORT, I want to drop it, please check it ASAP!"
                echo $message|mail $MAIL_TO_USER -s "A warning mail from $SERVICE_IP!"
        fi
done

 发表于: 2007-12-12,修改于: 2007-12-12 21:52 已浏览700次,有评论0条 推荐 投诉

  网友评论

  发表评论



Copyright © 2001-2006 ChinaUnix.net All Rights Reserved

感谢所有关心和支持过ChinaUnix的朋友们
页面生成时间:0.01711

京ICP证041476号