集群监控Zabbix和Prometheus
文章目录
- 一、Zabbix入门概述
- 1、Zabbix概述
- 2、Zabbix 基础架构
- 3、Zabbix部署
- 3.1 前提环境准备
- 3.2 安装Zabbix
- 3.3 配置Zabbix
- 3.4 启动停止Zabbix
- 二、Zabbix的使用与集成
- 1、Zabbix常用术语
- 2、Zabbix实战
- 2.1 创建Host
- 2.2 创建监控项(Items)
- 2.3 创建触发器(Trigger)
- 2.4 创建报警媒介类型(Media type)
- 2.5 创建动作(Action)
- 2.6 测试
- 2.7 Zabbix模板创建
- 3、集成Grafana入门
- 3.1 部署Grafana
- 3.2 集成Zabbix
一、Zabbix入门概述
1、Zabbix概述
Zabbix是一款能够监控各种网络参数以及服务器健康性和完整性的软件。Zabbix使用灵活的通知机制,允许用户为几乎任何事件配置基于邮件的告警。这样可以快速反馈服务器的问题。基于已存储的数据,Zabbix提供了出色的报告和数据可视化功能
2、Zabbix 基础架构

3、Zabbix部署
官网:https://www.zabbix.com/cn/download
3.1 前提环境准备
# 如果集群开启,先关闭集群。因为安装Zabbix前,需要重启虚拟机。如果之前弄过了就不需要了
cluster.sh stop
# 关闭防火墙(3台节点,已关闭)
sudo service iptables stop
sudo chkconfig iptables off# 关闭SELinux(hadoop102)
# 修改配置文件/etc/selinux/config
sudo vim /etc/selinux/config
# 修改
SELINUX=disabled
# 重启服务器# ================配置Zabbix yum源(3台节点)==========
# 安装yum仓库,安装zabbix的yum仓库,三台机器都要运行
sudo rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
# 安装Software Collections仓库
sudo yum install -y centos-release-scl# =============修改zabbix仓库配置文件(三台节点)===========
# 修改为阿里云镜像
# 查看原始zabbix.repo文件
sudo cat /etc/yum.repos.d/zabbix.repo
# 执行以下命令完成全局替换
sudo sed -i 's/http:\/\/repo.zabbix.com/https:\/\/mirrors.aliyun.com\/zabbix/g' /etc/yum.repos.d/zabbix.repo
# 查看修改之后的zabbix.repo文件
sudo cat /etc/yum.repos.d/zabbix.repo# 启用zabbix-web仓库,仅在102机器进行修改
# 打开/etc/yum.repos.d/zabbix.repo文件,做如下修改
[zabbix-frontend]
...
enabled=1
...
3.2 安装Zabbix
# 在hadoop102、hadoop103、hadoop104三台节点分别执行以下安装命令
sudo yum install -y zabbix-server-mysql zabbix-agent zabbix-web-mysql-scl zabbix-apache-conf-scl
# hadoop103
sudo yum install -y zabbix-agent
# hadoop104
sudo yum install -y zabbix-agent
3.3 配置Zabbix
# 创建zabbix数据库
mysql -uroot -p123456 -e"create database zabbix character set utf8 collate utf8_bin"
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uroot -p123456 zabbix# 配置Zabbix_Server(hadoop102)
# 修改zabbix-server配置文件
sudo vim /etc/zabbix/zabbix_server.conf
DBHost=hadoop102
DBName=zabbix
DBUser=root
DBPassword=123456# 配置Zabbix_Agent(三台节点),server都写hadoop102
# 修改zabbix-agent配置文件
sudo vim /etc/zabbix/zabbix_agentd.conf
# 修改如下内容:使用被动模式,等待proxy查询,而不是主动发送
Server=hadoop102
#ServerActive=127.0.0.1
#Hostname=Zabbix server# 配置Zabbix_Web时区,102
# 修改/etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf文件
sudo vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
# 最后一行改
php_value[date.timezone] = Asia/Shanghai
3.4 启动停止Zabbix
# 102启动与停止
sudo systemctl start zabbix-server zabbix-agent httpd rh-php72-php-fpm
sudo systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
sudo systemctl stop zabbix-server zabbix-agent httpd rh-php72-php-fpm
sudo systemctl disable zabbix-server zabbix-agent httpd rh-php72-php-fpm
# 103,104启动与停止
sudo systemctl start zabbix-agent
sudo systemctl enable zabbix-agent
sudo systemctl stop zabbix-agent
sudo systemctl disable zabbix-agent
然后连接Zabbix_Web数据库,浏览器访问http://hadoop102/zabbix/,然后按照步骤填写

最后登陆,用户名:Admin 密码:zabbix
二、Zabbix的使用与集成
1、Zabbix常用术语
-
主机(Host)
一台你想监控的网络设备,用IP或域名表示
-
监控项(Item)
你想要接收的主机的特定数据,一个度量数据
-
触发器(Trigger)
一个被用于定义问题阈值和“评估”监控项接收到的数据的逻辑表达式
-
动作(Action)
一个对事件做出反应的预定义的操作,比如邮件通知
2、Zabbix实战
2.1 创建Host
- 进入UI界面点击配置/主机/创建主机
- 配置主机(Host),主机名称填写hadoop102,群组填写hadoop(自动新增),填写agent所在ip,保存,重复以上步骤,再创建hadoop103、hadoop104主机
2.2 创建监控项(Items)
文档资料:https://www.zabbix.com/documentation/5.0/zh/manual/config/items/itemtypes/zabbix_agent
在一台主机(例如hadoop102)点击监控项(Items),点击创建监控项(Create Item),配置监控项(Item)这里我以查询datanode的进程数为例,配置完成后即可查看监控项最新数据

2.3 创建触发器(Trigger)
- 点击配置/主机/触发器
- 点击创建触发器,编辑触发器

2.4 创建报警媒介类型(Media type)
点击管理/报警媒介类型/Email,编辑Email

然后在用户设置里Email绑定收件人
2.5 创建动作(Action)
点击配置/动作/创建动作,编辑动作(Action)


2.6 测试
# 关闭集群中的HDFS,会有如下效果
sbin/stop-dfs.sh
# 查看仪表盘与邮件
2.7 Zabbix模板创建
里面可以发现有很多已经内置好的模板,可以直接拿来使用。如果要自己创建,点击配置/模板/创建模板,配置模板名称/群组,配置监控项,配置触发器;然后配置动作,将这几个触发器连接到动作。最后去主机为hadoop103应用模板
3、集成Grafana入门
3.1 部署Grafana
官方仓库:https://dl.grafana.com/oss/release/grafana-7.4.3-1.x86_64.rpm
国内镜像:https://repo.huaweicloud.com/grafana/7.4.3/grafana-7.4.3-1.x86_64.rpm
wget https://repo.huaweicloud.com/grafana/7.4.3/grafana-7.4.3-1.x86_64.rpm
# 使用rpm安装Grafana
sudo rpm -ivh grafana-7.4.3-1.x86_64.rpm
# 启动Grafana
sudo systemctl start grafana-server
# 访问地址为:http://hadoop102:3000/
# 首次登录用户名和密码均为 admin
3.2 集成Zabbix
使用Grafana与其他系统集成时,需要配置对应的DataSource
# 搜索无法找到,需要先自行下载zabbix插件
# 拉到最下面或者访问:https://grafana.com/grafana/plugins/?utm_source=grafana_add_ds
# 按照所需插件的说明进行部署
sudo grafana-cli plugins install alexanderzobnin-zabbix-app
sudo systemctl restart grafana-server# 然后点击plungin选择启动zabbix插件,之后数据源就可以找到该zabbix了

下面举例一个集成案例,在Zabbix中为hadoop102主机应用一个Zabbix内置的Linux系统监控模板,选择主机hadoop102,点击模板,搜索linux,并选择Template OS Linux by Zabbix agent;下一步集成Grafana,展示模板中的系统监控项,选择要展示的监控项

相关文章:
集群监控Zabbix和Prometheus
文章目录 一、Zabbix入门概述1、Zabbix概述2、Zabbix 基础架构3、Zabbix部署3.1 前提环境准备3.2 安装Zabbix3.3 配置Zabbix3.4 启动停止Zabbix 二、Zabbix的使用与集成1、Zabbix常用术语2、Zabbix实战2.1 创建Host2.2 创建监控项(Items)2.3 创建触发器&…...
K8S(七)—污点、容忍
目录 污点、容忍污点(Taints):容忍(Tolerations):如何一起使用污点和容忍:操作符(Equal、Exists)例子基于污点的驱逐基于节点状态添加污点 污点、容忍 官网地址…...
新视野大学英语1 词组 12.17
embarrassment和awkwardness的区别以及各自的组词。 "Embarrassment" 和 "awkwardness" 都可以用来描述一种尴尬或不舒服的感觉,但它们有一些微妙的区别。 "Embarrassment" 指的是由于尴尬、困窘或难堪的情况而产生的感觉。 这种感觉…...
springboot实战项目之使用AOP技术实现各种角色的鉴权功能
前言 项目开发需求,会员有不同的角色,不同的角色被赋予不同的权限,这就需要对会员的操作进行鉴权处理。 方案 采用aop,可实现满足这种需求,创建匿名类。对外提供接口的时候都会拦截,这种会有弊端&#x…...
华为配置基本QinQ示例
组网需求 如图1所示,网络中有两个企业,企业1有两个分支,企业2有两个分支。这两个企业的各办公地的企业网都分别和运营商网络中的SwitchA和SwitchB相连,且公网中存在其它厂商设备,其外层VLAN Tag的TPID值为0x9100。 现…...
【漏洞复现】系列集合
该篇文章仅供学习网络安全技术参考研究使用,请勿使用相关技术做违法操作 Apache Apache_HTTPD_未知后缀名解析Apache_HTTPD_换行解析(CVE-2017-15715)Apache_HTTPD_多后缀解析Apache_HTTP_2.4.50_路径穿越(CVE-2021-42013)Apache_HTTP_2.4.49_路径穿越(CVE-2021-41…...
TCP报文头(首部)详解
本篇文章基于 RFC 9293: Transmission Control Protocol (TCP) 对TCP报头进行讲解,部分内容会与旧版本有些许区别。 TCP协议传输的数据单元是报文段,一个报文段由TCP首部(报文头)和TCP数据两部分组成,其中TCP首部尤其重…...
第4章-第1节-初识Java的数组
1、数组 属于Java内存层面的一款容器(crud操作)。 概念: 内存中的一块存储区域(空间),内部有一组连续的小区域(元素空间),有数据类型的限定,可以存入一组匹配类型的数据,并且根据需要可以改动元素空间中的数据内…...
大数据技术10:Flink从入门到精通
导语:前期入门Flink时,可以直接编写通过idea编写Flink程序,然后直接运行main方法,无需搭建环境。我碰到许多初次接触Flink的同学,被各种环境搭建、提交作业、复杂概念给劝退了。前期最好的入门方式就是直接上手写代码&…...
IDEA中工具条中的debug按钮不能用了显示灰色
IDEA中工具条中的debug按钮不能用了显示灰色 1. 问题描述 IDEA上的DEBUG按钮突然变成了灰色: 2. 解决办法 一通搜索,终于找到解决办法 点击 File -> Project Structure如下图操作 3. 重启,解决 4. 参考 https://www.cnblogs.com…...
【MySQL内置函数】
目录: 前言一、日期函数获取日期获取时间获取时间戳在日期上增加时间在日期上减去时间计算两个日期相差多少天当前时间案例:留言板 二、字符串函数查看字符串字符集字符串连接查找字符串大小写转换子串提取字符串长度字符串替换字符串比较消除左右空格案…...
C++相关闲碎记录(14)
1、数值算法 (1)运算后产生结果accumulate() #include "algostuff.hpp"using namespace std;int main() {vector<int> coll;INSERT_ELEMENTS(coll, 1, 9);PRINT_ELEMENTS(coll);cout << "sum: " << accumulate(…...
18、vue3(十八):菜单权限,按钮权限,打包,发布nginx
目录 一、菜单权限和路由拆分 1.思路分析 2.深拷贝插件 3.代码实现 4.效果展示...
04 在Vue3中使用setup语法糖
概述 Starting from Vue 3.0, Vue introduces a new syntactic sugar setup attribute for the <script> tag. This attribute allows you to write code using Composition API (which we will discuss further in Chapter 5, The Composition API) in SFCs and shorte…...
vite+ts——user.ts——ts接口定义+axios请求的写法
import axios from axios; import qs from query-string; import {UserState} from /store/modules/user/types;export interface LoginData{username:string;password:string;grant_type?:string;scope?:string;client_id?:string;client_secret?:string;response_type?:…...
环境搭建及源码运行_java环境搭建_mysql安装
书到用时方恨少、觉知此时要躬行;拥有技术,成就未来,抖音视频教学地址: 1、介绍 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle旗下产品。MySQL是最…...
Android camera的metadata
一、实现 先看一下metadata内部是什么样子: 可以看出,metadata 内部是一块连续的内存空间。 其内存分布大致可概括为: 区域一 :存 camera_metadata_t 结构体定义,占用内存 96 Byte 区域二 :保留区&#x…...
ElasticSearch面试题
1.介绍下es的架构? es采用的是分布式的架构,es集群中会有多个结点,而结点的角色主要有下面几种。 协调结点: 请求路由能力,将请求内容将请求转发给对应的结点进行处理。 master结点: 结点管理ÿ…...
C++ 数据结构知识点合集-C/C++ 数组允许定义可存储相同类型数据项的变量-供大家学习研究参考
#include <iostream> #include <cstring>using namespace std;// 声明一个结构体类型 Books struct Books {char title[50];char author[50];char subject[100];int book_id; };int main( ) {Books Book1; // 定义结构体类型 Books 的变量 Book1Books …...
【机器学习】5分钟掌握机器学习算法线上部署方法
5分钟掌握机器学习算法线上部署方法 1. 三种情况2. 如何转换PMML,并封装PMML2.1 什么是PMML2.2 PMML的使用方法范例3. 各个算法工具的工程实践4. 只用Linux的Shell来调度模型的实现方法5. 注意事项参考资料本文介绍业务模型的上线流程。首先在训练模型的工具上,一般三个模型训…...
[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解
突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 安全措施依赖问题 GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...
K8S认证|CKS题库+答案| 11. AppArmor
目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...
【入坑系列】TiDB 强制索引在不同库下不生效问题
文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...
关于nvm与node.js
1 安装nvm 安装过程中手动修改 nvm的安装路径, 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解,但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后,通常在该文件中会出现以下配置&…...
第25节 Node.js 断言测试
Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...
Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级
在互联网的快速发展中,高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司,近期做出了一个重大技术决策:弃用长期使用的 Nginx,转而采用其内部开发…...
Python爬虫(一):爬虫伪装
一、网站防爬机制概述 在当今互联网环境中,具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类: 身份验证机制:直接将未经授权的爬虫阻挡在外反爬技术体系:通过各种技术手段增加爬虫获取数据的难度…...
【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)
骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术,它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton):由层级结构的骨头组成,类似于人体骨骼蒙皮 (Mesh Skinning):将模型网格顶点绑定到骨骼上,使骨骼移动…...
是否存在路径(FIFOBB算法)
题目描述 一个具有 n 个顶点e条边的无向图,该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序,确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数,分别表示n 和 e 的值(1…...
USB Over IP专用硬件的5个特点
USB over IP技术通过将USB协议数据封装在标准TCP/IP网络数据包中,从根本上改变了USB连接。这允许客户端通过局域网或广域网远程访问和控制物理连接到服务器的USB设备(如专用硬件设备),从而消除了直接物理连接的需要。USB over IP的…...
