Zabbix分布式监控配置和使用

简介: Zabbix分布式监控配置和使用

1 Zabbix监控的配置流程

在Zabbix-Web管理界面中添加一个主机,其完整的配置流程可以简单描述为:

Host groups(主机组)→Hosts(主机)→Applications(监控项组)→Items(监控项)→Triggers(触发器)→Problems(故障)→Actions(处理动作)→User groups(用户组)→Users(用户)→Medias(告警方式)→Action log(日志审计)

在实际使用时,Items、Triggers、Graphs(图形)不必每台设备(Host)都手动配置,通常采用模板进行批量配置即可。模板就是对设备的监控项等监控配置内容的抽象,可以将其链接(Link)对应到同一种监控类型的设备。

2 添加主机组

分组的目的是将同一属性的主机、模板进行分类。在Zabbix的软件设计规则中,已规定主机、模板必须属于一个分组。

对同一属性的主机或者模板应归类到相同组,相关原则如下:

  • 以地理位置纬度进行划分。
  • 以业务为单位划分组。
  • 以机器用途进行划分。
  • 以系统版本进行划分。
  • 以应用程序来划分组。
  • 其他方式等。

如何添加主机组???

依次单击Configuration → Host groups → Create host group按钮,打开添加主机组界面,输入主机组名“web app”,单击Add按钮添加,可以看到如下界面:

添加主机组后的相关信息保存在数据库中,如果想在数据库中查询主机组,则可运行下面的命令:

[root@linux30 ~]# mysql -uzabbix -pzabbix zabbix -e "select * from hstgrp";

3 添加模板

监控项、触发器、图形、Web、Discovery等都存在于主机之上,由于多个主机会使用相同的监控配置,因此可以对这部分同类的数据进行归纳抽象,即将这些数据做成模板。当我们需要对其他监控数据进行配置时,只需要为相应的主机添加对应的模板即可。

**添加模板(Templates)的步骤为:**依次单击Configuration→Templates→Create template按钮。

模板具有继承的功能(在一个模板中使用另一个模板):

在模板中也可以配置宏(Micros):

宏主要是对变量的定义,配置宏的作用是方便后面在Items、Triggers中引用。在模板中配置一个宏,在不同的主机中为该宏设置不同的变量值,从而达到模板化通用的目的。

注意:宏的名称为{$名称},宏的字符范围为“A~Z、0~9、_、.”,如果不是这个范围内的字符,则一律是无效的

查看新添加的模板。可以看到,Items中已经有三个监控项了,是继承于ZabbixAgent模板的。

4 添加主机

添加主机(Hosts)的目的是对具体的设备进行监控,步骤为:依次单击Configuration→Hosts→Create host按钮,填写主机名,选择主机组为“Linux servers”,填写Agent的IP地址,勾选“Enabled”(启用),单击Add按钮进行添加。

添加主机后,需要添加模板。单击Templates,搜索模板名称,输入Linux,出现了“Template OS Linux”模板,单击Add按钮。最后单击Add按钮,即可完成模板的添加。

注意:如果要从主机中删除模板,选择“Unlink”,并不会清除已经添加的监控数据;而选择“Unlink and clear”,则会删除链接到主机的模板,并且会清除主机中的监控数据。配置IPMI、Macros、Host inventory的方法与上相同。

在数据库中,模板是存储在hosts表中的。在MySQL中查看hosts表结构如下:

[root@linux30 ~]# mysql -uzabbix -pzabbix zabbix -e "show create table hosts\G";

5 配置图形

Graphs(图形)用于将数据以可视化形式展示。Graphs的配置存在于主机和模板中。

在主机(模板)中选择“Graphs”。单击“Create graph”按钮,打开新建图形界面,输入图形名称,选择所需要添加的监控项,选择完成。

选择刚才创建的图形,单击“Preview”,即可查看图形:

如果要查看所有的图形,则单击Monitoring→Graphs,选择对应的Group、Host、Graph进行查看即可

6 配置大屏

Screens(大屏)用于将多种信息放在一起展示,便于集中显示某个主机的多种信息,或者将多个主机的同一种信息放在一起显示,这些信息可以为Graphs、Maps、Server info等,几乎涵盖了Zabbix的所有监控信息。

通过单击Monitoring→Screens→Create screen按钮来创建大屏。创建时要定义大屏的行数和列数,然后单击“Add”按钮,勾选“Cpu Usage”,出现“Edit screen”按钮,即可进入编辑模式。

配置好大屏后,通过单击Monitoring→Screens来选择相应的大屏,进行展示。

7 新建监控项

7.1 简介

监控项是Zabbix中获得数据的基础。没有监控项,就没有数据——因为一个主机中只有监控项定义了单一的指标或者需要获得的数据。

7.2 添加监控项

所有的监控项都是依赖于主机的。这就是当我们要配置一个监控项时,先要进入 配置 → 主机 页面查找到新建的主机。

在’Linux31’行中,监控项(Items)的链接旁的数量会显示为’0’。点击这个链接,然后点击创建监控项(Create item),将会显示一个监控项定义表格。

对于监控项的示例,需要输入以下必要的信息:

名称(Name)

  • 输入 CPU Load 作为值。在列表中和其他地方,都会显示这个值作为监控项名称。

值(Key)

  • 手动输入 system.cpu.load 作为值。这是监控项的一个技术上的名称,用于识别获取信息的类型。这个特定值需要是Zabbix Agent预定义值中的一种。

信息类型(Type of information)

  • 在此处选择 Numeric (float)。这个属性定义了想获得数据的格式。

7.3 查看数据

当一个监控项定义完成后,你可能好奇它具体获得了什么值。前往监控(Monitoring) → 最新数据(Latest data), 在过滤器中选择刚才新建的主机,然后点击应用(Apply)

然后点击**- other -**前面的 + ,然后查看你之前定义的监控项和获得的值。

7.4 图表

当监控项运行了一段时间后,可以查看可视化图表。  简单图表 适用于任何被监控的数值型(numeric)监控项,且不需要额外的配置。这些图表会在运行时生成。

前往监控(Monitoring) → 最新数据(Latest data),然后点击监控项后的’图表(Graph)'链接以查看图表。

8 新建触发器

8.1 概述

监控项只是用于收集数据。如果需要自动评估收到的数据,我们则需要定义触发器。触发器包含了一个表达式,这个表达式定义了数据的可接受的阈值级别。

如果收到的数据超过了这个定义好的级别,触发器将被“触发”,或者进入“异常(Problem)”状态——从而引起我们的注意,让我们知道有问题发生。如果数据再次恢复到合理的范围,触发器将会到“正常(Ok)”状态。

8.2 添加触发器

为监控项配置触发器,前往配置(Configuration) → 主机(Hosts),找到’(Linux31)',点击旁边的触发器(Triggers) ,然后点击创建触发器(Create trigger)这将会向我们展现一个触发器定义表单。

Name:CPU load too high on  "Linux31" for 1 minutes
Expression:{Linux31:system.cpu.load[all,avg1].last(,1)}>1

确认表达式输入正确,直到最后一个符号。此处,监控项值(system.cpu.load)用于指出具体的监控项。这个特定的表达式大致是说如果1分钟内,CPU负载的平均值超过1,那么就触发了问题的阈值。你可以查看更多的触发器表达式语法信息。

完成后,点击添加(Add)。新的触发器将会显示在触发器列表中。

8.3 显示触发器状态

当一个触发器定义完毕后,你可能想查看它的状态。

如果CPU负载超过了你在触发器中定义的阈值,这个问题将显示在*监控(Monitoring) → 问题(Problems)*中。

# 增大CPU负载
[root@linux31 ~]# cat /dev/urandom | md5sum

目录
相关文章
|
3月前
|
监控 安全 Linux
在Linux中,zabbix如何监控脑裂?
在Linux中,zabbix如何监控脑裂?
|
17天前
|
SQL 监控 数据库
OceanBase社区版可以通过Zabbix监控
OceanBase社区版可以通过Zabbix监控
55 7
|
16天前
|
数据采集 存储 监控
公司监控软件:基于 PHP 的分布式监控系统设计
本文介绍了基于 PHP 的分布式监控系统的设计与实现。该系统包括监控节点、数据采集模块、数据传输模块和监控中心,能够高效地收集、传输和分析各节点的数据,确保系统的稳定运行和安全防护。通过示例代码展示了数据采集、传输及存储的具体实现方法,并强调了安全与可靠性的重要性。
36 3
|
1月前
|
SQL 监控 数据库
OceanBase社区版可以通过Zabbix监控
【10月更文挑战第5天】随着OceanBase社区版的广泛应用,企业纷纷采用这一高性能、高可用的分布式数据库系统。为了确保系统的稳定运行,使用成熟的Zabbix监控工具进行全面监控至关重要。本文通过具体示例介绍了如何配置Zabbix监控OceanBase,包括安装配置、创建监控模板和监控项、编写脚本、设置触发器及图形展示等步骤,帮助读者快速上手,及时发现并解决问题,确保业务始终处于最佳状态。
53 2
|
1月前
|
分布式计算 Hadoop
Hadoop-27 ZooKeeper集群 集群配置启动 3台云服务器 myid集群 zoo.cfg多节点配置 分布式协调框架 Leader Follower Observer
Hadoop-27 ZooKeeper集群 集群配置启动 3台云服务器 myid集群 zoo.cfg多节点配置 分布式协调框架 Leader Follower Observer
47 1
|
2月前
|
监控 关系型数据库 MySQL
zabbix agent集成percona监控MySQL的插件实战案例
这篇文章是关于如何使用Percona监控插件集成Zabbix agent来监控MySQL的实战案例。
55 2
zabbix agent集成percona监控MySQL的插件实战案例
|
1月前
|
存储 SQL 消息中间件
Hadoop-26 ZooKeeper集群 3台云服务器 基础概念简介与环境的配置使用 架构组成 分布式协调框架 Leader Follower Observer
Hadoop-26 ZooKeeper集群 3台云服务器 基础概念简介与环境的配置使用 架构组成 分布式协调框架 Leader Follower Observer
47 0
|
2月前
|
监控 Windows
Zabbix 5.0 LTS配置中文支持并解决字符乱码问题
文章介绍了如何在Zabbix 5.0 LTS中配置中文支持并解决字符乱码问题,包括在用户设置中选择中文语言和替换默认字体为Windows字体的步骤。
351 4
|
3月前
|
UED 存储 数据管理
深度解析 Uno Platform 离线状态处理技巧:从网络检测到本地存储同步,全方位提升跨平台应用在无网环境下的用户体验与数据管理策略
【8月更文挑战第31天】处理离线状态下的用户体验是现代应用开发的关键。本文通过在线笔记应用案例,介绍如何使用 Uno Platform 优雅地应对离线状态。首先,利用 `NetworkInformation` 类检测网络状态;其次,使用 SQLite 实现离线存储;然后,在网络恢复时同步数据;最后,通过 UI 反馈提升用户体验。
90 0
|
3月前
|
Java 测试技术 Spring
分布式之配置中心
分布式之配置中心
52 1

推荐镜像

更多