在实际监控中,除了官方自带的一些监控项,我们很多时候有一些定制化监控,比如特定的服务、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. 易优CMS:type的基础用法

    [基础用法] 名称:type 功能:获取指定栏目信息 语法: {eyou:type typeid='栏目ID' empty='暂时没有数据'} <a href="{$field.typ ...

  2. 1-函数返回值-return详解及应用-1

    return 返回值   可以是:数字.字符串.布尔.函数.对象(元素\[]\{}\null).未定义  <script> function fn1(){return 100;} aler ...

  3. QML::基本属性类型

    QML基本属性类型

  4. iOS10 新特性一

    链接:http://www.jianshu.com/p/0cc7aad638d9 1.Notification(通知) 自从Notification被引入之后,苹果就不断的更新优化,但这些更新优化只是 ...

  5. UITableView总结

    .协议介绍 UITableViewDataSource() UITableViewDelegate(常用) .刷新 下拉刷新: 上拉刷新 .搜索 .重用 自定义cell 不使用重用方法 注册Cell ...

  6. 记录MySql错误消息

    本章列出了当你用任何主机语言调用MySQL时可能出现的错误.首先列出了服务器错误消息.其次列出了客户端程序消息. B.. 服务器错误代码和消息 服务器错误信息来自下述源文件: · 错误消息信息列在sh ...

  7. Day_05

    01.error接口的使用 package main import "fmt" import "errors" func main() { //var err1 ...

  8. pyhton【flask接口开发】

    使用flask进行接口开发 语言:Python3 框架:flask 在进行开发前首先得安装flask,然后才能使用.安装可以直接使用pip命令进行安装:pip install flask. 使用fla ...

  9. driver.find_element_by_xpath() 带参数时的写法

    假设要定位如下所示的 Elements,且文本 “1234567890” 对应参数 cluster_name: <td  class="xxxx-body">12345 ...

  10. c# WF 第6节 MDI窗体

    本节内容: 1:SDI 窗体是什么 2: MDI 窗体是什么 3:如何创建MDI窗体 1:SDI 窗体是什么 SDI 窗体 : single-document interface 单一的窗体:上篇的启 ...