设为首页 收藏本站
查看: 982|回复: 0

[经验分享] zabbix监控tcp连接

[复制链接]
累计签到:2 天
连续签到:1 天
发表于 2016-1-12 16:30:32 | 显示全部楼层 |阅读模式
zabbix监控tcp连接
1、编辑客户端监控脚本
vim /usr/local/zabbix_agentd/bin/script/tcp
#!/bin/bash
source /etc/bashrc >/dev/null 2>&1
source /etc/profile >/dev/null 2>&1
LOG_FILE=/tmp/tcp_connect.log

netstat -n|awk '/^tcp/ {++S[$NF]} END {for (a in S) print a,S[a]}' > ${LOG_FILE}
Permission=$(ls -l ${LOG_FILE} |awk '{print $3}')
[ "$Permission" != zabbix ] && chown zabbix.zabbix /tmp/tcp_connect.log

#Functions to return tcp connect status

established () {
     VALUE=$(awk '/ESTABLISHED/ {print $2}' ${LOG_FILE})
    [ "${VALUE}" != "" ] && echo ${VALUE}|| echo 0
}
listen () {
     VALUE=$(awk '/LISTEN/ {print $2}'     ${LOG_FILE})
     [ "${VALUE}" != "" ] && echo ${VALUE}|| echo 0
}
timewait () {
     VALUE=$(awk '/TIME_WAIT/   {print $2}' ${LOG_FILE})
     [ "${VALUE}" != "" ] && echo ${VALUE}|| echo 0
}
timeclose () {
     VALUE=$(awk '/TIME_CLOSE/ {print $2}' ${LOG_FILE})
     [ "${VALUE}" != "" ] && echo ${VALUE}|| echo 0
}
finwait1 () {
     VALUE=$(awk '/FIN_WAIT1/   {print $2}' ${LOG_FILE})
     [ "${VALUE}" != "" ] && echo ${VALUE}|| echo 0
}

finwait2 () {
     VALUE=$(awk '/FIN_WAIT2/   {print $2}' ${LOG_FILE})
     [ "${VALUE}" != "" ] && echo ${VALUE}|| echo 0
}

synsent () {
     VALUE=$(awk '/SYN_SENT/   {print $2}' ${LOG_FILE})
     [ "${VALUE}" != "" ] && echo ${VALUE}|| echo 0
}
synrecv () {
     VALUE=$(awk '/SYN_RECV/   {print $2}' ${LOG_FILE})
     [ "${VALUE}" != "" ] && echo ${VALUE}|| echo 0
}
closewait () {
     VALUE=$(awk '/CLOSE_WAIT/ {print $2}' ${LOG_FILE})
     [ "${VALUE}" != "" ] && echo ${VALUE}|| echo 0
}

# Run the requested function
case "$1" in
        established)
            established
            ;;
        listen)
            listen
            ;;
        timewait)
            timewait
            ;;
        timeclose)
            timeclose
        ;;
        finwait1)
            finwait1
            ;;
        finwait2)
            finwait2
            ;;
        synsent)
            synsent
            ;;
        synrecv)
            synrecv
            ;;
        closewait)
            closewait
            ;;
        *)
            echo "Usage: $0 { established|listen|timewait|timeclose|finwait1|finwait2|synsent|synrecv|closewait}"
            ;;
esac
2、修改zabbix客户端配置文件,添加如下信息
UserParameter=TCP_Established,/usr/local/zabbix_agentd/bin/script/tcp established
UserParameter=TCP_listen,/usr/local/zabbix_agentd/bin/script/tcp listen
UserParameter=TCP_timewait,/usr/local/zabbix_agentd/bin/script/tcp timewait
UserParameter=TCP_timeclose,/usr/local/zabbix_agentd/bin/script/tcp timeclose
UserParameter=TCP_finwait1,/usr/local/zabbix_agentd/bin/script/tcp finwait1
UserParameter=TCP_synsent,/usr/local/zabbix_agentd/bin/script/tcp synsent
UserParameter=TCP_synrecv,/usr/local/zabbix_agentd/bin/script/tcp synrecv
UserParameter=TCP_closewait,/usr/local/zabbix_agentd/bin/script/tcp closewait
重启zabbix_agentd 服务
service zabbix_agentd restar



3、测试zabbix 是否获取到tcp连接数
/usr/local/zabbix_agentd/bin/zabbix_get -s 127.0.0.1 -k  TCP_Established
netstat -n|awk '/^tcp/ {++S[$NF]} END {for (a in S) print a,S[a]}'
对比 established的值是否相等
客户端检查正常后再zabbix服务端进行测试
/usr/local/zabbix/bin/zabbix_get -s 客户端ip -k  TCP_Established

4、添加监控
%E6%88%AA%E5%9B%BE00(3).jpg



运维网声明 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-163594-1-1.html 上篇帖子: zabbix怎么监控windows的tcp连接数 下篇帖子: zabbix监控tcp连接数 监控
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

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