在实际监控中,除了官方自带的一些监控项,我们很多时候有一些定制化监控,比如特定的服务、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. LabVIEW工控二进制数据存储

    在文件存储的逻辑上,二进制文件基于值编码,而不是字符编码,其占用空间小,读取/写入速度快,但是译码比较复杂,不利用数据共享.根据具体编码方式的不同,二进制的使用方式也有所不同,如对bmp格式,规定了文 ...

  2. python基础(31):进程(一)

    1. 什么是进程 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础.在早期面向进程设计的计算机结构中,进程是程序的基本执行 ...

  3. Python3中13个实例汇总

    1.Python数字求和 # -*- codingLuft-8 -*- #Filename: test.py #author by:Leq #用户输入数字 num1 = input("输入第 ...

  4. 终于我还是没忍住,用Python爬了一波女神

    你学爬虫,最终不还是为了爬妹子 啥也不说,开始福利赠送~ 女神大会 不是知道有多少人知道“懂球帝”这个 APP(网站),又有多少人关注过它的一个栏目“女神大会”,在这里,没有足球,只有女神哦. 画风是 ...

  5. 网上售卖几百一月的微信机器,Python几十行代码就能搞定

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 故事胶片 PS:如有需要Python学习资料的小伙伴可以加点击下方链 ...

  6. C# virtual 和 abstract 区别

    Virtual方法(虚方法) virtual 关键字用于在基类中修饰方法.virtual的使用会有两种情况: 情况1:在基类中定义了virtual方法,但在派生类中没有重写该虚方法.那么在对派生类实例 ...

  7. 控件类——Button、UIControlState状态、title及其属性

    封装: 封装按钮:1.有提示文字 —>UILable 2.并且可以点击 —> UIControl UIButton:是一个按钮(系统已经把UIControl封装好了).  里面可以放文字. ...

  8. golang 的几个入门资料

    =====================视频=====================无闻 老师的<Go 编程基础>视频https://github.com/Unknwon/go-fun ...

  9. TICK技术栈(一)TICK技术栈介绍

    1.什么是TICK技术栈? 1.1 简介 TICK 是由 InfluxData开发的一套开源工具栈,由 Telegraf, InfluxDB, Chronograf, Kapacitor 四个工具的首 ...

  10. [PHP] time_wait与长连接短连接

    服务端上查看tcp连接的建立情况,直接使用netstat命令来统计,看到了很多的time_wait状态的连接.这些状态是tcp连接中主动关闭的一方会出现的状态.该服务器是nginx的webserver ...