zabbix模板
1、zabbix模板
我们不提概念,通过一个案例来说明他是干什么的。
王小明是某公司系统管理员,负责100台Linux服务器,还有几台windows服务器。他选择了zabbix作为监控服务器基本性能,如cpu、内存、硬盘、网络这些基本的东西,主管要求他一天内搞定。于是他开始做,第一台服务器添加cpu、内存、硬盘、网络的items,然后第二台在一个个添加,添加了两天两夜,他一夜没合眼,突然看到zabbix模板的功能,卒了。
这是一个忧伤的故事,没文化害死人是真的。如果他一开始创建一个模板,然后每个服务器套用/链接这个模板,那么只要在创建主机的过程中在link(套用/链接)这个模板,一个服务器就完成了。也不会发生这么悲伤的事情....
平时工作中,我们需要监控web、mysql、redis、nginx这些服务器,众多服务器的业务都是一样的,所以我们只要事先创建好模板,然后所有服务器链接这个模板即可,如果后续有修改、新增功能,只需要修改模板即可。
转自:http://www.ttlsa.com/zabbix/zabbix-templates-introduction/
2、创建zabbix模板 配置zabbix templates
接下来便是创建zabbix模板的实例,zabbix模板中可以包含监控项、触发器、web监控、图表等等项目,一一创建这些项目之后,在后续的主机只需要套用这个模板,那么主机便可以监控模板里面所配置的监控项目。
创建zabbix模板
点击Configuration(配置) ---Templates(模板)---create template(创建模板),template标签信息如下
Template name:模板名称,在嵌套模板中,都使用template name
Visible name :显示的名称,template显示是visible name,方便识别
Groups Host/template :当前模板归到哪个组
New group:创建一个新组,当前模板便会加入这个组,可以为空
Hosts/Templates:把模板链接到主机
linked template标签如下
模板嵌套,是一个继承的关系。例如我们定义了一个基础模板,里面item有cpu、内存、硬盘、网卡等等基本信息监控,我们有需要定义个MySQL与WEB监控模板,那么这两个模板分别嵌套这个基础模板即可,而不需要重复定义监控项。
使用方法:
文本框里输入关键词,例如Linux即可搜索到名称含有linux的模板,在下拉列表中选择你要的模板,最后点击Add(千万不要忘记)。
Macro标签如下
Macro变量名称,value为变量值。更多的使用方法请参考《zabbix自定义用户Macro》
添加items, triggers, graphs,low-level discovery rules,web scenarios,screens
一一添加items, triggers, graphs,low-level discovery rules,web scenarios,screens。与在单台host添加item,trigger,graphs等等的方法是一样,这边我就不再重复了。添加完毕之后,一个模板也就这么完成了。
编辑zabbix模板
点击Configuration(配置) ---Templates(模板)---你需要编辑的模板,当前的底部要比创建模板要多几个按钮,我们分别来讲下这下按钮都是做什么的
save:保存,没什么好说的
Clone:克隆模板,克隆一个与当前模板一模一样的模板,此时你只需要修改下模板名称,以及在其基础上做修改,便能很快的完成一个模板
full clone:完全克隆,比clone多一点东西,例如screen
delete:删除模板,如果主机有嵌套当前模板,那么这些item依旧保留在主机上,主机不受影响
delete and clear:删除模板,如果主机有嵌套当前模板,那么这些item也被删除掉。
cancel:取消
3、zabbix链接及解除模板链接(76)
上一节讲到《zabbix创建模板》,其中就已经涉及到了链接与解除模板链接(link与unlink),这篇文章除了说明怎么链接模板以外,还会特别讲到一些需要特别注意的细节。HOST链接模板之后,便继承了模板里定义的item,trigger等等,使用这个方法,配置zabbix监控会减少很多重复的体力劳动,并且更加灵活。
备注:模板只能被链接到host,不是链接到组里面。
zabbix主机链接模板
Configuration --Hosts--点击你需要链接模板的主机----切换到templates(模板)选项,Link new templates的文本框里面输入你需要link的模板名称(关键词就可以了),选择你需要添加的模板,点击Add,最后save。最后,当前host便获得了模板所有的item,trigger,web等等实体。
备注:主机link多个模板必须注意,模板们不能含有相同的item key。trigger和graphs中使用的items不能是来自多个模板。
当实体 (items, triggers, graphs等等)添加之后,内部操作如下:
- host原有的项目与模板的相同,那么host原有的监控项目将会被模板所有的覆盖
- 模板中的所有实体添加到主机中
关于item列表
link模板之后,我们可以发现,item的名称也有些变化。凡是从模板带来的item,名称前缀带有灰色的模板名称。没有任何前缀的,那么表示这个item是在当前host里定义的。
实体唯一性规则
通过前面描述,我们可以了解到,zabbix link多个模板,这些模板不能有相同的实体。如果模板里的实体与当前host实体冲突,那么当前hosts的实体将会被覆盖,基于此,我们需要了解实体唯一性的规则由什么决定!
- items:item key
- trigger:trigger名称与表达式
- 自定义图表:图表名称与它的items
- applications:application的名称
多台主机批量link模板
批量link主机的方法
Configuration--Templates, 点击你需要选择的模板, Other | group 里面选择你的主机,点击« ,讲主机们添加到左边Hosts / templates,最后点击save即可,如果想移除主机,只需要点击»。
批量更新template
Configuration -- Hosts -- 勾上你需要批量更新的主机,左下角下拉框选择Mass update,然后点击Go,切换到template,选择你需要的模板。最后点击update即可。
备注:
zabbix默认提供了很多模板,有什么不懂的可以参考他,但是不推荐你直接在自带的模板上修改,确实有修改修改,我倾向于让你去克隆一个模板。
编辑link实体
在host里面,点击zabbix实体,大部分文本框都是灰色/不可编辑状态,只有更新间隔等等少量内容可以修改。因为很多host使用同一个模板,一旦你修改了一个实体,所有host都会跟着变化,所以zabbix不允许直接修改link过来的实体类。如果你确实需要修改他,那么你只能去修改zabbix模板,不过记住,修改之前要谨记,所有link当前模板的host都会一起变动。
Unlinking模板
Configuration--Hosts--切换到Templates选项--点击Unlink 或者Unlink and clear,最后点击save。
unlink与unlink and clear的区别
- unlink:仅仅移除template,原先的实体会继续保留在host上
- unlink and clear:移除template,template所包含的实体也会一起移除,相对比较彻底。
本文就到这里结束了,请继续关注下一篇文章:《zabbix内嵌模板》
4、在zabbix使用过程中,在某些情况下,一个host需要link多个模板。这么做显得比较麻烦,很容易忘记到底要link哪些模板,我想link一个模板就达成这个目标,行不行?然没问题,zabbix模板内嵌就是这么做的。实际上模板内嵌在《zabbix创建模板》一文就提到了,简单的说就是:模板link多个模板,这便是内嵌。
zabbix模板内嵌步骤
configuration(配置)-- Templates(模板),点击你的目标模板,切换到linked templates选项,在文本框里面搜索你需要的模板,然后点击Add,如下:
说明下两个参数
Unlink and clear:移除模板,并且移除所有hosts上的实例(什么是实体不用我说了吧?前面章节有提过)。比如之前host有使用这个模板,那么从这个模板来的实体全部被移除掉。
Unlink:仅仅是移除模板,实体依旧保留在host上。




浙公网安备 33010602011771号