十六周三次课 (4月13日)

19.7 主动模式和被动模式

19.8 添加监控主机

19.9 添加自定义模板

19.10 处理图形中的乱码

19.11 自动发现

19.7 主动模式和被动模式

主动或者被动是相对客户端来讲的

被动模式,服务端会主动连接客户端获取监控项目数据,客户端被动地接受连接,并把监控信息传递给服务端

主动模式,客户端会主动把监控数据汇报给服务端,服务端只负责接收即可。

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

服务端有公网ip,客户端只有内网ip,但却能连外网,这种场景适合主动模式

19.8 添加监控主机

先添加主机组aming-test

再添加主机,主机名称和可见名称都写aming-02

群组选择aming_test

IP地址填写客户端的ip 192.168.133.132

几个概念:应用集、监控项、触发器、图形、自动发现、web监测

添加主机即把被监控的主机加入监控中心,这样就可以监控它的一些项目了,比如监控CPU、内存、磁盘以及网络等。在添加主机之前,需要先添加一个主机组,依次点击:“配置"→“主机群组"“→创建主机群组"→“设置组名"

添加完主机组后,就可以添加主机了,依次点击“配置"→“主机"→“创建主机",主机名称填写ammg-06,可见名称也是aming-06,群组选择ammg-test(点击向左箭头即可),IP地址填写192.168.37.104

单击最下面的“添加"按钮后,主机被成功添加,然后在主机列表页里会看到刚才添加的主机 aming-06,状态为“已启用",并且字体显示为绿色。当不想监控该主机时,可以单击绿色的“已启用"三个字,就会变为红色的“停用的"。主机虽然已添加,但此时还没有任何的监控项目,可以对比一下第二行的zabbix server

这里出现了几个概念:应用集、监控项、触发器、图形、自动发现、web监测,其中监控项就是要监控的项目,比如内存使用、CPU使用等。应用集就是多个监控项的组合,比如CPU相关的应用集、内存相关的应用集,应用集里面有具体的监控项。触发器是针对某个监控项做的告警规则,比如磁盘使用量超过80%就触发了告警规则,然后就告警。图形这个并不难理解,监控没有图形还叫监控吗?自动发现是zabbix特有的一个机制,它会自动地去发现服务器上的监控项目,比如网卡浏览就可以自动发现网卡设备并监控起来。web监测可以去监控指定网站的某个URL访问是否正常,比如状态码是否为200,或者访问时间是否超过某个设定的时间段

19.9 添加自定义模板

可以自定义一个常用模板,方便给新增主机添加监控项目

自定义aming模板

把其他自带模板里面的某些监控项目(比如cpu、内存等)复制到aming模板里

定义触发器

添加图形

自动发现,找到Template OS Linux,点击右侧的自动发现,参考Mounted filesystem discovery和Network interface discovery定义规则

可以直接导出、导入模板,然后再删除不需要的对象

依次点击 “配置"→“模板",就可以看到zabbix自带的模板了,这些模板其实就是多个应用集、监控项、触发器、图形、聚合图形、自动发现、web监测的组合。比如FTP模板,其实就是针对FTP这个服务设置的一个监控模板,里面的应用集、监控项、触发器等全都是针对FTP服务的。在这儿又出现了一个聚合图形的概念,op它其实就是多个图形的组合。

你可以先自定义一个模板,然后在各个模板里面选需要的应用集或者监控项,把它们复制到自定义模板里 , 这样就算添加了一个模板。 下面阿铭定义一个名字为aming的模板,点击右上角的“创建模板" , 模板名称写aming, 可见名称也写aming, 群组这里选择Templates, 点击向左黑色三角块,最后点击下面的 “添加" 按钮。此时,模板列表页里最上面会出现刚刚创建的 “阿铭" 模板

接下来,再从其他模板中选几个监控项复制到“阿铭"模板里。阿铭选择的是"Template os Linux" 模板,找到该模板点击“监控项",在Avaliable memory、Checksum of /etc/passwd、CPU user time和 processor load(l min average per core)左侧的方框里打对勾,然后点击下面的“复制"按钮,目标类型选择“模板",它会列出所有的模板来,在aming模板前面打对勾,再点击下面的“复制"按钮

依次点击“配置"→“模板",可以看到aming模板的“监控项"里已经有了4项,点进去看一下,就是刚刚阿铭添加的那几项。其中Avaliable memory监控的是剩余内存大小,Checksum of/etc/passwd 监控的是/etc/password文件是否被修改,CPU user time监控的是CPU的user(用户态)使用率,Processor load(1 mm average per core)监控的是1分钟每个核CPU的负载是多少。

我们还可以在模板中设置触发器,也就是告警规则。当前已经在模板中点击 监控项"右侧的“触发器",它会提示“未发现数据",因为阿铭还未添加任何告警规则。下面阿铭添加一个告警规则,假如系统1分钟负载值超过2 ( 每核), 就告警。 首先点击右上角的 “创建触发器" 按钮, 名称填写 “ {HOST.NAME} 1分钟负载(每核)" , 其中 “ {HOST.NAME} " 为zabbix内置变量,它其实就是主机名。严重性根据实际需求选择,从左到右级别越来越高,阿铭在这里选择的是 “警告"。表达式就是具体的告警规则,点击 “添加" 按钮,然后弹出“条件" 对话框,监控项需要我们选择针对哪个监控项目告警。点击“选择'' 按钮,又弹出“监控项" 对话框,群组要选择Templates, 主机选择aming,在列出来的监控项里面请选择processor load(1 min average per core).

“功能" 默认为“最新的T值=N”,这不是我们想要的;我们想要的是当数值大于2时告警, 所以应该选择 “最新的T值>N' , 这里的 "T" 可以指定为时间,也可以指定为次数,如果不设置,默认就是时间 ,排班留空 ( 即为0 ),设置为2,因为本意是当负载大于2时告警。点击“插人"后回到“触发器"界面,其他选项保持默认即可,最后点“添加"按钮。最终第一个触发器添加成功,

在模板里,还可以添加“图形",图形是查看指标历史数据或趋势必不可少的手段点击“图形",显示“未发现数据",因为还未添加,所以点击右上角的“创建图形"。名称填写“ 1分钟负载",除了监控项外的其他参数都保持默认,在监控项右侧这里点击“添加"(注意,不是最下面的“添加"按钮),在弹出的“监控项"对话框中选择processor load(1 min average per core),点击“选择"按钮,最后再点击“添加"按钮

下面再来看一下“自动发现"的功能,目前我们依然在aming模板里,点击“自动发现规则",也会提示“未发现数据"。阿铭决定再从其他模板里面“偷"两个“自动发现规则"过来,依次点击“配置" →“模板",找到Template OS Linux,点击它右侧的“自动发现",我们会看到Mounted  discovery和Network interface discovery两项内容,由于没有复制功能,可以采用模板的导出和导人功能。具体方法是:先把Template OS Linux模板导出(选中模板,然后点击下面的“导出"按钮),然后对导出的模板(下载的XML文件)做了一个处理,再次导人(点击右上角的“导人"按钮即可)为aming for discovery 模板,这个新模板里面只留下了两个“自动发现规则",其他全部删除了。但是这种方法比较麻烦,处理导出的模板时容易出错,所以不建议用这种方法。

建议采用另一种方法,用链接的模板:

“链接的模板“→”选择“→找到Template OS Linux→”选择“→”添加“→”更新“

删除需要的项目时,会发现无法删除,比如删除监控项里的项目:

因为我们时链接的,相当于在另一个模板里删除,所以不能删除

可以在链接的模板里,动作里点“取消链接“→”更新“

点开项目,如监控项,前面没有了链接模板名,这时候删除就可以了

删除应用集时,后面监控项有数字的要留着,没有数字的可以删除

19.10 处理图形中的乱码

主机链接模板

监控的主机如果有很多,对每个主机都去配置一遍监控项、触发器、图形等,这样相当于做了多次重复工作,其实模板就是为了解决该问题而出现的。上一节教你如何去添加监控项、触发器、图形以及自动发现,其目的就是让你先学会配置模板,当你添加主机的时候,只要链接一下对应的模板即可完成监控。下面使主机aming-06链接刚刚添加的两个模板ammg

依次点击“配置"一“主机",点击"aming-06,再点击“模板",在“链接指示器"那一栏, 占击右侧的“选择",弹出“模板"对话框,选择aming,再点击下面的“选择" 按钮,然后再点击“链接指示器"这一栏的“添加"(这一步不要忘记,否则添加的两个模板不生效),点击“更新"按钮后,会回到主机列表页,此时看到主机aming-06对应的“监控项" “触发器"“图形"和“自动发现"都有数据了。

把zabbix设置为中文,图形里面的中文就会显示为小方块。主机选择aming-06 →“图形”→“CPU load”“预览”,

设置为中文后,zabbix图形的中文文字会显示小方框

这是因为在zabbix的字体库中没有中文字体,需要从windows上借用一个过来

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.ttf

graphfont.ttf是个软链接文件:

windows字体路径为“C:\Windows\Fonts\”,找到“simfang.ttf”(其实就是那个仿宋简体),先把它复制到桌面上,然后上传到linux的/usr/share/zabbix/fonts/,并且改名为graphfont.ttf

也可以用软链接的方式

再次刷新刚才的图形,已经能正常显示中文了

19.11 自动发现

间隔时间都是1小时

网卡流量更改为1分钟

分别重启服务端和客户端,图形变成5个了

测试网卡,往客户端传输文件

安装nload:yum install -y epel-release;yum install -y nload

或安装sysstat:yum install -y sysstat

查看网卡流量:sar -n DEV 1 100

可以更改流量显示的颜色,绘图风格等

配置→模板,选择aming→自动发现,选择Network interface discovery→图形原型1→Network traffic on {#IFNAME}