Zabbix监控自定义模板,自定义监控项以及图标显示
【Zabbix监控部署安装】https://blog.csdn.net/ck784101777/article/details/102925367
一、何为模板
模板(template):可以应用到主机上的实体(包括监控项、触发器、数据图、图表、监控分类、低级的自动发现规则)的集合。
虽然在Zabbix系统里可以针对主机单独配置监控项、触发器、数据图等监控属性。但是,很显然,通过模板来管理和配置这些监控属性要方便得多,效率也要好得多,特别是在实际工作中,可能有大量功能和作用很相近的主机,通过模板来配置这些监控属性,然后分别应用到对应的主机上显然很方便,而且也便于管理。
当一个模板被应用到一个主机后,该模板的所有实体(包括监控项、触发器、数据图等)都会被添加到对应的主机上。
不过,模板是需要直接应用到主机上的,而不能应用到主机组上。同时,模板和主机是多对多的关系,即一个模板可以应用到多个不同的主机上;而同一个主机又可以关联多个模板。
所以,我们通常按服务的种类来创建模板,例如Apache模板、MySQL模板、PostgreSQL模板,等等。这样,当某个主机上运行某个服务的时候,只需将对应的模板分别应用到该主机即可。
另外,使用模板还有另外一个好处。当需要修改某个监控属性时,只需在对应的模板上做相应的修改即可,修改后的属性将会自动更改到应用了该模板的所有主机上。监控分类(application):监控分类是指监控项目的逻辑分组。也就是说,可以将具有相同或相近属性的监控项目划分在同一个分组里,这样有利于我们管理和查找,特别是当主机的监控项目很多的时候。
二、自定义模板
下面通过一个案例来看看如何定义一个模板,我们定一个监控主机用户数量的模板
1.模板的组成
从左到右,模板的列代表的含义分别是模板名(Name),应用集(Application),监控项(Items),触发器(Triggers),图标(Graphs),视图(Screens),发现方式(Discovery),Web场景(webscenario),被链接的主机(Linked to)
这里重点要关注的是一个模板的应用集,监控项和触发器
应用集和模板的关系是多对一的关系,即一个模板对应多个应用集,应用集相当于一个标签,比如一个监控一台主机的模板,我们有非常的监控部分,如CPU,内存条,硬盘,网卡等。而每一个监控部分也有非常多的被监控点,如一个CPU的使用率,空闲状态,等待时间等。
像这样一层一层的关系,就需要我们使用应用集隔开。将Cpu,内存条,硬盘网卡定义成不同的应用集,在每一个应用集下面,设置自身的监控项。这样就非常方便管理和监控
2.自定义监控项(设置key值-钩子)
- 监控项的核心-key值
key值其实就一条shell语句,如wc -l /etc/passwd | awk ' {print $1} ' ,这条语句就能获取主机的用户数,那么这就是我们需要的监控项,也就是通过这一key值加上间隔时间(interval)来实时监控用户数量的变化。
我们可以在Web界面创建key值,也可以使用本地的key值,下面的实验我们将使用本地key值。
为什么要使用本地key呢,这里主要为大家提供一种思路,你当然在Web界面创建key值,如图,在定义监控项的界面下,需要我们填写key值,这里我们就需要编写shell语句,还要遵循Zabbix规定的语法,很麻烦。所以推荐在本地提前写到key值,在这里只需要填写key值的索引名就好了
1)创建自定义key
自定义key语法格式为:UserParameter=自定义key名称,命令。
自定义的key文件一般存储在/usr/local/etc/zabbix_agentd.conf.d/目录,这里还需要修改zabbix_agentd.conf文件,允许自定义监控key,来读取该目录下的所有文件 。
- [[email protected]_web1 ~]# vim /usr/local/etc/zabbix_agentd.conf
- Include=/usr/local/etc/zabbix_agentd.conf.d/ //加载配置文件目录
- [[email protected]_web1 ~]# cd /usr/local/etc/zabbix_agentd.conf.d/
- [[email protected]_web1 zabbix_agentd.conf.d]# vim count.line.passwd
- UserParameter=count.line.passwd,wc -l /etc/passwd | awk ' {print $1} '
- ////自定义key语法格式:
- //UserParameter=自定义key名称,命令
2)测试自定义key是否正常工作
- [[email protected]_web1 ~]# killall zabbix_agentd
- [[email protected]_web1 ~]# zabbix_agentd //重启agent服务
- [[email protected]_web1 ~]# zabbix_get -s 127.0.0.1 -k count.line.passwd
- 21
注意:如zabbix_get命令执行错误,提示Check access restrictions in Zabbix agent configuration,则需要检查agent配置文件是否正确:
- [[email protected]_web1 ~]# vim /usr/local/etc/zabbix_agentd.conf
- Server=127.0.0.1,192.168.2.5
- ServerActive=127.0.0.1,192.168.2.5
3.创建监控模板
选中配置,选中模板
右上角创建模板
模板名称同key值名称
创建之后查看一下,使用过滤器过去出自己的模板
4.创建应用集
创建完成模板后,默认模板中没有任何应用、项目、触发器、图形等资源。这里需要点击模板后面的Application(应用集)链接打开创建应用的页面
点击Application(应用集)后,在该页面中点击Create application(创建应用集)按钮。
设置应用名称,
5.创建监控项目item(监控项)
与创建应用一样,在模板中还需要创建监控项目,如图-18所示,并在刷新出的新页面中选择Create items(创建监控项)创建项目,填写名称,键值,键值一定要和本机定义的文件名称相同,更新间隔30s,应用集选择刚刚创建的。然后点击添加
6.创建图形
我们创建一个可视化的图形。配置,模板,图形,创建图形,选择监控项,添加
7.链接主机
做好以上步骤后,我们需要将模板链接到某个主机上,这样才能进行监控,
配置,主机,选中主机
选择模板,选择指示器,选择count.line.passwd(我们创建的模板名),点击更新
8.查看图形
监控中,图形,选择群组,主机,图形。我们默认设置的是30s一次,但是你可以点击刷新按钮加快
可以看到我的图形是一条平的,那是因为我在这个时间段中用户数量没有改变,你可以自己创建或删除用户看看图形的变化