主动模式和被动模式与zabbix的web管理界面使用

2020-09-23 11:27:57 浏览数 (1)

笔记内容:

  • 19.7 主动模式和被动模式
  • 19.8 添加监控主机
  • 19.9 添加自定义模板
  • 19.10 处理图形中的乱码
  • 19.11 自动发现

笔记日期:

19.7 主动模式和被动模式

所谓主动就是客户端主动上报数据,被动则是客户端被动去提供数据。

主动模式的情况下,在添加监控项目后,就会主动去采集数据,会采集例如cpu使用率、网络的网卡流量、系统的负载等信息。主动采集数据有一个间隔时间,每隔几分钟或者每隔几十秒,间隔时间是可自定义的,在监控中心去配置。到了设置的时间点,就会去采集数据,然后将采集到的数据主动上传到服务端,服务端会将这些数据,储在数据库的表格里。

被动模式的情况下,服务端需要给客户端发送一个采集数据的请求,客户端才会去采集数据,同样的采集到后会上传给服务端,这种模式下也有一个间隔时间,也是在监控中心配置这个间隔的时间,也就是说主动和被动的区别就在于:前者是自己到点了就会去采集数据上传,而后者得接收到服务端的请求才会去采集数据并上传。

适合使用主动模式的场景:

1. 客户端数量非常多,建议使用主动模式,这样可以降低服务端的压力。

2. 服务端上有公网ip,而客户端只有内网ip,这种场景适合主动模式。

19.8 添加监控主机

在web界面中添加主机,首先打开主机群组,在群组里添加主机:

创建一个主机群组:

然后再点击主机进行创建主机:

可以看到主机那一栏有很多个选项,其中的应用集是监控项目的集合,应用集包含着监控项,以Zabbix server作为示例:

通过应用集可以更加好的去管理所有的监控项。

监控项里就很多内容了:

有监控cpu的,有监控系统负载、网卡流量的,监控项有很多。

触发器,是用于针对某一个监控项设置一个告警规则:

其中警告级别分为多种,可以在严重性一栏看到。

图形,就是把历史的数据绘制成图表:

自动发现规则,就是能够自动识别你的文件系统分区信息和网卡的流量信息,这样就不需要自己手动去配置规则了:

Web场景,是用来监控某一个网站、网址,只要被监控的网站出现异常就会报警:

模板是一些预设的设置:

19.9 添加自定义模板

模板非常的有用,因为当你增加一些特有格式或特有组的服务器的时候,需要给这一组服务器添加一些个性化的监控项目。我们可以将这些较为特殊的监控项目添加到一个自定义的模板里,之后再添加类似的机器时,就可以将模板拿过去使用就可以了,所以模板的目的主要是为了方便给新增主机添加监控项目。

下面我们来创建一个模板:

添加完之后从自带的模板中,找一些监控项,将这些监控项复制到自定义模板中:

1. 找到Template OS Linux,点击监控项:

  1. 例如我勾选以下几个监控项(实际情况根据需求而定):
  1. 点击复制,复制到自定义的模板中:

然后再去看你的自定义模板就会发现有了6项监控项:

同样的,可以使用相同的方法,把触发器、图形、聚合图形、自动发现,给复制到自定义模板中。但是有一点要注意的是,自动发现里的规则不能直接复制,因为没有复制的按钮:

想要把自动发现里的规则复制到自定义模板中有两个方法:

  1. 把自带的目标模板导出:

会下载一个xml文件:

然后需要编辑这个xml文件,将除了自动发现之外的标签都需要删除掉,然后修改模板名称后,导入到模板中,但是这个xml有很多行内容,所以工作量比较大,一般不推荐使用这种方法。

  1. 第二个方法就要方便一些,我们先把刚刚添加到自定义模板里的监控项给删掉:

然后编辑这个模板,点击链接的模板:

然后选择一个链接模板,并点击添加,接着点击更新:

这时候就会发现自定义模板中所有项的数量都和Template OS Linux模板一样了,这是因为把Template OS Linux里的东西都完整的复制了过来:

如果你的模板不需要这么多的项目,想要删除掉一些的话,是不能够直接删除的,删除的方法参照以下示例:

  1. 进入到连接的模板界面中,在动作那一栏有取消连接和取消连接并清理:

其中取消链接只是单纯的把链接给取消掉,不会把你自定义模板中项目给清空,而取消连接并清理则是会把项目给清空。

  1. 所以点击取消连接即可:

  1. 这时候就可以直接去删除不需要的项目了:

关于删除应用集:想要删除某个应用集时,需要先把应用集里面的监控删掉后,才能删除应用集。

例如我删除一些监控项:

到应用集中,只要监控项为空的,就可以删除:

自动发现的规则也添加进来了,这种方式比编辑xml要方面得多:

接下来就是把一开始创建的主机和这个自定义模板连接起来:

连接完之后就可以看到主机的项目数量和模板的一致:

19.10 处理图形中的乱码

以上完成主机和模板的连接后,进入图形项目中的CPU load:

点击预览后会发现中文显示不出来:

原因:

这是因为在zabbix的字体库中没有中文字体,而不是字符集编码的问题,像这种中文文字会显示小方框的情况,是因为没有中文字体库,无法显示中文才用小方框代替。

解决方法:

从windows上借用一个过来即可,在此之前我们先在服务端上看一下字体配置文件的内容,在文件中搜索ZBX_FONTPATH:

vim /usr/share/zabbix/include/defines.inc.php

如图,可以看到ZBX_FONTPATH定义的路径是“fonts”,它是一个相对路径,相对于/usr/share/zabbix这个路径,所以绝对路径为/usr/share/zabbix/fonts,而这个路径下的字体文件的名称是“ZBX_GRAPH_FONT_NAME”参数所定义的“graphfont”,它是一个文件,绝对路径为/usr/share/zabbix/fonts/graphfont

/usr/share/zabbix/fonts这个路径就是存放字体文件的路径:

可以看到,这是一个软连接文件。

然而这个软链接的目标文件也是一个软链接文件:

最终真正的字体文件在/usr/share/fonts/dejavu目录下:

知道了这些路径后就知道把字体文件放在哪了,windows中的字体放在以下路径:

C:WindowsFonts

选择一个中文的字体,复制到桌面上,然后使用xftp上传到Linux中的root目录即可:

然后把这个字体文件放到/usr/share/zabbix/fonts目录下:

mv simkai.ttf /usr/share/zabbix/fonts

接着把/usr/share/zabbix/fonts目录下原本的那个字体文件重命名一下:

cd /usr/share/zabbix/fonts

mv graphfont.ttf graphfont.ttf.bak

把中文字体文件做一个软链接即可:

ln -s simkai.ttf graphfont.ttf

以上这些操作就是狸猫换太子,把中文字体文件替换成了原本的字体文件。为什么非要使用graphfont.ttf这个文件名呢?这是因为在配置文件中的“ZBX_GRAPH_FONT_NAME”参数里定义的是graphfont这个前缀名,所以就得改为graphfont.ttf这个文件名才能被识别。

完成以上操作,再刷新一下页面,就可以看到中文正常显示了:

而且也可以看到这个图形相较于上面那个图形有所变化,因为刚刚我们替换了字体库,所以导致了cpu的数值发生了变化。

查看数据的方式:

点击应用后,就可以在下方查看数据了:

点击右侧的图形,可以查看图形数据:

创建图形:

然后点击添加即可:

这样就成功创建了一个图形,在监测中的图形界面里就可以直接查看了:

如果你不创建的话,是不能在这里直接查看的,只能在最新数据中查看。

19.11 自动发现

自动发现的图形默认是不会在图形界面显示的,因为间隔的时间太久了,默认是是一个小时,这个间隔时间是可以更改的,点击需要更改的规则就会进入到以下界面:

然后在客户端重启一下zabbix-agent服务:

systemctl restart zabbix-agent.service

服务端也需要重启一下zabbix-server服务:

systemctl restart zabbix-server.service

然后刷新页面,就会发现图形的项目数量增加了:

这时候就可以在图形中直接查看网卡的流量了:

图形的颜色是可以进行配置的:

在模板中更改图形更新的间隔时间:

在实际生产环境中,间隔时间一般不能低于30秒,除非机器数量很少。

这种图形化的操作界面也很简单,多玩玩就会了。

0 人点赞