在实际监控中,除了官方自带的一些监控项,我们很多时候有一些定制化监控,比如特定的服务、TCP 连接状态等等,这时候就需要自定义监控项。自定义监控项的就是要通过用户自定义的参数来执行监控获取数据。本文将讲讲用户自定义参数和一个用户自定义参数的示例(监控 TCP 连接状态)。

一、用户自定义参数

官方文档

用户定义参数可以用来帮助用户实现通过 Zabbix agent 执行非 Zabbix 原生的 agent check

在 agent 的配置文件中配置参数设置 UserParameter

一条用户自定义参数配置应当使用以下语法:

UserParameter=<key>,<command>

key 是对应监控项键值的值,command 是获取 监控项的值的命令,可以是脚本。

key 可以传递参数,形如 key[*],表示接受监控项传来的所有参数,在 command 可以使用 $@,$1, $2 等获取传入的参数。

Zabbix agent 执行的命令最多可以返回 512KB 的数据给 zabbix server。但是,请注意,最终可以存储在数据库中的文本值,在 MySQL 上的限制为 64KB 。

用户自定义参数示例

UserParameter=ping,echo 1

代理将始终使用'ping'键为一个监控项返回'1'。

一个更复杂的例子:

UserParameter=mysql.ping,mysqladmin -uroot ping | grep -c alive

如果MySQL服务器是活动状态,代理将返回'1',否则为0。

UserParameter=tcp.status[*],/bin/bash /opt/scripts/tcp_status.sh $1

二、配置 监控 TCP 连接状态

配置 zabbix agent

更改 zabbix agent 配置文件

sudo echo "UserParameter=tcp.status[*],/bin/bash /opt/scripts/tcp_status.sh \$1 "  >>/etc/zabbix/zabbix_agentd.conf

下载监控脚本

# 创建目录
sudo mkdir /opt/scripts/
# 下载脚本,该链接有时间期限,github地址:https://github.com/tobewithyou1996/LinuxGuide/tree/master/Shell
sudo wget 'https://djxlsp.oss-cn-shenzhen.aliyuncs.com/shell/tcp-status.sh?OSSAccessKeyId=LTAI8hlsoWKOIPS8&Expires=1561404848&Signature=Si3RT4GdkEVKHrIgR7UaayPYcdU%3D' -O /opt/scripts/tcp_status.sh
# 更改脚本的所有者和所属组
sudo chown zabbix:zabbix /opt/scripts/tcp_status.sh
# 更改脚本的权限
sudo chmod 744 /opt/scripts/tcp_status.sh
### 重启zabbix agent
# centos6
sudo service zabbix-agent restart
# centos7
sudo systemctl restart zabbix-agent

导入监控模板

xml 文件: https://github.com/tobewithyou1996/LinuxGuide/blob/master/Zabbix/zabbix-tcp-connection.xml

选择导入该模板,该模板包含 一个应用集、11个监控项、1个触发器、一个图形。

然后将该模板链接到主机,这样就可以监控对应的tcp连接状态数据。

监控数据

监控图表

Zabbix设置自定义监控项之——监控tcp连接状态的更多相关文章

  1. zabbix监控 linux/windows 主机tcp连接状态

    更新内容:1).增加了对windows主机的tcp连接状态的监控2).修改linux主机的监控配置,使linux与windwos主机能够使用相同的模板tcp的连接状态对于监控服务器,尤其是Web服务器 ...

  2. zabbix4.2配置监控TCP连接状态

    1.使用命令查看TCP连接状态 (1)过去常用命令:netstat -antp [root@ansible-control zabbix]# netstat -antp Active Internet ...

  3. 查看 Apache并发请求数及其TCP连接状态

    查看 Apache并发请求数及其TCP连接状态 (2011-06-27 15:08:36) 服务器上的一些统计数据: 1)统计80端口连接数 netstat -nat|grep -i "80 ...

  4. 查看 并发请求数及其TCP连接状态【转】

    服务器上的一些统计数据: 1)统计80端口连接数netstat -nat|grep -i "80"|wc -l 2)统计httpd协议连接数ps -ef|grep httpd|wc ...

  5. 查看 并发请求数及其TCP连接状态

    服务器上的一些统计数据: 1)统计80端口连接数netstat -nat|grep -i "80"|wc -l 2)统计httpd协议连接数ps -ef|grep httpd|wc ...

  6. 查看 Apache并发请求数及其TCP连接状态【转】

    查看 Apache并发请求数及其TCP连接状态 (2011-06-27 15:08:36) 服务器上的一些统计数据: 1)统计80端口连接数netstat -nat|grep -i "80& ...

  7. TCP连接状态

    TCP 连接状态按 TCP 协议的标准表示法, TCP 可具有如下几种状态,为讨论方便,如下讨论中区分服务端和客户端,实际软件处理上对二者一视同仁. CLOSED关闭状态.在两个通信端使用“三路握手” ...

  8. TCP三次握手及TCP连接状态 TCP报文首部格式

    建立TCP连接时的TCP三次握手和断开TCP连接时的4次挥手整体过程如下图: 开个玩笑 ACK: TCP协议规定,只有ACK=1时有效,连接建立后所有发送的报文ACK必须为1 SYN(SYNchron ...

  9. Linux下查看Web服务器当前的并发连接数和TCP连接状态

    对于web服务器(Nginx.Apache等)来说,并发连接数是一个比较重要的参数,下面就通过netstat命令和awk来查看web服务器的并发连接数以及TCP连接状态. $ netstat -n | ...

随机推荐

  1. excel 知识备忘

    public void UpdateShapesColor(string value) { foreach (Microsoft.Office.Interop.Excel.Shape chart in ...

  2. 如何搭建属于自己的Web服务器

    如今随着计算机和互联网技术的发展,上网现在已经不再是什么难事,打开浏览器,我们可以访问各种论坛站点,比如CSDN.博客园等,各种视频网站,例如爱奇艺,B站等.在网上我们可以写文章,看视频,购物,打游戏 ...

  3. ARP攻击 winpcap

    ARP攻击就是通过伪造IP地址和MAC地址实现ARP欺骗.解决办法详见百科 #define ETHER_ADDR_LEN 6 typedef struct { u_char DestMAC[ETHER ...

  4. Python 字符串用法总结

    一.将某个对象转换为字符串,有str()和repr()两种方法 区别:repr() 转化为供解释器读取的形式str() 转化为适于人阅读的形式 a = 123456 print('repr输出:', ...

  5. python生产者和消费者模式实现(三)进程池方式

    注意:如果要使用Pool(进程池方式)创建进程,就需要使用multiprocessing.Manager()中的 Queue(),而不是multiprocessing.Queue() import t ...

  6. OceanBase 架构初探

    OceanBase 架构初探 原创衣舞晨风 发布于2018-11-13 08:44:14 阅读数 1417  收藏 展开 1.设计思路 OceanBase的目标是支持数百TB的数据量以及数十万TPS. ...

  7. 最新内核3.4)Linux 设备树加载I2C client adapter 的流程(内核3.4 高通)【转】

    转自:https://blog.csdn.net/lsn946803746/article/details/52515225 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转 ...

  8. postman---postman发送请求

    前面简单的介绍了Postman的页面介绍和功能介绍,今天我们一起学习postman如何发送请求 发送请求 我们介绍过http协议有多种请求方式,各个请求方法都代表不同的结果.例如,GET使您可以从服务 ...

  9. Java重定向标准输入/输出

    在System类中提供了三个重定向标准输入/输出的方法static void setErr(PrintStream err) 重定向“标准”错误输出流static void setIn(InputSt ...

  10. 6.gitlab 备份

    在配置文件有有默认的  备份路劲 sudo vim /etc/gitlab/gitlab.rb 默认在这个  路径下面 /var/opt/gitlab/backups 然后默认的备份时间是  7天 , ...