zabbix自定义监控tcp连接数

简介:

zabbix自定义监控tcp连接数(1)

首先在客户端修改配置文件


# vim /usr/local/zabbix/etc/zabbix_agentd.conf

1
2
UnsafeUserParameters=1
UserParameter=tcpconnect, /usr/local/zabbix/bin/zabbix_tcp .sh ------> tcpconnect为item key


然后增加脚本


# vim /usr/local/zabbix/bin/zabbix_tcp.sh

1
2
#!/bin/bash
netstat  -s| grep  "connections established" | awk  '{print$1}'


给脚本加权限


1
# chmod 755 /usr/local/zabbix/bin/zabbix_tcp.sh


客户端测试


1
/usr/local/zabbix/sbin/zabbix_agentd  -t tcpconnect


服务端测试


1
/usr/local/zabbix/bin/zabbix_get  -s 10.0.100.200 -k tcpconnect


测试0k后在zabbix web界面添加 组态--模板--创建或自定义模板--项目--创建监控项--填写名称和键值,键值即为tcpconnect--然后还能添加图形等等


zabbix自定义监控tcp连接数(2)

搭建一个zabbix监控服务,但是zabbix上没有默认的模板对tcp连接数的监控。后去网上搜索好多文章都没有一个完成的操作步骤,可能本人还是小白吧。

以下详细写下本人的操作步骤。

1、检查安装包和了解zabbix对tcp连接数的监控配置过程。

zabbix的服务器端和客户端的安装就不再累述了,直接说本次操作过程(该过程以RPM为例,源码包更简单)。

a、客户端上必须的安装包:zabbix-agent、zabbix-sender。zabbix-get和zabbix-web可以不用安装。

b、了解下tcp连接数的监控配置过程:客户端通过zabbix-agent服务通过本地脚本(自定义或自己根据情况编写shell或其他类型脚本)收集到的链接数状态的相应值,比如建立连接的、监听的、等待的等。然后发送给服务器。服务器端通过iteam项建立对客户端的连接数状态的监控。

2、在客户端编写监控tcp连接状态的脚本,并放在自定义位置。

#vi /etc/zabbix/scripts/tcp_connection_status.sh

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
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/bin/bash
SYNRECV(){
a=` /usr/sbin/ss  -ant |  awk  '{++s[$1]} END {for(k in s) print k,s[k]}'  grep  'SYN-RECV'  awk  '{print $2}' `
if  test  -z  "$a"
then
    echo  0
else
    echo  $a
fi
}
ESTAB(){
a=` /usr/sbin/ss  -ant |  awk  '{++s[$1]} END {for(k in s) print k,s[k]}'  grep  'ESTAB'  awk  '{print $2}' `
if  test  -z  "$a"
then
    echo  0
else
    echo  $a
fi
}
TIMEWAIT(){
a=` /usr/sbin/ss  -ant |  awk  '{++s[$1]} END {for(k in s) print k,s[k]}'  grep  'TIME-WAIT'  awk  '{print $2}' `
if  test  -z  "$a"
then
    echo  0
else
    echo  $a
fi
}
TOTAL(){
a=` /usr/sbin/ss  -ant |  awk  'BEGIN{t=0;} { t++; } END{print t; }' `
if  test  -z  "$a"
then
    echo  0
else
    echo  $a
fi
}
$1


2、在客户端中修改zabbix-agentd服务配置文件

/etc/zabbix/zabbix-agentd.conf

1
2
3
4
5
UnsafeUserParameters=1
UserParameter=synrecv, /etc/zabbix/scripts/tcp_connection_status .sh SYNRECV
UserParameter=estab, /etc/zabbix/scripts/tcp_connection_status .sh ESTAB
UserParameter=timewait, /etc/zabbix/scripts/tcp_connection_status .sh TIMEWAIT
UserParameter=total, /etc/zabbix/scripts/tcp_connection_status .sh TOTAL


上面代码中UserParameter后面的是zabbix监控项值就是说key项。


3、在客户端上重启zabbix-agent服务,并测试配置的key项。


1
2
service zabbix-agent restart 
zabbix_agentd -t synrecv (键值)


4、在服务器端测试key,并添加监控项iteam。

zabbix_get -s 1.1.1.1(客户机IP地址) -k synrecv(键值)


添加值。在zabbix web界面添加 组态--模板--创建或自定义模板--项目--

创建监控项--填写名称和键值,键值即为tcpconnect--然后还能添加图形等等,

注意:"键值"的一定要手动填写不能选择,因为这里是我们自定义,所以以上的键值分别是:synrecv、estab、timewait、total。








      本文转自027ryan  51CTO博客,原文链接:http://blog.51cto.com/ucode/1902827
,如需转载请自行联系原作者



相关文章
|
8月前
|
存储 SQL 监控
修改Zabbix源码实现监控数据双写,满足业务需求!
虽然对接Elasticsearch后有诸多好处,但是它不往数据库写历史数据了,同时还不再计算趋势数据了。有这么一个场景...
修改Zabbix源码实现监控数据双写,满足业务需求!
|
8月前
|
数据采集 监控 数据库
OceanBase社区版可以通过Zabbix监控
OceanBase社区版可以通过Zabbix监控
283 4
|
1月前
|
监控 安全 前端开发
使用 Zabbix 监控堆外应用
使用 Zabbix 监控堆外应用
49 9
|
30天前
|
监控 数据可视化 Java
zabbix全面的监控能力
zabbix全面的监控能力
56 7
|
5月前
|
监控 安全 Linux
在Linux中,zabbix如何监控脑裂?
在Linux中,zabbix如何监控脑裂?
|
2月前
|
监控 Java Shell
监控堆外第三方监控工具Zabbix
监控堆外第三方监控工具Zabbix
40 5
|
2月前
|
SQL 监控 数据库
OceanBase社区版可以通过Zabbix监控
OceanBase社区版可以通过Zabbix监控
122 7
|
3月前
|
SQL 监控 数据库
OceanBase社区版可以通过Zabbix监控
【10月更文挑战第5天】随着OceanBase社区版的广泛应用,企业纷纷采用这一高性能、高可用的分布式数据库系统。为了确保系统的稳定运行,使用成熟的Zabbix监控工具进行全面监控至关重要。本文通过具体示例介绍了如何配置Zabbix监控OceanBase,包括安装配置、创建监控模板和监控项、编写脚本、设置触发器及图形展示等步骤,帮助读者快速上手,及时发现并解决问题,确保业务始终处于最佳状态。
97 2
|
4月前
|
监控 关系型数据库 MySQL
zabbix agent集成percona监控MySQL的插件实战案例
这篇文章是关于如何使用Percona监控插件集成Zabbix agent来监控MySQL的实战案例。
91 2
zabbix agent集成percona监控MySQL的插件实战案例
|
5月前
|
SQL 监控 分布式数据库
【解锁数据库监控的神秘力量!】OceanBase社区版与Zabbix的完美邂逅 —— 揭秘分布式数据库监控的终极奥秘!
【8月更文挑战第7天】随着OceanBase社区版的普及,企业广泛采用这一高性能、高可用的分布式数据库。为保障系统稳定,使用成熟的Zabbix监控工具对其进行全方位监控至关重要。本文通过实例介绍如何在Zabbix中配置监控OceanBase的方法,包括创建监控模板、添加监控项(如TPS)、设置触发器及图形展示,并提供示例脚本帮助快速上手。通过这些步骤,可以有效监控OceanBase状态,确保业务连续性。
115 0