zabbix自定义key之tcp连接监控

1.自定义key:监控tcp连接

准备自定义key(业务主机

[root@webone ~]# vim /etc/zabbix/zabbix_agentd.d/tcp_status.conf
#Format: UserParameter=<key>,<shell command>
UserParameter=tcp.status.listen,ss -an |grep :80 | grep -i 'LISTEN' |wc -l          
#过滤出80端口,忽略大小写过略出含有listen的行数
UserParameter=tcp.status.timewait,ss -an |grep :80 | grep -i 'TIME-WAIT' |wc -l
UserParameter=tcp.status.established,ss -an |grep :80 | grep -i 'ESTABLISHED' |wc -l
UserParameter=tcp.status.syn_recv,ss -an |grep :80 | grep -i 'SYN_RECV' |wc -l
UserParameter=tcp.status.syn_sent,ss -an |grep :80 | grep -i 'SYN_SENT' |wc -l
UserParameter=tcp.status.close,ss -an |grep :80 | grep -i 'CLOSE' |wc -l

 

调用自定义key(zabbix监控服务器)

[root@zabbix ~]# zabbix_get -s webone -k system.uname
Linux webone 3.10.0-862.11.6.el7.x86_64 #1 SMP Tue Aug 14 21:49:04 UTC 2018 x86_64
[root@zabbix ~]# zabbix_get -s webone -k system.cpu.load[all,avg1]
0.020000

[root@zabbix ~]# zabbix_get -s webone -k tcp.status.listen
1
[root@zabbix ~]# zabbix_get -s webone -k tcp.status.timewait
0
[root@zabbix ~]# zabbix_get -s webone -k tcp.status.established
0
[root@zabbix ~]# zabbix_get -s webone -k tcp.status.syn_recv
0
[root@zabbix ~]# zabbix_get -s webone -k tcp.status.syn_sent
0
[root@zabbix ~]# zabbix_get -s webone -k tcp.status.close
0

2.自定义key:监控tcp2连接(使用[传参]来调用)

业务主机

[root@webone ~]# vim /etc/zabbix/zabbix_agentd.conf

#编辑配置打开UserParameter=前的注释,修改为如下
UserParameter=tcp.status[*],ss -an |grep :80 | grep -i "$1" |wc -l

调用自定义key(zabbix监控服务器)

使用[传参]来调用

[root@zabbix ~]# zabbix_get -s webone -k tcp.status[listen]
1
[root@zabbix ~]# zabbix_get -s webone -k tcp.status[timewait]
0
[root@zabbix ~]# zabbix_get -s webone -k tcp.status[TIME-WAIT]
0
[root@zabbix ~]# zabbix_get -s webone -k tcp.status[timewait]
0
[root@zabbix ~]# zabbix_get -s webone -k tcp.status[established]
0
[root@zabbix ~]# zabbix_get -s webone -k tcp.status[syn_recv]
0
[root@zabbix ~]# zabbix_get -s webone -k tcp.status[syn_sent]
0
[root@zabbix ~]# zabbix_get -s webone -k tcp.status[close]
0

3.自定义key:监控tcp连接3

业务主机

1) 下载脚本文件包。并授权zabbix用户

[root@webone ~]# lftp 192.168.122.250  

lftp 192.168.122.250:/> mirror zabbix-example/
lftp 192.168.122.250:/> by

[root@webone ~]# chmod -R  +x zabbix-example/
[root@webone ~]# chown -R zabbix zabbix-example

2)  拷贝脚本文件至zabbix目录。

[root@webone ~]# cp zabbix-example/tcp_connect_status/tcp_connect_status.sh /etc/zabbix/

3) 增加用户自定义KEY

[root@webone ~]# cp zabbix-example/tcp_connect_status/tcp_connect_status /etc/zabbix/zabbix_agentd.d/tcp_connect_status.conf

4) 将第二步的文件绝对路径复制给第三步的文件中。

[root@webone tcp_connect_status]# cp tcp_connect_status.sh /etc/zabbix/tcp_connect.status/
cp: 无法创建普通文件"/etc/zabbix/tcp_connect.status/": 不是目录
[root@webone tcp_connect_status]# mkdir /etc/zabbix/tcp_connect.status/
[root@webone tcp_connect_status]# cp tcp_connect_status.sh /etc/zabbix/tcp_connect.status/

5) 重启 zabbix-agent.service

[root@webone ~]# systemctl restart zabbix-agent.service

zabbix监控端

1) zabbix-server执行验证

[root@zabbix ~]# zabbix_get -s webone -k tcp.connect.status[LISTEN]
7

与业务主机端查询一致

[root@webone tcp_connect_status]# netstat -an |grep ^tcp |grep LISTEN |wc -l
7
[root@webone tcp_connect_status]# netstat -an |grep ^tcp |grep LISTEN
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp6       0      0 ::1:25                  :::*                    LISTEN     
tcp6       0      0 :::10050                :::*                    LISTEN     
tcp6       0      0 :::80                   :::*                    LISTEN     
tcp6       0      0 :::22                   :::*                    LISTEN 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值