zabbix自定义模版Templates和监控项items

注:此处使用的客户端和服务端版本均为 ubuntu 2204

自定义模板和监控项实现过程
  • 在Zabbix 被监控主机上编写自定义监控项的取值的脚本,并加执行权限
  • 在Zabbix 被监控主机上的配置文件中添加自定义监控项,指定 key 和 对 key 赋值的脚本及参数
  • 在Zabbix Server 上使用 zabbix_get 工具测试是否能取到自定义监控项信息
  • 在Zabbix Web 创建模板,在模板中添加自定义监控项
  • 在Zabbix Web 将模板关联至被监控的主机
  • 导出自定义模板可以在其它 Zabbix Server 复用

除了自定义模板,也可以从zabbix网站查找适合自已的模板
https://share.zabbix.com/
在这里插入图片描述

自定义监控项

系统内置的监控项如下
https://www.zabbix.com/documentation/6.0/zh/manual/config/items/itemtypes/zabbix_agent
内置的监控项无法满足要求,可以自定义监控项

自定义监控项配置
监控项键值的格式
https://www.zabbix.com/documentation/6.0/zh/manual/config/items/item/key

客户端可以自定义监控项,在Zabbix Agent 配置文件添加内容,格式如下:

#cat /etc/zabbix/zabbix_agentd.conf
#cat /etc/zabbix/zabbix_agent2.conf
UserParameter=<key>,<shell command>
Include=/etc/zabbix/zabbix_agentd.d/*.conf
#或者创建独立的自定义文件
#cat /etc/zabbix/zabbix_agentd.d/*.conf
#cat /etc/zabbix/zabbix_agent2.d/*.conf
UserParameter=<key>,<shell command>

key 必须整个系统唯一。注意大小写是敏感的, Key名允许的字符如下:
0-9a-zA-Z_-.

key使用 [*] 用于定义该key接受括号内的参数。参数需在配置监控项时给出;参数禁止使用下列字符:\
’ ” ` * ? [ ] { } ~ $ ! & ; ( ) <>
Command:命令用于生成key对应的值。可以在命令中使用位置引用$1 … $9来引用监控项Key中
的相应参数。Zabbix解析监控项Key的[]中包含的参数,并相应地替换$1,…,$9。$0会替换为完
整的原始命令(在对$0,…,$9执行替换之前的命令)运行。不管位置参数($0,…,$9)是用双引号
( “ )还是单引号( ’ )括起来,都会解析位置引用

测试监控项
在Zabbix Agent 上执行测试

zabbix_agent -t "在客户端定义的key名"

在Zabbix Server上可以使用zabbix_get工具获取自定义监控项

zabbix_get -s 客户端IP -p 10050 -k "在客户端定义的key名"

宏Macros
另外Zabbix 支持用户自定义宏,即支持变量定义
自定义宏格式为: {$macrosz_name}
官方文档:
https://www.zabbix.com/documentation/6.0/zh/manual/appendix/macros

自定义监控项配置案例

取根文件系统的空间利用率

root@ubuntu:~# cat /etc/zabbix/zabbix_agentd.d/test.conf
UserParameter=root_filesystem_use,df|awk -F' +|%' '$7 == "/" {print $5 }'

#重启客户端
systemctl restart zabbix-agent.service

#客户端测试
root@ubuntu:~# zabbix_agentd -t root_filesystem_use
root_filesystem_use                           [t|18]

#服务器端测试
root@ubuntu:~# apt install zabbix-get
root@ubuntu:~# zabbix_get -s 172.27.13.43 -p 10050 -k "root_filesystem_use"
18

自定义监控项实现连接数

root@ubuntu:~# cat /etc/zabbix/zabbix_agentd.d/test.conf
UserParameter=tcp_state_estab,ss -ant|grep -c ESTAB

#重启客户端
systemctl restart zabbix-agent.service

root@ubuntu:~# zabbix_get -s 172.27.13.43 -p 10050 -k "tcp_state_estab"
3

实现自定义监控项的参数

[root@centos8 ~]#cat /etc/zabbix/zabbix_agentd.d/test.conf
UserParameter=test[*],echo $1

#重启客户端
systemctl restart zabbix-agent.service

root@ubuntu:~# zabbix_get -s 172.27.13.43 -p 10050 -k "test[This is a test item]"
This is a test item
自定义模版

所谓模板,就是一些相关的监控项的集合,还可以在模板中包括图形,触发器等
为什么需要模板?

  • 为每个主机单独添加相的一组监控项比较麻烦,例如:100台主机增加一个tcp80的监控项
  • 修改监控项比较麻烦,例如:100台服务器的监控项将80改成8080
  • 删除每个主机的同一组监控项,例如:100台服务器的监控项删除
  • 删除主机会连同主机的监控项一起被删除;不可复用监控项

所以可以使用模板的方式,来解决上述的一些问题

监控项的值映射 Value mapping
为了接收到的值能更“人性化”的显示,可以通过值映射方式,将数值与字符串之间进行关系绑定
示例:
http 响应码
‘200’ → ‘OK’
‘403’ → ‘Forbidden’
‘404’ → ‘Not Found’

创建值映射
要定义一个值映射:

打开主机或者模板配置表单
前往 值映射 标签
点击 增加 来增加一个新映射
点击一个已存在的值映射名字来进行编辑
在这里插入图片描述

在这里插入图片描述

使用值映射
添加监控项时,在查看值处选中上面创建的值映射名称

在这里插入图片描述

查看结果
服务开始状态时监控
在这里插入图片描述

服务关闭时状态
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值