zabbix内置宏、自动发现与注册

一、zabbix内置宏

1、概念:

在Zabbix中,内置宏是一种特殊的变量,通常用在 Trigger 名称和表达式中,引用有关监控对象的信息。

2、种类:

{HOST.NAME}  主机名

{HOST.IP}  主机 IP 地址

{TRIGGER.DESCRIPTION}   触发器描述

{TRIGGER.NAME}   触发器名

{TRIGGER.EVENTS.ACK}   触发器事件是否确认

3、图示:

zabbix内置宏、自动发现与注册_第1张图片

二、自动发现和自动注册

1、自动发现

(1) 概念:

Zabbix的自动发现(Zabbix Auto Discovery)是一种功能,它能够自动识别并监控网络、服务器、虚拟机、容器等资源,无需手动配置每个监控对象。

(2) 创建自动发现规则:

① 在“配置”菜单栏里,选择“自动发现”,点击“创建发现规则”

zabbix内置宏、自动发现与注册_第2张图片

② 创建自动发现动作与操作细节:

zabbix内置宏、自动发现与注册_第3张图片

自动发现状态 等于 上:检测正常运行的主机

zabbix内置宏、自动发现与注册_第4张图片

zabbix内置宏、自动发现与注册_第5张图片

③ 在“检测中” → “自动发现”可以查看已发现的设备:

2、自动注册

(1) zabbix 代理器配置:

主动模式:配置ServerActive ip

vim /etc/zabbix/zabbix_agentd.conf

zabbix内置宏、自动发现与注册_第6张图片

systemctl restart zabbix-agent

(2) zabbix 服务器配置:

选择“自动注册动作”,配置动作与操作细节

zabbix内置宏、自动发现与注册_第7张图片

zabbix内置宏、自动发现与注册_第8张图片

zabbix内置宏、自动发现与注册_第9张图片

在“配置” → “主机”中查看注册的设备信息

三、zabbix 监控 TCP 连接

1、TCP 状态码:

CLOSED (0) 初始状态,表示TCP连接未建立
LISTEN (1) 表示TCP服务器正在等待来自客户端的连接请求,处于监听状态
SYN_SENT (2) 表示TCP客户端已发送连接请求(SYN),等待确认(ACK)
SYN_RECEIVED (3) 表示TCP服务器已收到客户端的连接请求(SYN),并已发送确认(ACK)
ESTABLISHED (4) 表示TCP连接已成功建立,数据可以在客户端和服务器之间双向传输
FIN_WAIT_1 (5) 表示TCP客户端已发送连接终止请求(FIN),等待服务器确认
CLOSE_WAIT (6) 表示TCP服务器已收到客户端的连接终止请求(FIN),等待客户端关闭连接
FIN_WAIT_2 (7) 表示TCP客户端已收到来自服务器的连接终止请求(FIN),等待服务器的确认
LAST_ACK (8) 表示TCP服务器已发送确认(ACK)并等待客户端的确认,即将关闭连接
TIME_WAIT (9) 表示TCP连接已经关闭,在等待可能延迟的数据包

zabbix内置宏、自动发现与注册_第10张图片

2、监控 TCP 连接(自定义键值 key):

(1) zabbix 代理器配置:

vim /etc/zabbix/zabbix_agentd.d/tcp_status.conf

UserParameter=tcp.status.listen,ss -an |grep :80 | grep -i 'LISTEN' |wc -l

UserParameter=tcp.status.timewait,ss -an |grep :80 | grep -i 'TIME-WAIT' |wc -l

UserParameter=tcp.status.established,ss -an |grep :80 | grep -i 'ESTAB' |wc -l

UserParameter=tcp.status.syn_recv,ss -an |grep :80 | grep -i 'SYN_RECV' |wc -l

UserParameter=tcp.status.syn_sent,ss -an |grep :80 | grep -i 'SYN_SENT' |wc -l

UserParameter=tcp.status.close,ss -an |grep :80 | grep -i 'CLOSE' |wc -l

重启服务:systemctl restart zabbix-agent

(2) zabbix 服务器调用:

zabbix_get -s 192.168.198.130 -k tcp.status.listen

3、监控 TCP 连接(传参调用):

zabbix 代理器:

vim /etc/zabbix/zabbix_agentd.d/tcp_status.conf

UserParameter=tcp.status[*],ss -an |grep :80 | grep -i "$1" |wc -l

● * :在这个命令中,* 作为 UserParameter 中的占位符,表示将接受用户传递的参数;

● $1:* 接收的参数将会传递给 $1(一次传参)

4、监控 TCP 连接(下载自定义 key 包):

(1) zabbix 代理器:

下载自定义 key 包,并授权:

zabbix内置宏、自动发现与注册_第11张图片

(2) 拷贝脚本和配置文件至 zabbix 目录:

cp tcp_connect_status/tcp_connect_status.sh /etc/zabbix/tcp_connect.status/

cp zabbix-example/tcp_connect_status/tcp_connect_status /etc/zabbix/zabbix_agentd.d/tcp_connect_status.conf

重启服务:systemctl restart zabbix-agent

(3) 文件工作流程:

① /etc/zabbix/zabbix_agentd.d/tcp_connect_status.conf

* 里的参数会传递给 $1(一次传参)

例如:用户输入命令 zabbix_get -s 192.168.198.130 -k tcp.status[LISTEN],* 的值就是 LISTEN,再传递给 $1,系统就会调用脚本

bash /etc/zabbix/tcp_connect.status/tcp_connect_status.sh LISTEN

② /etc/zabbix/tcp_connect.status/tcp_connect_status.sh

脚本里的 $1 匹配外部的参数(二次传参)

例如:系统调用了脚本

bash /etc/zabbix/tcp_connect.status/tcp_connect_status.sh LISTEN,脚本中就会调用 LISTEN() 函数,执行其对应的功能。

zabbix内置宏、自动发现与注册_第12张图片

zabbix 服务器查看监控效果:

你可能感兴趣的:(zabbix,zabbix,服务器,运维,tcp,linux)