千家信息网

快速掌握Zabbix配置的高效学习方法

发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,本次博文主要以Zabbix的中文界面为主进行介绍!一、模板的管理与使用模板是Zabbix的核心,因为模板中集成了所有要监控的内容以及展示的图形等等,Zabbix的安装部署完成后,自带了很多模板(网络设
千家信息网最后更新 2025年02月05日快速掌握Zabbix配置的高效学习方法

本次博文主要以Zabbix的中文界面为主进行介绍!

一、模板的管理与使用

模板是Zabbix的核心,因为模板中集成了所有要监控的内容以及展示的图形等等,Zabbix的安装部署完成后,自带了很多模板(网络设备模板、操作系统模板、常见应用软件模板),这些模板可以满足我们80%左右的应用需要,所以一般情况下不需要我们单独创建模板了。

如图:

模板是由很多内置项目组成的,基本的内置项目有应用集、监控项、触发器、图形、聚合图形、自动发现、Web检测、链接的模板等这8个部分组成。在这8个部分中,监控项、触发器、图形、自动发现这4个部分是重点,也是难点。下面重点介绍这四个部分的具体实现过程。

在Zabbix自带的模板中,大部分都是可以直接拿来使用的,这里就不需要对每个模板都进行深入了解,只需要对常用的一些模板重点掌握就可以了。下面重点介绍下经常使用的三类模板,保证重点的学习。

1)常用的模板有以下三类:

1)监控系统状态的模板

Template OS Linux //对Linux系统的监控模板
Template OS Windows //对Windows系统的监控模板
Template OS Mac OS X //对Mac OS X系统的监控模板
Template VM VMware //对VM VMware系统的监控模板

2)监控网络和网络设备的模板

Template Module Generic SNMPv1 //开启SNMPv1监控的模板
Template Module Generic SNMPv2 //开启SNMPv2监控的模板
Template Module Interfaces Simple SNMPv2
Template Net Cisco IOS SNMPv2
Template Net Juniper SNMPv2
Template Net Huawei VRP SNMPv2

3)监控应用软件和服务的模板

Template App HTTP Service //对httpd服务的监控模板
Template DB MySQL //对Mysql服务的监控模板
Template App SSH Service //对SSH服务的监控模板
Template Module ICMP Ping //对主机Ping的监控模板
Template App Generic Java JMX //对Java服务的监控模板
Template App Zabbix Agent //对Zabbix Agent状态的监控模板
Template App Zabbix Server //对Zabbix Server状态的监控模板

上面所提到的模板都是可以灵活使用的,也是我们做监控的基础,所以要熟练掌握他们的使用方法和监控特点。

2)创建应用集

这里以Linux系统模板为例,如图:

进入应用集后,就可以看到已有的应用集,也可以创建新的应用集。

应用集的创建非常简单,它其实是一个模板中,针对监控的集合,例如要对CPU的属性进行监控,那么就可以创建一个针对CPU的应用集,这个应用集下可以创建针对CPU的多个监控项。

应用集的出现主要是便于对监控项进行分类和管理,在有多个监控项,多种监控类型需要监控的情况下,就需要创建应用集。

3)创建监控项

如图:


从图中可以看出,默认的监控项的内容,每一个监控项都对应了一个键值,就是具体要监控的内容,键值的写法是有统一规范的,Zabbix针对不同监控项自带了很多键值,用户也可自定义键值,此外,每个监控项还可以添加对应的触发器,也就是说这个监控项如果需要告警的话,就可以添加一个触发器,触发器专门用力啊触发告警。当然不是说每个监控项一定要有一个触发器,需要根据监控项的内容而定。

如图:

1)名称:就是创建监控项的名称,可自定义;
2)类型:设置次监控项通过何种方式进行监控,zabbix可选的监控类型很多,常用的有zabbix客户端,zabbix客户端(主动式)、简单检查、SNMP客户端、zabbix采集器等类型,zabbix客户端监控也成为zabbix客户端(被动式)监控,就是通过在要监控的主机上安装zabbix agent,然后zabbix server主动去抓取数据来实现的监控,这是最常用的监控类型。而zabbix客户端(主动式)监控也需在被监控的机器上安装zabbix agent。只不过zabbix agent会主动汇报数据到zabbix server,这是与zabbix客户端(被动式)监控不同的地方;
3)键值:可以使用zabbix默认自带的,也可以自定义自己的键值,zabbix自带了很多键值,可以满足我们90%的需求,比如我们相对服务器上某个端口的状态进行监控,就可以使用"net.tcp.service.perf[service,<ip>,<port>]"这个键值,此键值就是zabbix自带的,如果需要查看更多zabbix自带键值,可以点击"键值"选项后的"选择"按钮,zabbix自带的键值就会全部显示出来。

如图:

可以看到,zabbix自带的键值根据监控类型的不同,也分了不i同的监控键值种类,每个键值的含义也都做了详细的描述,我们可以根据需要的监控内容,选择对应的键值即可。

就以net.tcp.service.perf[service,<ip>,<port>]这个键值为例,net.tcp.service.perf则是键值的名称,后面中括号中的内容是键值的监控项,每个选项含义如下:

1)server:表示服务名称,包括ssh、ntp、ftp、http、pop、imap等;
2)ip:表示IP地址,默认是127.0.0.1,可不添加;
3)port:表示端口,默认情况下为每个服务对应标准的端口;

比如,如果我们监控的httpd服务,那么就可以这样写:

net.tcp.service.perf[http,,80]

4)信息类型:此键值返回的信息类型的浮点型的,所以选择浮点数;
5)更新间隔:这个主要用来设置多久更新一次监控数据,可根据对监控项灵敏度的需要来设定,默认情况下是30秒更新一次;

6)应用集:在创建监控项的最后,还有一个应用集的选择,也就是将这个监控项放到那个监控分类中,可以选择已存在的应用集,也可也添加到一个新的应用集!(本次就将其加入http server应用集中,截图就不附上了,注意一下);

所有设置完成后,点击添加即可!

监控项可以添加到一个已经存在的模板中,也可以在一个新创建的模板中添加监控项,还可以在一个主机下创建监控项。

  • 推荐的做法是新建一个模板,然后在此模板下添加需要的应用集、监控项,然后在后面添加主机时,将这个创建的模板链接到主机下即可;
  • 不推荐在主机下创建监控项的原因,如果有个多个主机,每个主机都有相同的监控内容,那么就需要在每个主机下创建相同的监控项;

总结:构建zabbix监控,推荐的做法:首先创建一个模板,然后在此模板下创建需要的监控项、触发器等内容,最后在添加主机时直接将此模板链接到每个主机下即可,这样,每个主机就自动链接上了模板中的所有监控项和触发器。

4)创建触发器

触发器是用于故障告警的一个设置,将一个监控项添加触发器后,此监控项如果出现问题,就会激活触发器,然后触发器将自动连接告警动作,最后触发告警。

触发器同样也推荐在模板中创建,以Linux系统模板为例,如图:


如图,有触发器的严重级别、触发器名称、触发器表达式等几个小选项,这里难点是触发器表达式的编写,要学会写触发器的表达式。首先需要了解表达式中常用的一些函数机器含义。

图中有diff、avg、last、nodata等这些标识,这就是触发器表达式中的函数,下面简单介绍一下常用的一些触发器表达式函数及其含义。

1)diff

参数:不需要参数;
支持值类型:float、int、str、test、log;
作用:返回值为1表示最近的值与之前的值不同,即值发生变化,0表示无变化;

2)last

参数:#num
支持值类型:float、int、str、test、log;
作用:获取最近的值,"#num"表示最近第N个值,请注意当前的#num和其他一些函数的#num的意思是不同的,例如:
last(0)或last()等价于last(#1),表示获取最新的值,last(#3)表示最近第3个值(并不是最近的三个值),注意,last函数使用不同的参数将会得到不同的值,#2表示倒数第二个新的数据。例如从老到最新值为1,2,3,4,5,6,7,8,9,10,last(#2)得到的值为9,last(#9)得到的值为2;
另外,last函数必须包含参数;

3)avg

参数:秒或#num;
支持类型:float、int;
作用:返回一段时间的平均值;
例如:avg(5)表示最后5秒的平均值,avg(#5)表示最近5次得到值的平均值,avg(3600,86400)表示一天前的一个小时的平均值;

4)change

参数:无需参数;
支持类型:float、int、str、text、log;
作用:返回最近获得值与之前获得值的差值,返回字符串0表示相等,1表示不同;
例如:change(0)>n表示最近得到的值与上一个值得差值大于n,其中,0表示忽略参数;

5)nodata

参数:秒;
支持值类型:any;
作用:探测是否能接收到数据,当返回值为1表示指定的间隔(间隔不应小于30秒)没有接收到数据,0表示其正常接收数据;

6)count

参数:秒或#num;
支持类型:float、int、str、text、log;
作用:返回指定时间间隔内数值的统计;
例如:
count(600):表示最近10分钟得到值的个数;
count(600,12):表示最近10分钟得到值的个数等于12;
其中,第一个参数是指定时间段,第二个参数是样本数据;

7)sum

参数:秒或#num;
支持值类型:float、int;
作用:返回指定时间间隔中收集到的值的总和,时间间隔作为第一个参数将支持秒或收集值得数目(以#开始);
例如:
sum(600):表示在600秒之内接收到所有值的和;
sum(#5):表示最后5个值的和;

在了解了触发器表达式函数的含义后,就可以创建和编写触发器表达式了,如图:




首先输入触发器名称,然后标记触发器的严重性,有6个等级的划分,这里就选择一般验证了,接下来就是表达式的编写了,点击表达式后面的"添加"按钮,即可开始构建表达式了,在构建表达式页面,首先选择给那个监控项添加触发器,在"条件"界面下点击后面的"选择"按钮,即可打开已经添加好的所有监控项,选择刚刚创建的那个监控项,接着,开始选择触发器表达式的条件,也就是上面介绍过的触发器表达式函数,点击"功能"下拉菜单,可以发现很多触发器表达式函数,那么如何选择函数呢,当然是根据这个监控项的含义和监控返回的值。

刚才自定义的监控项"httpd server 80 status"这个监控项的返回值的是浮点数,当服务故障是返回0,当监控的服务正常时返回连接服务所花费的秒数。因此,我们就将返回0作为一个判断的标准,也就是将返回值为0作为触发器表达式的条件,要获得监控项的最新返回值,那就是使用last()函数,因此选择last()函数,接着,还有个"间隔(秒)"选项,这个保持默认即可,重点是最后这个"结果",这里是设置last()函数返回值是多少才进行触发,根据前面对监控的了解,last()函数返回0则表示服务故障,因此这里填上0即可!

这样,一个触发器表达式就创建完成了,完整的触发器表达式的内容:

{Template OS Linux:net.tcp.service.perf[http,,80].last()}=0

可以看出,触发器表达式是由4部分组成,第一部分是模板或主机的名称,第二部分是监控项对应的键值,第三部分是触发器表达式的函数,最后一不放呢就是监控项的值。这个表达式的含义:http服务的80端口获取到的最新值如果等于0,那么这个表达式就成立,或者返回true;

触发器创建完成后,两个监控的核心基本就完成了,后面还有创建"图形"、"聚合图形"等选项,这些过于简单,这就省略了!

5)创建主机组和主机

如图:







创建完成后,如图:

可以看到,在主机下,已经有应用集、监控项、触发器、图形等选项和内容了,这就是链接模板后,自动导入到主机中,当然在主机的编辑界面下也可以创建或修改应用集、监控项、触发器、图形等内容。

6)触发器动作配置

动作的配置是zabbix的一个重点,动作的添加根据事件源的不同,可分为触发器动作、自动发现动作、自动注册动作等,首先介绍触发器动作的配置方法,如图:







一个触发器就创建完成!

7)报警媒介配置

报警媒介就是用来设置监控告警的方式,也就是可以通过什么方式将告警信息发送出去。常见的告警媒介有:Email、企业微信等。

默认使用较多的就是通过Email的方式进行消息的发送告警,邮件告警方式的优势就是简单、免费,加上现在很多手机上都可以下载邮件客户端工具,通过简单的邮件告警设置,几乎就可以做到实时收取告警信息。

如图:

至此,zabbix中一个监控项的添加流程就完成了!

最后,我们再来梳理下一个监控添加的流程,一般操作步骤是这压根的:首先创建一个模板,或者再默认模板基础上新增监控项、监控项添加完成,接着对此监控项添加一个触发器,如果有必要,还可以对此监控项添加图形,接着,开始添加主机组和主机,在主机中引用已经存在的或新增的模板,然后创建触发器动作,设置消息发送事件,最后。设置报警媒介,配置消息发送的介质,这就是一个完整的Zabbix配置过程。

8)监控状态查看

当一个监控项配置完成后,要如何查看是否获取到数据了呢?如图:


此图形曲线是自动生成的,无需设置!

如果需要查看其他监控项的图形展示,可以进行以下操作:

从这个界面中可以看CPU、内存、文件系统、Swap等操作系统基础监控信息,而这些基础监控都不需要我们添加,因为zabbix默认已经帮我们安装好了!

------------本文到此结束,感谢阅读----------

监控 模板 触发器 表达式 应用 主机 函数 参数 类型 就是 如图 服务 选择 图形 内容 系统 不同 动作 数据 客户 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 河北软件开发哪家正规 ibm服务器的硬盘灯是绿色的 电商内部网络安全 徐汇区无线网络技术五星服务 游戏服务器 攻击 智能社区软件开发功能点估算 用数学解读软件开发流程 服务器主板自动化装配线生产厂家 网络安全图片画画 安徽统计数据库 广东特色软件开发哪里好 阿里云服务器安全说明书 软件开发应用增值税税率 新罗区韵介网络技术工作室 高校网络安全培训基地挂牌致辞 无锡中叶软件开发有限公司怎么样 公安网络安全知识内容严禁 华为服务器与中科曙光服务器 数据库查询各年龄的人数 郴州人网络安全知识 如何提升网络安全现状 怀柔区品牌软件开发 中转服务器搭建的命令是什么 卫辉软件开发行情 网络安全培养如何赢在未来 小天科技开发的软件开发 网络安全隐患微小说 互联网科技贷款牌照 数据库中表格一对多和多对多 小额贷款网络技术支持是什么
0