zabbix 监控linux tcp连接数

摘要:
否则,将追究法律责任。1、 TCP状态概述1˃。端口状态转换2˃。TCP三次握手3˃。四次断开2˃。Zabbixagent端配置监视TCP脚本1˃。自定义脚本[root@node201.yinzhengjie.org.cn~]#vim/etc/zabbix/zabbix代理。d/tcp_status_监控。什[root@node201.yinzhengjie.org.cn ~]#[ root@node201.yinzhengjie.org.cn~]#cat/etc/zabbix/zabbix代理。d/tcp_status_monitoring.sh#!

            zabbix 监控linux tcp连接数

                                     作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

一.TCP的状态概述

1>.端口状态转换

zabbix 监控linux tcp连接数第1张

2>.TCP 三次握手

zabbix 监控linux tcp连接数第2张

3>.四次断开

zabbix 监控linux tcp连接数第3张

二.zabbix agent端配置监控TCP的脚本

1>.自定义脚本

[root@node201.yinzhengjie.org.cn ~]# vim /etc/zabbix/zabbix_agentd.d/tcp_status_monitoring.sh 
[root@node201.yinzhengjie.org.cn ~]# 
[root@node201.yinzhengjie.org.cn ~]# cat /etc/zabbix/zabbix_agentd.d/tcp_status_monitoring.sh 
#!/bin/bash
#
#********************************************************************
#Author:        yinzhengjie
#QQ:             1053419035
#Date:             2019-11-23
#FileName:        shell/menu.sh
#URL:             http://www.cnblogs.com/yinzhengjie
#Description:        The test script
#Copyright notice:     original works, no reprint! Otherwise, legal liability will be investigated.
#********************************************************************


function tcp_conn_status(){
    TCP_STAT=$1
    ss -ant | awk 'NR>1 {++s[$1]} END {for(k in s) print k,s[k]}' > /tmp/tcp_status_monitoring.txt
    TCP_NUM=$(grep "$TCP_STAT" /tmp/tcp_status_monitoring.txt | cut -d ' ' -f2)
    if [ -z $TCP_NUM ];then
        TCP_NUM=0
    fi
    echo $TCP_NUM
}

function main(){
    case $1 in
        tcp_status)
            tcp_conn_status $2;
            ;;
    esac
}

main $1 $2
[root@node201.yinzhengjie.org.cn ~]# 
[root@node201.yinzhengjie.org.cn ~]# 

zabbix 监控linux tcp连接数第4张

2>.为脚本添加执行权限

[root@node201.yinzhengjie.org.cn ~]# ll /etc/zabbix/zabbix_agentd.d/tcp_status_monitoring.sh 
-rw-r--r-- 1 root root 887 Feb 28 07:15 /etc/zabbix/zabbix_agentd.d/tcp_status_monitoring.sh
[root@node201.yinzhengjie.org.cn ~]# 
[root@node201.yinzhengjie.org.cn ~]# 
[root@node201.yinzhengjie.org.cn ~]# chmod +x /etc/zabbix/zabbix_agentd.d/tcp_status_monitoring.sh                 #为自定义监控脚本添加执行权限
[root@node201.yinzhengjie.org.cn ~]# 
[root@node201.yinzhengjie.org.cn ~]# ll /etc/zabbix/zabbix_agentd.d/tcp_status_monitoring.sh 
-rwxr-xr-x 1 root root 887 Feb 28 07:15 /etc/zabbix/zabbix_agentd.d/tcp_status_monitoring.sh
[root@node201.yinzhengjie.org.cn ~]# 
[root@node201.yinzhengjie.org.cn ~]# 
[root@node201.yinzhengjie.org.cn ~]# /etc/zabbix/zabbix_agentd.d/tcp_status_monitoring.sh tcp_status LISTEN            #测试脚本的可用性,测试有数据说明脚本是可用的
7
[root@node201.yinzhengjie.org.cn ~]# 
[root@node201.yinzhengjie.org.cn ~]# /etc/zabbix/zabbix_agentd.d/tcp_status_monitoring.sh tcp_status TIME-WAIT
48
[root@node201.yinzhengjie.org.cn ~]# 
[root@node201.yinzhengjie.org.cn ~]# ll /tmp/
total 4
drwx------ 3 root root 17 Feb 27 20:20 systemd-private-911f89b1c3ee4635acad4ca6cdb6b581-chronyd.service-XgssdE
-rw-r--r-- 1 root root 41 Feb 28 07:17 tcp_status_monitoring.txt
[root@node201.yinzhengjie.org.cn ~]# 
[root@node201.yinzhengjie.org.cn ~]# 
[root@node201.yinzhengjie.org.cn ~]# rm -f /tmp/tcp_status_monitoring.txt                                  #使用root用户昨做完删除测试后记得删除文件,否则默认的zabbix用户是没有写入权限的哟~
[root@node201.yinzhengjie.org.cn ~]# 

3>. 修改zabbix agent的配置文件并重启服务

[root@node201.yinzhengjie.org.cn ~]# grep "# UserParameter=" /etc/zabbix/zabbix_agentd.conf 
# UserParameter=
[root@node201.yinzhengjie.org.cn ~]# 
[root@node201.yinzhengjie.org.cn ~]# sed -r -i 's@# (UserParameter=)@1tcp_status_monitoring[*],/etc/zabbix/zabbix_agentd.d/tcp_status_monitoring.sh $1 $2@' /etc/zabbix/zabbix_agentd.conf 
[root@node201.yinzhengjie.org.cn ~]# 
[root@node201.yinzhengjie.org.cn ~]# grep ^UserParameter= /etc/zabbix/zabbix_agentd.conf 
UserParameter=tcp_status_monitoring[*],/etc/zabbix/zabbix_agentd.d/tcp_status_monitoring.sh $1 $2
[root@node201.yinzhengjie.org.cn ~]#
[root@node201.yinzhengjie.org.cn ~]# systemctl restart zabbix-agent.service 
[root@node201.yinzhengjie.org.cn ~]#

三.zabbix webUI进行配置

1>.在zabbix server测试是否可以获取数据

[root@zabbix203.yinzhengjie.org.cn ~]# /yinzhengjie/softwares/zabbix/bin/zabbix_get -s node201.yinzhengjie.org.cn -p 10050 -k "tcp_status_monitoring[tcp_status SYN-SENT]"
8
[root@zabbix203.yinzhengjie.org.cn ~]# 
[root@zabbix203.yinzhengjie.org.cn ~]# /yinzhengjie/softwares/zabbix/bin/zabbix_get -s node201.yinzhengjie.org.cn -p 10050 -k "tcp_status_monitoring[tcp_status TIME-WAIT]"
47
[root@zabbix203.yinzhengjie.org.cn ~]# 

2>.在zabbix WebUI上自定义TCP的监控模板

  其实自定义监控模板过程和之前自定义Nginx的监控模板类似,此处我就懒得截图啦,成功添加监控项后如下图所示。

  博主推荐阅读:
    自定义Nginx监控项模板(https://www.cnblogs.com/yinzhengjie2020/p/12340063.html)

zabbix 监控linux tcp连接数第5张

3>.将TCP的11个监控项画在同一个图像中

zabbix 监控linux tcp连接数第6张

4>.将自定义模板和对应的agent主机进行关联

zabbix 监控linux tcp连接数第7张

5>.间隔一段时间后,查看图形

zabbix 监控linux tcp连接数第8张

免责声明:文章转载自《zabbix 监控linux tcp连接数》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇7年,OpenStack从入门到放弃|送书idea安装SonarLint语法检测插件下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

linux添加用户,修改用户密码,修改用户权限,设置root用户操作

1、添加普通用户 [root@server ~]# useradd chenjiafa   //添加一个名为chenjiafa的用户[root@server ~]# passwd chenjiafa    //修改密码Changing password for user chenjiafa.New UNIX password:              ...

LINUX使用SSH远程终端时,如何将运行时间长的程序在后台挂起,下次SSH登陆时继续使用同一个SHELL?

我在某个平台上购买了一个云服务器,LINUX操作系统无图形化界面,硬盘空间较小。虽然在平台上可以通过其自带网页版VNC界面登陆SHELL进而操控云主机,但是每次需要操控都得打开网页登陆进平台,然后再进行一系列点击操作才能进入VNC界面,有点繁琐。并且有时出门在外,使用手机浏览器不是很好的兼容VNC界面,所以一般情况下我习惯于通过SSH客户端登陆SHELL。...

CentOS所有版本下载地址分享

简述 CentOS(Community Enterprise Operating System - 社区企业操作系统)是Linux发行版之一,它是来自于Red HatEnterprise Linux依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的Red Hat Enterprise L...

安全计算环境(三)Linux服务器2

Linux服务器 控制点 2. 访问控制 在系统中实施访问控制的目的是为了保证系统资源(操作系统和数据库管理系统)受控、合法地被使用。用户只能根据自己的权限来访问系统资源,不得越权访问。 a) 安全要求:应对登录的用户分配账户和权限。 要求解读:对于Linux操作系统中的一些重要文件,应检查系统主要目录的权限设置情况,Linux操作系统的文件操作权限,包括...

原来zabbix监控进程与端口是如此的简单!

使用zabbix自带key监控进程与端口 每个公司都有自己的程序,自己的进程名与端口监听,对于nagios来说,这些都经常需要自己去写插件,但是zabbix不需要,它自己就有监控进程与端口的key。 在使用zabbix的key来监控进程与端口前,我也自己写了插件,但用起来很不爽,因为需要在所有agent上都要进行配置与维护。如果用zabbix自带的功能,只...

linux下添加简单的开机自启动脚本

在linux的使用过程中,我们经常会碰到需要将某个自定义的应用程序设置为开机自启动以节省操作时间,这里提供两个设置开机自启动的方法。 注:博主使用的ubuntu-16.04进行实验,其它版本可能有偏差,但实现原理类似。 rc.local 在rc.local脚本中添加开机自启动程序 ubuntu在开机过程之后,会执行/etc/rc.local(注意/etc/...