集群监控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. 注意事项参考资料本文介绍业务模型的上线流程。首先在训练模型的工具上,一般三个模型训…...
浅谈 React Hooks
React Hooks 是 React 16.8 引入的一组 API,用于在函数组件中使用 state 和其他 React 特性(例如生命周期方法、context 等)。Hooks 通过简洁的函数接口,解决了状态与 UI 的高度解耦,通过函数式编程范式实现更灵活 Rea…...
HTML 语义化
目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案: 语义化标签: <header>:页头<nav>:导航<main>:主要内容<article>&#x…...
golang循环变量捕获问题
在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - 循环变量捕获问题。让我详细解释一下: 问题背景 看这个代码片段: fo…...
Spring Boot 实现流式响应(兼容 2.7.x)
在实际开发中,我们可能会遇到一些流式数据处理的场景,比如接收来自上游接口的 Server-Sent Events(SSE) 或 流式 JSON 内容,并将其原样中转给前端页面或客户端。这种情况下,传统的 RestTemplate 缓存机制会…...
连锁超市冷库节能解决方案:如何实现超市降本增效
在连锁超市冷库运营中,高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术,实现年省电费15%-60%,且不改动原有装备、安装快捷、…...

MMaDA: Multimodal Large Diffusion Language Models
CODE : https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA,它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构…...

【论文阅读28】-CNN-BiLSTM-Attention-(2024)
本文把滑坡位移序列拆开、筛优质因子,再用 CNN-BiLSTM-Attention 来动态预测每个子序列,最后重构出总位移,预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵(S…...
Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理
引言 Bitmap(位图)是Android应用内存占用的“头号杀手”。一张1080P(1920x1080)的图片以ARGB_8888格式加载时,内存占用高达8MB(192010804字节)。据统计,超过60%的应用OOM崩溃与Bitm…...
Angular微前端架构:Module Federation + ngx-build-plus (Webpack)
以下是一个完整的 Angular 微前端示例,其中使用的是 Module Federation 和 npx-build-plus 实现了主应用(Shell)与子应用(Remote)的集成。 🛠️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...

HarmonyOS运动开发:如何用mpchart绘制运动配速图表
##鸿蒙核心技术##运动开发##Sensor Service Kit(传感器服务)# 前言 在运动类应用中,运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据,如配速、距离、卡路里消耗等,用户可以更清晰…...