zabbix-模板介绍、模板与主机、监控、触发器、仪表盘关联
1、基础知识
1.1、需求
当我们新建一台主机,完全从0开始 添加主机、配置监控项、设定图形、配置触发器等,效率太慢了,其实我
们对于主机、服务的监控,很大比例上,流程都是一致的。所以我们可以将这些共性的信息固化下来,直接使
用即可。 -- 模板
1.2、功能简介
我们在安装zabbix的时候,它内嵌了非常多的模板功能,我们在添加主机的时候,有一项就是附加模板的步
骤,这样我们就在添加完主机后,看到很多的监控项信息了。
1.3、zabbix自带很多模板
2、原理解析
2.1、需求
根据我们对模板页面的了解,我们在定制模板的时候,肯定会在模板中,添加各种 监控项、触发器、图形、
自动发现、web检测 等等各种监控元素。我们以一个内置的redis模板功能为例,进行简单功能解析
2.2、点击模板名称,进入到模板的页面,首先看到的是模板的基本信息 -- 名称和归属资源组
对于模板来说,内部还包含了很多别人定制好的功能,我们可以直接嵌套或者连接过来,如果仅仅是一个普通的模板,就可以不用管理此处了
2.3、标记
2.4、宏
后面的宏就是在 各个监控项或触发器 中为了更好的自动获取数据定制的一些环境变量,这些数据是随时变化的
2.5、值映射
所谓的值映射,其实就是为几个固定的值设定一个名称,在我们的监控项或者触发器中直接使用,
2.6、查看模板的监控项
这里的监控项定制的方式 与 我们之前所说的 item创建步骤一致,只不过我们之前创建的监控项是给一个具体的主机使用的,而这里的监控项是给模板的,通过模板的挂载动作,交由主机使用。
注意:
如果我们要通过继承方式来使用监控模板的话,必须保证继承的监控项在远程主机存在,否则不能使用
3、创建自定义模板实战
3.1、准备环境
3.1.1、在192.168.10.25 主机上,安装redis服务
apt install -y redis
systemctl restart redis
3.1.2、定制监控脚本
cat <<'CAT_END' >/etc/zabbix/zabbix_agentd.d/redis_monitor.sh #!/bin/bash user_cmd=${1} function redis_status(){ cmd=${1} redis_status_values=$(/usr/bin/redis-cli -h 127.0.0.1 -p 6379 info| grep -i "${cmd}:"|cut -d':' -f2) echo "${redis_status_values}" } redis_status ${user_cmd} CAT_END
3.1.3、测试脚本
# bash /etc/zabbix/zabbix_agentd.d/redis_monitor.sh role master
3.2、zabbix-agent增加监控项
3.2.1、修改zabbix-agent配置
cat <<'CAT_END' > /etc/zabbix/zabbix_agentd.d/redis_status.conf UserParameter=redis_status[*],/bin/bash /etc/zabbix/zabbix_agentd.d/redis_monitor.sh "$1" CAT_END systemctl restart zabbix-agent.service
3.2.2、zabbix-server调用测试
# zabbix_get -s 192.168.10.25 -p 10050 -k "redis_status[role]" master
# zabbix_get -s 192.168.10.25 -p 10050 -k "redis_status[redis_version]" 6.0.16
3.3、创建模板实战
3.3.1、创建模板组
3.3.2、创建模板
3.3.3、选择监控项
3.3.4、创建监控项
3.3.5、创建监控客户端连接数
redis_status[connected_clients]
3.3.6、创建监控内存使用量
redis_status[used_memory]
3.3.7、查看模板列表
3.3.8、增加链接数触发器
last(/my-redis/redis_status[connected_clients],#1)>2
3.3.9、增加内存使用量触发器
last(/my-redis/redis_status[used_memory],#1)>1873184