【Zabbix监控部署安装】

一、何为模板

模板(template):可以应用到主机上的实体(包括监控项、触发器、数据图、图表、监控分类、低级的自动发现规则)的集合。

   虽然在Zabbix系统里可以针对主机单独配置监控项、触发器、数据图等监控属性。但是,很显然,通过模板来管理和配置这些监控属性要方便得多,效率也要好得多,特别是在实际工作中,可能有大量功能和作用很相近的主机,通过模板来配置这些监控属性,然后分别应用到对应的主机上显然很方便,而且也便于管理。

   当一个模板被应用到一个主机后,该模板的所有实体(包括监控项、触发器、数据图等)都会被添加到对应的主机上。

不过,模板是需要直接应用到主机上的,而不能应用到主机组上。同时,模板和主机是多对多的关系,即一个模板可以应用到多个不同的主机上;而同一个主机又可以关联多个模板。

   所以,我们通常按服务的种类来创建模板,例如Apache模板、MySQL模板、PostgreSQL模板,等等。这样,当某个主机上运行某个服务的时候,只需将对应的模板分别应用到该主机即可。

当需要修改某个监控属性时,只需在对应的模板上做相应的修改即可,修改后的属性将会自动更改到应用了该模板的所有主机上。监控分类(application):监控分类是指监控项目的逻辑分组。也就是说,可以将具有相同或相近属性的监控项目划分在同一个分组里,这样有利于我们管理和查找,特别是当主机的监控项目很多的时候。
 

二、自定义模板

下面通过一个案例来看看如何定义一个模板,我们定一个监控主机用户数量的模板

1.模板的组成

从左到右,模板的列代表的含义分别是模板名(Name),应用集(Application),监控项(Items),触发器(Triggers),图标(Graphs),视图(Screens),发现方式(Discovery),Web场景(webscenario),被链接的主机(Linked to)

这里重点要关注的是一个模板的应用集,监控项和触发器

应用集和模板的关系是多对一的关系,即一个模板对应多个应用集,应用集相当于一个标签,比如一个监控一台主机的模板,我们有非常的监控部分,如CPU,内存条,硬盘,网卡等。而每一个监控部分也有非常多的被监控点,如一个CPU的使用率,空闲状态,等待时间等。

像这样一层一层的关系,就需要我们使用应用集隔开。将Cpu,内存条,硬盘网卡定义成不同的应用集,在每一个应用集下面,设置自身的监控项。这样就非常方便管理和监控

zabbix常用的监控脚本 zabbix监控模版_Zabbix监控自定义模板

 

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值就好了

在Linux配置文件中我们写到:UserParameter=自定义key名称,命令。

那么下图需填自定义key名称

 

zabbix常用的监控脚本 zabbix监控模版_触发器_02

1)创建自定义key

自定义key语法格式为:UserParameter=自定义key名称,命令。

自定义的key文件一般存储在/usr/local/etc/zabbix_agentd.conf.d/目录,这里还需要修改zabbix_agentd.conf文件,允许自定义监控key,来读取该目录下的所有文件 。

  1. [root@zabbixclient_web1 ~]# vim /usr/local/etc/zabbix_agentd.conf
  2. Include=/usr/local/etc/zabbix_agentd.conf.d/                //加载配置文件目录
  3. [root@zabbixclient_web1 ~]# cd /usr/local/etc/zabbix_agentd.conf.d/
  4. [root@zabbixclient_web1 zabbix_agentd.conf.d]# vim count.line.passwd
  5. UserParameter=count.line.passwd,wc -l /etc/passwd | awk ' {print $1} '
  6. 自定义key语法格式:
  7. //UserParameter=自定义key名称,命令

2)测试自定义key是否正常工作

  1. [root@zabbixclient_web1 ~]# killall zabbix_agentd
  2. [root@zabbixclient_web1 ~]# zabbix_agentd                                //重启agent服务
  3. [root@zabbixclient_web1 ~]# zabbix_get -s 127.0.0.1 -k count.line.passwd
  4. 21

注意:如zabbix_get命令执行错误,提示Check access restrictions in Zabbix agent configuration,则需要检查agent配置文件是否正确:

  1. [root@zabbixclient_web1 ~]# vim /usr/local/etc/zabbix_agentd.conf
  2. Server=127.0.0.1,192.168.2.5
  3. ServerActive=127.0.0.1,192.168.2.5

3.创建监控模板

选中配置,选中模板

zabbix常用的监控脚本 zabbix监控模版_自定义_03

右上角创建模板

zabbix常用的监控脚本 zabbix监控模版_zabbix常用的监控脚本_04

模板名称同key值名称

zabbix常用的监控脚本 zabbix监控模版_自定义_05

创建之后查看一下,使用过滤器过去出自己的模板

zabbix常用的监控脚本 zabbix监控模版_Zabbix监控自定义模板_06

 

4.创建应用集 

创建完成模板后,默认模板中没有任何应用、项目、触发器、图形等资源。这里需要点击模板后面的Application(应用集)链接打开创建应用的页面

zabbix常用的监控脚本 zabbix监控模版_zabbix常用的监控脚本_07

点击Application(应用集)后,在该页面中点击Create application(创建应用集)按钮。

 

zabbix常用的监控脚本 zabbix监控模版_触发器_08

设置应用名称,

zabbix常用的监控脚本 zabbix监控模版_Zabbix监控自定义模板_09

 

 

5.创建监控项目item(监控项)

与创建应用一样,在模板中还需要创建监控项目,如图-18所示,并在刷新出的新页面中选择Create items(创建监控项)创建项目,填写名称,键值,键值一定要和本机定义的文件名称相同,更新间隔30s,应用集选择刚刚创建的。然后点击添加

zabbix常用的监控脚本 zabbix监控模版_自定义监控项以及图标显示_10

 

 

6.创建图形

我们创建一个可视化的图形。配置,模板,图形,创建图形,选择监控项,添加

zabbix常用的监控脚本 zabbix监控模版_触发器_11

 

7.链接主机 

做好以上步骤后,我们需要将模板链接到某个主机上,这样才能进行监控,

配置,主机,选中主机

zabbix常用的监控脚本 zabbix监控模版_自定义_12

选择模板,选择指示器,选择count.line.passwd(我们创建的模板名),点击更新

zabbix常用的监控脚本 zabbix监控模版_自定义监控项以及图标显示_13

 

8.查看图形

监控中,图形,选择群组,主机,图形。我们默认设置的是30s一次,但是你可以点击刷新按钮加快

可以看到我的图形是一条平的,那是因为我在这个时间段中用户数量没有改变,你可以自己创建或删除用户看看图形的变化

zabbix常用的监控脚本 zabbix监控模版_Zabbix监控自定义模板_14