Zabbix分布式监控配置和使用

news2024/9/20 22:43:11

目录

  • 1 Zabbix监控的配置流程
  • 2 添加主机组
  • 3 添加模板
  • 4 添加主机
  • 5 配置图形
  • 6 配置大屏
  • 7 新建监控项
    • 7.1 简介
    • 7.2 添加监控项
    • 7.3 查看数据
    • 7.4 图表
  • 8 新建触发器
    • 8.1 概述
    • 8.2 添加触发器
    • 8.3 显示触发器状态


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

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/812357.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Golang 接口自动化00】为什么要用Golang做自动化?

目录 为什么使用Golang做自动化 最终想实现的效果 怎么做? 写在后面 资料获取方法 为什么使用Golang做自动化 顺应公司的趋势学习了Golang之后,因为没有太多时间和项目来实践,怕止步于此、步Java缺少练习遗忘殆尽的后尘,决定…

【C++进阶之路】多态篇

文章目录 前言一、概念1.分类2.实现条件①重写虚函数1.1总结三重1.2 final与override ②父类的指针或者引用2.1普通调用VS多态调用 3.抽象类3.1. 纯虚函数3.2. 接口继承和实现继承 二、原理及使用1.虚函数表 —— 虚表2.默认成员函数2.1构造函数2.2析构函数 3. 多继承3.1普通的…

python速成之循环分支结构学习

循环结构 应用场景 我们在写程序的时候,一定会遇到需要重复执行某条或某些指令的场景。例如用程序控制机器人踢足球,如果机器人持球而且还没有进入射门范围,那么我们就要一直发出让机器人向球门方向移动的指令。在这个场景中,让…

AD21原理图的高级应用(六)原理图设计片段的使用

(六)原理图设计片段的使用 Altium Designer 的片段功能可以很方便地重复使用一些单元模块,其中包括原理图的电路模块、PCB(包括布线)和代码模块。例如在工程中需要设计电源模块,而别的工程中又恰好有比较完善的电源模块,这时就可以通过片段功能重复地使用…

一文了解 Android 车机如何处理中控的旋钮输入?

前言 上篇文章《从实体按键看 Android 车载的自定义事件机制》带大家了解了 Android 车机支持自定义输入的机制 CustomInputService。事实上,除了支持自定义事件,对于中控上常见的音量控制、焦点控制的旋钮事件,Android 车机也是支持的。 那…

测试|测试用例方法篇

测试|测试用例方法篇 文章目录 测试|测试用例方法篇1.测试用例的基本要素:测试环境,操作步骤,测试数据,预期结果…2.测试用例带来的好处3.测试用例的设计思路,设计方法,具体设计方法之间的关系**设计测试用…

linux设备驱动的poll与fasync

什么是fasync 在 Linux 驱动程序中,fasync 是一种机制,用于在异步事件发生时通知进程。它允许进程在等待设备事件时,不必像传统的轮询方式那样持续地查询设备状态。 具体来说,当进程调用 fcntl(fd, F_SETFL, O_ASYNC) 函数时&am…

lib-flexible修改配置适配更多不同分辨率

找到设置宽度的地方 然后根据你的屏幕最大多大呀&#xff0c;最小多小呀设置一下 if (width / dpr < 1980) { width 1980 * dpr; } else if (width / dpr > 5760) { width 5760 * dpr; }

Python 教程之标准库概览

概要 Python 标准库非常庞大&#xff0c;所提供的组件涉及范围十分广泛&#xff0c;使用标准库我们可以让您轻松地完成各种任务。 以下是一些 Python3 标准库中的模块&#xff1a; 「os 模块」 os 模块提供了许多与操作系统交互的函数&#xff0c;例如创建、移动和删除文件和…

【Linux】进程篇Ⅱ:进程开始、进程终止、进程等待

文章目录 五、fork 函数&#xff0c;创建进程写时拷贝 六、进程终止1. 退出码2. 如何终止程序 七、进程等待1. 概念2. wait 函数waitpid 函数 &#x1f53a; 3. 阻塞等待 五、fork 函数&#xff0c;创建进程 #include <unistd.h>   pid_t fork(void);   返回值&#xf…

动态SQL 语句-更复杂的查询业务需求也能轻松拿捏

文章目录 动态SQL 语句-更复杂的查询业务需求动态SQL-官方文档为什么需要动态SQL动态SQL-基本介绍基本介绍动态SQL 必要性解决方案分析 动态SQL 常用标签动态SQL-案例演示if 标签应用实例where 标签应用实例choose/when/otherwise 应用实例forEach 标签应用实例trim 标签应用实…

【C语言进阶篇】 你真的学会数组了嘛?数组笔试题万字解析(上)

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏:《C语言初阶篇》 《C语言进阶篇》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 文章目录 &#x1f4cb; 前言&#x1f4ac; 数组笔试题解析&#x1f4ad; 一维数组笔试题✅ 一维数组笔试题解析✅ 一维数…

ShardingSphere 源码模块介绍

目录 Agent Db-Protocol Dialect-Exception Distribution Features Infra JDBC Kernel Mode Proxy Agent agent 模块提供了基于 Java Agent 实现的可观察框架 logging&#xff1a; 用于记录 ShardingSphere 的日志&#xff0c;支持文件metricrs&#xff1a;用于收集…

C++那些事之高性能SIMD

C那些事之高性能SIMD 最近在看相关向量化的内容&#xff0c;看起来有点头大&#xff0c;借此机会&#xff0c;学习一下高性能SIMD编程。 SIMD全称single-instruction multiple-data,单指令多数据。 在传统的计算机架构中&#xff0c;CPU一次只能处理一个数据元素。但是&#xf…

【机器学习】Feature scaling and Learning Rate (Multi-variable)

Feature scaling and Learning Rate 1、数据集2、学习率2.1 α \alpha α 9.9e-72.2 α \alpha α 9e-72.3 α \alpha α 1e-7 3、特征缩放3.1 特征缩放的原因3.2 Z-score 归一化3.3 预测3.4 损失等值线 导入所需的库 import numpy as np np.set_printoptions(precision…

【C++】类和对象-C++运算符重载

运算符重载 1.加号运算符重载 代码&#xff1a; #include <iostream> using namespace std; /******************************************/ //加号运算符重载class Person { public:int m_A;int m_B;//1、成员函数重载号(不能与下面方式2同时存在&#xff0c;否则代码报…

在docker中没有vi如何修改docker中的文件

今天在做学成在线的项目&#xff0c;遇到了一个问题&#xff0c;就是死活登不上xxl-job&#xff0c;按照之前遇到的nacos的问题&#xff0c;我怀疑很大概率是和当时的ip设置有关&#xff0c;不知道nacos的ip怎么修改的同学&#xff0c;可以看看这篇文章&#xff1a;关于docker中…

电子词典

项目要求&#xff1a; 1.登录注册功能&#xff0c;不能重复登录&#xff0c;重复注册。用户信息也存储在数据库中。 2.单词查询功能 3.历史记录功能&#xff0c;存储单词&#xff0c;意思&#xff0c;以及查询时间&#xff0c;存储在数据库 4.基于TCP&#xff0c;支持多客户…

【AI网站分享】

AI网站分享 1 AI应用2 AI 写作3 AI 编程4 AI设计5 AI作图6 AI训练模型7 AI影音编辑8 AI效率助手 网站链接&#xff1a; https://tools.haiyong.site/ai/ 网站中的内容大致可以分为八类&#xff1a;AI应用、AI写作、 AI 编程、 AI设计、 AI作图、AI训练模型、 AI影音编辑、 AI效…

线程属性——线程分离应用

文章目录 相关函数初始化释放线程属性的资源获取线程分离的状态属性设置线程分离的状态属性获取线程的栈的大小线程分离应用 相关函数 可以通过man pthread_attr_然后按两次table键查询和属性相关的函数 初始化 释放线程属性的资源 获取线程分离的状态属性 设置线程分离的状…