linux--监控系统之Zabbix简介(二)

我们在上篇博客介绍了zabbix的安装配置步骤和简单的action,触发器,模块等功能,我们这里来介绍下zabbix的自动发现,自动注册,web监控,自定义监控等功能!

一、自定义key值

我们先来定义一个模板,方便后面实验的配置.

  • 创建个名为test template的模板

wKiom1N3GZPAmh5jAAIhbUyyMxQ751.jpg

  • 添加监控项目,并使用自定义的key值

wKioL1N3GkWgD-bHAANoCZVbUFI573.jpg

wKioL1N3Gp3ipJcoAAKzuQPqwSc083.jpg

wKiom1N3GsvCBF7-AAL0FnTb-gs542.jpg


编辑/usr/local/zabbix/etc/zabbix_agentd.conf配置文件,定义key

[root@mogilefs2 ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf
//在最后添加此内容:
UserParameter=memory.usage[*],/bin/cat /proc/meminfo | awk '/^$1:/{print $$2}'


这样,自定义key就定义完成,可以调用了!

(注:如果要多台主机上调用自定义的key,需要在各个主机上的agent配置文件中添加UserParameter语句)


好了,我们继续来完善这个模板!

  • 添加触发器!

wKiom1N3HIXzHPDQAANSTansIgM266.jpg


  • 添加图形.

wKiom1N3HSjh4YmtAAM2JZsTF3Q961.jpg

到此,基于自定义key的模板已经配置完成!


这里来介绍下zabbix常用的key和自定义key

1、监控端口的:net.tcp.port[,3306]

net.tcp.port[,3306] 返回1为3306端口存在,0为不存在


2、监控进程的:proc.num[mysqld]

proc.num[mysqld] 返回值为mysqld的进程数量


3、查看CPU核数的:system.cpu.num 返回值为服务器CPU的核数


4、查看系统的系统启动时间和当前时间:system.boottime、system.localtime 返回值为系统启动时间和当前时间,为时间戳格式


5、查看系统的简单信息:system.uname 返回值为系统信息,类似于linux系统的uname -a命令


6、查看windowns系统当前网卡的进出流量:

net.if.out[{HOST.NAME},bytes]、net.if.in[{HOST.NAME},bytes]和linux系统的key:net.if.out[eth0,bytes]、net.if.in[eth0,bytes]一样


7、查看系统内存大小:vm.memory.size[total],返回值单位bytes


8、查看文件的大小: vfs.file.size[file] 如: vfs.file.size[/var/log/syslog] 返回的是/var/log/syslog的大小,单位是:bytes


9、查看文件是否存在:vfs.file.exists[file] 文件如果存在返回0,不存在返回1


10、查看文件的MD5:vfs.file.md5sum[file]查看小文件的MD5,返回为MD5值(好像只有2.0以上的版本有这个key)


11、自动发现网卡并监控流量和自动发现分区及分区挂载情况的两个key:net.if.discovery,vfs.fs.discovery,windows和linux监控模板中都有这模板(2.0以上版本),应用即可

    以上是常用的key,其实监控服务器无非就是内存、硬盘占用、CPU负载、流量、服务器和端口等情况。如果要监控其他的可以自定义key来实现,本人喜欢自定义key,写个脚本来返回,得到自己想要的监控结果,zabbix在这块做的非常好,扩展性很强,支持各种脚本来实现自定义的key。


12、自定义key

要启用自定义key,需要在客户端的配置文件中agent启用UnsafeUserParameters=1参数,然后在配置文件的最下面来定义key,如:

UserParameter=free.disk,/usr/local/zabbix/bin/disk.py

free.disk为key的名字,/usr/local/zabbix/bin/disk.py为服务器端调用free.disk这个key时执行的脚本,其结果就是free.disk的返回值。脚本可以是任何可以运行的脚本语言。

注意:脚本要用绝对路径,注意脚本的权限,写的脚本返回值要尽量简单,这样方便设置报警值。


二、zabbix的自动发现

  • 添加发现规则

wKiom1N3IheBtfqbAAQXgU9oWXY190.jpg

参数简介:

名称:自动返现规则的名称

IP范围:自动发现主机所在的地址段

延迟:扫描网段的时间间隔

检查:检测符合如下规则的主机

设备唯一性:设备认证标识,用于添加被发现主机的名称


  • 添加发现动作,从而添加主机

当发现主机时,可以自动添加主机并且链接模板,使之快速上线监控之!

wKioL1N3I1zTi2oJAASSgj_-24o109.jpg

wKioL1N3JWrzSsnzAAJJExCzUxI434.jpg

wKiom1N3JaSB9X3tAALh0nBWCr0581.jpg


  • 添加移除动作

当主机不在线时,我们需要让它自动下线,因此,还要添加一条移除动作

wKioL1N3JpaTDs7BAAOLLbNrHsg405.jpg

wKioL1N3JpmSsMwQAAOpzD5_080909.jpg

wKiom1N3JsngXXVRAALMgnb7iis442.jpg


  • 定义自动注册动作

测试发现,当主机agent服务下线再上线时,上面这些规则不能自动重新使之上线监控,因此还需要添加一条自动注册动作,使其主机故障修复后,可以自动注册继续上线!

wKiom1N3KLPS5FNHAANCa9lqgNM161.jpg

wKioL1N3KJmiaCrbAAO0E50BiWo683.jpg

wKiom1N3KNXSyZOLAAMHGoy3nKE190.jpg


  • 测试

wKiom1N3KZPxvuI5AAN87i3KQfE984.jpg

:如果有以前自动添加的主机,可以先把主机删掉,然后看他是否自动发现,并添加主机


  • 我们让其中一条的agent服务停止,看是否自动下线!

[root@mogilefs2 ~]# killall zabbix_agentd

wKioL1N3K1qRWAtQAAKtmgsSgVs613.jpg

wKiom1N3K4iTt9hYAALIK4iTc60196.jpg

从图看出,已经自动下线了!


  • 让agent服务启动,看是否自动注册!

[root@mogilefs2 ~]# cd /usr/local/zabbix/sbin/
 [root@mogilefs2 sbin]# ./zabbix_agentd

wKiom1N3LKfD8QkrAAIVkNEXLA0079.jpg

wKioL1N3LH_gr5Q8AALYLfd-ojQ636.jpg

从上图看来,已经实现自动注册了!


至此,zabbix监控的基本功能已经基本介绍完毕,因为本人水平有限,不足之处,请多加指点!

你可能感兴趣的:(自动发现,zabbix,自动注册)