笔记内容:
- 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,点击监控项:
- 例如我勾选以下几个监控项(实际情况根据需求而定):
- 点击复制,复制到自定义的模板中:
然后再去看你的自定义模板就会发现有了6项监控项:
同样的,可以使用相同的方法,把触发器、图形、聚合图形、自动发现,给复制到自定义模板中。但是有一点要注意的是,自动发现里的规则不能直接复制,因为没有复制的按钮:
想要把自动发现里的规则复制到自定义模板中有两个方法:
- 把自带的目标模板导出:
会下载一个xml文件:
然后需要编辑这个xml文件,将除了自动发现之外的标签都需要删除掉,然后修改模板名称后,导入到模板中,但是这个xml有很多行内容,所以工作量比较大,一般不推荐使用这种方法。
- 第二个方法就要方便一些,我们先把刚刚添加到自定义模板里的监控项给删掉:
然后编辑这个模板,点击链接的模板:
然后选择一个链接模板,并点击添加,接着点击更新:
这时候就会发现自定义模板中所有项的数量都和Template OS Linux模板一样了,这是因为把Template OS Linux里的东西都完整的复制了过来:
如果你的模板不需要这么多的项目,想要删除掉一些的话,是不能够直接删除的,删除的方法参照以下示例:
- 进入到连接的模板界面中,在动作那一栏有取消连接和取消连接并清理:
其中取消链接只是单纯的把链接给取消掉,不会把你自定义模板中项目给清空,而取消连接并清理则是会把项目给清空。
- 所以点击取消连接即可:
- 这时候就可以直接去删除不需要的项目了:
关于删除应用集:想要删除某个应用集时,需要先把应用集里面的监控删掉后,才能删除应用集。
例如我删除一些监控项:
到应用集中,只要监控项为空的,就可以删除:
自动发现的规则也添加进来了,这种方式比编辑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秒,除非机器数量很少。
这种图形化的操作界面也很简单,多玩玩就会了。