Tcp的连接状态对于我们web服务器来说是至关重要的,尤其是并发量ESTAB;或者是syn_recv值,假如这个值比较大的话我们可以认为是不是受到了攻击,或是是time_wait值比较高的话,我们要考虑看我们内核是否需要调优,太高的time_wait值的话会占用太多端口,要是端口少的话后果不堪设想:

一、我的上一篇已经写了步骤,这里我只是列出脚本:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/bin/bash
#xiaoluo
#scripts for tcp status
function SYNRECV {
/ usr / sbin / ss  - ant | awk  '{++s[$1]} END {for(k in s) print k,s[k]}'  | grep  'SYN-RECV'  | awk  '{print $2}'
}
function ESTAB {
/ usr / sbin / ss  - ant | awk  '{++s[$1]} END {for(k in s) print k,s[k]}'  | grep  'ESTAB'  | awk  '{print $2}'
}
function FINWAIT1 {
/ usr / sbin / ss  - ant | awk  '{++s[$1]} END {for(k in s) print k,s[k]}'  | grep  'FIN-WAIT-1'  | awk  '{print $2}'
}
function FINWAIT2 {
/ usr / sbin / ss  - ant | awk  '{++s[$1]} END {for(k in s) print k,s[k]}'  | grep  'FIN-WAIT-2'  | awk  '{print $2}'
}
function TIMEWAIT {
/ usr / sbin / ss  - ant | awk  '{++s[$1]} END {for(k in s) print k,s[k]}'  | grep  'TIME-WAIT'  | awk  '{print $2}'
}
function LASTACK {
/ usr / sbin / ss  - ant | awk  '{++s[$1]} END {for(k in s) print k,s[k]}'  | grep  'LAST-ACK'  | awk  '{print $2}'
}
function LISTEN {
/ usr / sbin / ss  - ant | awk  '{++s[$1]} END {for(k in s) print k,s[k]}'  | grep  'LISTEN'  | awk  '{print $2}'
}
$ 1

二、填写key值:当然大家在加入key值之后最好再服务器上面去执行看有没有返回值:

1
2
3
[root@WEB_007 scripts] # cat /usr/local/zabbix/etc/zabbix_agentd.conf.d/tcp 
#monitor tcp
UserParameter = tcp[ * ], / usr / local / zabbix / scripts / tcp_status $ 1

三、导入模板(在我的附件上,然后触发器根据自己的情况调整:)

四、查看效果:

wKiom1VJ2wewObRFAAYexpnp9EM276.jpg


到此结束:


在写这篇的时候刚好也写完了监控lvs的活动连接。下面也给出模板、大家自己下载,我这里给出脚本和key:

一、脚本:

1
2
3
4
5
6
7
8
9
10
11
12
13
#!/bin/bash
#xiaoluo
#status about lvs forward
function first {
/ sbin / ipvsadm  - 2 > / dev / null | grep  '192.168.10.234:http'  | sed  '2d'  | awk  '{print $5}'
}
function second {
/ sbin / ipvsadm  - 2 > / dev / null | grep  '192.168.10.235:http'  | sed  '2d'  | awk  '{print $5}'
}
function third {
/ sbin / ipvsadm  - 2 > / dev / null | grep  '192.168.10.236:http'  | sed  '2d'  | awk  '{print $5}'
}
$ 1

二、key:

1
2
#monitor lvs
UserParameter = lvs[ * ], / usr / local / zabbix / scripts / ipvsadm_status $ 1

效果展示:

wKiom1VJ3D2Ck7cuAAGDDORlxKY248.jpg

模板在下面自己下载: