Zabbix监控K8s集群
虽然 Prometheus 被认为是 监控的Kubernetes最合适的工具 ,但其配置复杂、存储成本高以及告警管理繁琐等问题,使得一些传统运维团队更倾向于使用 Zabbix 这样的成熟监控方案。Zabbix 凭借其强大的数据采集、灵活的告警机制和直观的图形化界面,依然在企业监控体系中占据重要地位。
现在将演示如果通过Zabbix来监控K8s集群
K8s集群: #master3是NotReady状态先忽略不计,就相当于两台master一台node
一:下载Zabbix的helm包
nullhttps://git.zabbix.com/projects/ZT/repos/kubernetes-helm/browse
1.1:在K8s集群中安装helm
下载地址:https://github.com/helm/helm/releases
根据zabbix的helm部署前提下载合适的版本
1.2:在k8s集群主机上安装helm
tar zxvf helm-v3.12.3-linux-amd64.tar.gz #解压安装包
mv linux-amd64/helm /usr/bin/helm #移动到bin目录下
1.3:验证安装是否成果
helm version #查看helm版本
二:解压zabbix7.0helm包
2.1:存放目录,解压到当前目录
mkdir /Zabbix-monitor #创建存放helm包解压后的存放目录
unzip kubernetes-helm-release-7.0\@7236237491a.zip #解压helm包,我下载的是7.0版本的
解压后的就是这些东西:
2.2:查看并修改values.yaml文件
2.2.1:查看镜像
[root@master1 zabbix-monitor]# grep "repository:" values.yaml repository: zabbix/zabbix-proxy-sqlite3repository: zabbix/zabbix-agent2repository: zabbix/zabbix-java-gateway
kube-state-metrics这个资源没有定义镜像,我们自己给定义一下
修改成这样即可
2.2.2:接下来修改变量:
Zabbix-Proxy部分:
ZBX_PROXYMODE=1 #被动模式
ZBX_HOSTNAME=Zabbix-proxy-HA #proxy名称,后续在web端配置的时候需要
ZBX_SERVER_HOST="192.168.8.100" #server ip
zabbix-proxy还要修改一下service的类型:
修改成NodePort类型,因为这样的话集群外的机器才能访问到
Zabbix-agent部分:
ZBX_SERVER_HOST="192.168.8.100" #server ip
修改完之后保存退出value.yaml
2.3:拉取镜像
现在我们需要拉取的镜像一共有四个:
关于zabbix的镜像的标签都是统一的alpine-7.0.4
zabbix/zabbix-proxy-sqlite3:alpine-7.0.4
zabbix/zabbix-agent2:alpine-7.0.4
zabbix/zabbix-java-gateway:alpine-7.0.4
bitnami/kube-state-metrics:2.2.0
使用Docker拉取镜像,之后用docker save打包
拉取命令就是:
docker pull 镜像名字:标签
拉取下来之后save打包:
docker save -o tar包名字 镜像名字:标签
举例:docker save -o Zabbix-agent.tar zabbix/zabbix-agent2:alpine-7.0.4
2.4:将镜像文件导入K8s集群(所有节点都要执行导入的命令)
因为我的K8s集群的容器运行时是containerd所以用ctr命令导入。
ctr -n k8s.io image import Zabbix-agent.tar
ctr -n k8s.io image import Zabbix-java-gateway.tar
ctr -n k8s.io image import Zabbix-proxy.tar
ctr -n k8s.io image import kube-state-metrics_V2.2.0.tar
如果容器运行时是docker的话就用docker load -i导入
查看容器运行时的命令:
kubectl get node -owide
这一列就是容器运行时
三:helm部署
3.1: 创建命名空间
kubectl create ns monitoring
3.2:更新依赖
cd /Zabbix-monitor/ #存放helm包解压后文件的目录
helm dependency update . #更新依赖命令
3.3:开始部署
四:Zabbix-server端配置:
4.1:添加zabbix-proxy
这个端口用:kubectl get svc -n monitoring查看
然后点击添加即可。
过一会查看已经是在线状态了。
4.2:创建主机组
数据采集 > 主机群组 > 创建主机组 > 填写组名
我的主机组就叫K8s-HA
4.3:创建用于自动发现节点的主机
填完这些先别添加,还要修改一下宏变量:
{$KUBE.API.TOKEN} 这个宏写的值使用以下这个命令查看:
kubectl get secret zabbix-service-account -n monitoring -o jsonpath={.data.token} | base64 -d
现在就可以点击添加了
4.4:查看是否成功自动发现到K8s所有节点
可以看到已经成功发现并且添加上了,master3是红色的属于正常,因为我测试高可用,没有给master3开机。
主机也被监控到了数据
4.5:创建用于监控集群状态的主机
就是用来监控K8s的所有的核心组件, apiserver,etcd,kubelet等
点击添加主机
4.6:查看是否监控到集群状态
可以看到标记的就是由集群状态的主机自动发现并且添加的核心组件
4.7:查看集群状态主机的最新数据

五:自定义仪表盘展示:
后续也可以对接Grafana进行更直观的图形化展示。
相关文章:
Zabbix监控K8s集群
虽然 Prometheus 被认为是 监控的Kubernetes最合适的工具 ,但其配置复杂、存储成本高以及告警管理繁琐等问题,使得一些传统运维团队更倾向于使用 Zabbix 这样的成熟监控方案。Zabbix 凭借其强大的数据采集、灵活的告警机制和直观的图形化界面,…...
基于硅基流动平台API构建定制化AI服务的实践指南
在人工智能技术快速迭代的今天,硅基流动平台(SiliconFlow)凭借其高效的计算资源调度能力和开放的API接口,成为开发者快速实现AI服务落地的利器。本文将深入探讨如何通过硅基流动平台的API构建一个轻量级AI服务接口,并提…...
自动驾驶系统的车辆动力学建模:自行车模型与汽车模型的对比分析
在自动驾驶系统的车辆动力学建模中,自行车模型(Bicycle Model)和更复杂的汽车模型(如双轨模型或多体动力学模型)各有其适用场景和优缺点。以下是两者的详细对比及选择原因解析: 1. 模型定义与核心差异 特性自行车模型复杂汽车模型(如双轨模型)简化假设将四轮车辆简化为…...
element-ui messageBox 组件源码分享
messageBox 弹框组件源码分享,主要从以下两个方面: 1、messageBox 组件页面结构。 2、messageBox 组件属性。 一、组件页面结构。 二、组件属性。 2.1 title 标题,类型为 string,无默认值。 2.2 message 消息正文内容…...
洛谷题单1-B2025 输出字符菱形-python-流程图重构
题目描述 用 * 构造一个对角线长 5 5 5 个字符,倾斜放置的菱形。 输入格式 没有输入要求。 输出格式 如样例所示。用 * 构成的菱形。 输入输出样例 #1 输入 #1 输出 #1 **** *********方式-前半区推导,后半区逆序 代码 class Solution:static…...
23中设计模式-迭代器(Iterator)设计模式
迭代器设计模式 🚩什么是迭代器设计模式?🚩迭代器设计模式的特点🚩迭代器设计模式的结构🚩迭代器设计模式的优缺点🚩迭代器设计模式的Java实现🚩代码总结🚩总结 🚩什么是…...
第十三章:优化内存管理_《C++性能优化指南》_notes
优化内存管理 一、内存管理基础概念二、自定义分配器三、智能指针优化重点知识代码示例:智能指针性能对比 四、性能优化关键点总结多选题设计题答案与详解多选题答案设计题示例答案(第1题) 一、内存管理基础概念 重点知识 动态内存分配开销…...
requestAnimationFrame和requestIdleCallback分别是什么,是用在什么场景下
深入解析 requestAnimationFrame 和 requestIdleCallback requestAnimationFrame (rAF) 和 requestIdleCallback (rIC) 都是浏览器提供的 异步调度 API,但它们的执行时机和用途完全不同。 API主要用途何时执行是否保证执行适合场景requestAnimationFrame高优先级 U…...
SAP-ABAP:SAP BW模块架构与实战应用详解
SAP BW模块架构与实战应用详解 目录导航 核心架构分层设计数据建模关键技术典型行业应用场景BW/4HANA革新特性实施路线图常见问题解决方案学习资源推荐一、核心架构分层设计 1. 数据仓库层(Data Warehousing Layer) 组件功能说明典型对象🔄 ETL引擎数据抽取、转换、加载Da…...
准确--配置服务器文件数
某些系统可能在 /etc/security/limits.d/ 目录下有额外配置覆盖全局设置。检查是否存在冲突文件: ls /etc/security/limits.d/如果有文件(如 90-nproc.conf 或 90-nofile.conf),需编辑或删除这些文件中的冲突配置。 确保系统启用…...
揭秘大数据 | 12、大数据的五大问题 之 大数据管理与大数据分析
书接上文,老夫讲到规划大数据战略、构建大数据的解决方案与体系架构、解决大数据问题及大数据发展历程中通常会依次涉及到大数据存储、大数据管理、大数据分析、数据科学、大数据应用这五大问题。上篇内容主要围绕的是大数据存储,今天主要聊一下大数据管…...
Java操作RabbitMQ
文章目录 Spring集成RabbitMQ1. AMQP&SpringAMQP2. SpringBoot集成RabbitMQ3. 模型work模型 4.交换机Fanout交换机Direct交换机Topic交换机 5.声明式队列和交换机基于API声明基于注解声明 6.消息转换器 Spring集成RabbitMQ 1. AMQP&SpringAMQP AMQP(高级消…...
【MySQL】实战篇—项目需求分析:ER图的绘制与关系模型设计
在软件开发中,数据库是信息系统的核心部分,合理的数据库设计能够显著提高系统的性能和可维护性。 ER图(实体-关系图)是数据库设计的重要工具,它通过图形化的方式描述了数据实体及其相互关系,帮助开发者和设…...
Apache Shiro 统一化实现多端登录(PC端移动端)
Apache Shiro 是一个强大且易用的Java安全框架,提供了身份验证、授权、密码学和会话管理等功能。它被广泛用于保护各种类型的应用程序,包括Web应用、桌面应用、RESTful服务、移动端应用和大型企业级应用。 需求背景 在当今数字化浪潮的推动下ÿ…...
es新增运算符
?? ( 空值合并运算符) ?. (可选链式运算符) ?? (空值合并赋值操作符) // ?? ( 空值合并运算符):这个运算符主要是左侧为null和undefined,直接返回右侧值 let result value ?? 默认值;. ??(空值合并运算符) ✅ 用于…...
数据库三级填空+应用(2)
sysadmin、dbcreator 数据是面向主题的(2)、集成的、非易失的、随时间不断变化的数据集合, 数据字典 【答案】完整性约束 数据模型成分 33【解析】顺序图主要用于描述系统内对象之间的消息发送和接收序列。 34如果把舍弃的元组也保存在结果关…...
贪心算法经典应用:最优答疑调度策略详解与Python实现
目录 引言:从现实场景到算法设计 一、问题背景与数学建模 1.1 现实场景抽象 1.2 时间线分析 二、贪心策略的数学证明与选择依据 2.1 贪心选择性质 2.2 证明过程 三、算法实现与代码解析 3.1 算法步骤分解 3.2 代码亮点解析 四、测试案例与结果验证 4.1 …...
把手搭建vue前后端管理系统-TAB标签通过pinia来进行管理(二十六)
目标:通过pinia的store来进行组件状态的统一管理,这样大家都可以共用到这个组件的状态信息,就可以实现组件的联动 一、添加侧边栏菜单的点击事件: 1、CommonAside.vue里面添加click的事件 <el-menu-itemv-for"item in …...
Python与数据库
目录 一、数据库 1、数据库的概念 2、数据库的表 3、字段详解 二、SQL数据库语句 1、了解SQL命令 2、CREATE命令 3、INSERT命令 三、数据库和SQL命令 四、数据库的查询与修改 1、SELECT命令 2、UPDATE命令 3、DELETE命令 4、DROP TABLE 5、SQL的注意事项 五、处…...
MyBatis中mapper.xml 的sql映射规则
一、SQL 映射文件核心元素 MyBatis 映射文件的顶级元素(按定义顺序): cache:命名空间的缓存配置。cache-ref:引用其他命名空间的缓存。resultMap:自定义结果集映射。sql:可重用的 SQL 片段。i…...
ubuntu22.04安装搜狗输入法保姆教程~
一、添加中文语言支持 1.首先打开设置,找到Language and Region 2.点击Manage Installed Languages 3.点击 Install/Remove Languages... 4.选中Chinese (simplified),点击Apply...
Jenkins 配置python项目和allure
Jenkins新建项目 新建ry-api-auto-test。 添加项目描述,选择gitee令牌。 源码管理,设置仓库地址和凭证。参考我上一篇文章的链接:配置gitee私人令牌和凭证 构建步骤,因为我Jenkins部署在Windows,因此选择batch。…...
keda基于postgresql伸缩dify-api服务
1 概述 dify-api使用postgresql来存储数据,在dify控制台每新建一个聊天机器的聊天框,就会在conversations表里新插入一条记录,并且不断地更新字段updated_at,示例如下: dify# select * from conversations limit 1; …...
蓝桥杯 拼正方形
问题描述 小蓝正在玩拼图游戏。他有: 7385137888721 个 22 的方块10470245 个 11 的方块 他需要从中挑出一些方块来拼出一个正方形。 例如: 用 3 个 22 和 4 个 11 方块可以拼出一个 44 的正方形;用 9 个 22 方块可以拼出一个 66 的正方…...
failed to load steamui.dll”错误:Steam用户的高频崩溃问题解析
当你满心欢喜地双击 Steam 图标,准备进入游戏世界时,屏幕上突然弹出 “failed to load steamui.dll” 的刺眼提示——这是全球数百万 Steam 用户最不愿见到的错误之一。作为 Steam 客户端的核心界面动态链接库文件,steamui.dll 的缺失或损坏会…...
Django之旅:第六节--mysql数据库操作增删改查(二)
前提条件(models.py已经设置好): from django.db import mmodelsclass UserInfo(models.Model):namemodels.CharFIeld(max_length32)passwordmodels.CharFIeld(max_length64)#agemodels.IntegerFIeld()操作数据语法(在views.py文件࿰…...
6. 使用VUE实现前端页面的分级嵌套
1. 说明 在UI设计中,页面中有些部分的占用空间位置是固定不动,有些部分的区域是根据情况进行动态切换的。比如,一个网页的菜单栏和主题内容展示,往往菜单栏区域的导航按钮占用的空间是固定不动的,当用户点击不同按钮时…...
(UI自动化测试web端)第三篇:元素的常用操作方法_浏览器操作
模拟浏览器的常见操作。 1、最大化浏览器窗口 driver.maximize_window()2、浏览器后退、前进、刷新、关闭、退出 # 调用浏览器的后退 driver.back() # 调用浏览器的前进 driver.forward() # 刷新页面 driver.refresh() # 关闭当前窗口 driver.close() # 退出浏览器 driver.q…...
Ubuntu软件包离线下载安装
1、下载软件包tcpd,并在/var/cache/apt/archives目录中查看。 rooteducoder:~# apt-get install -d tcpd Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed:tcpd …...
第十节 MATLAB逻辑运算
MATLAB逻辑运算都是针对元素的操作,运算结果是特殊的逻辑数组;在逻辑分析时,逻辑(真)用1表示,逻辑假用0表示,逻辑运算中所有的非零元素作为1处理。 注意: 使用MATLAB逻辑运算时的语…...
初识哈希表
一、题意 给定一个整数数组 nums 和一个目标值 target,要求你在数组中找出和为目标值的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。 示例: 给定 nums [2, 7, …...
Ajax与Axios,以及Apifox的入门使用
Ajax与Axios,以及Apifox的入门使用 作者:blue 时间:2025.3.20 文章目录 Ajax与Axios,以及Apifox的入门使用1.Ajax2.Axios3.Apifox的基本使用内容Path 参数定义语法用途 Query 参数定义语法用途 1.Ajax 概念:Asynchr…...
jmm-java内存模型
java内存模型----底层原理 底层原理 从Java代码到最终执行的CPU指令的流程: 最开始,我们编写的Java代码,是*.java文件在编译(javac命令)后,从刚才的*.java文件会变出一个新的Java字节码文件(…...
机器学习——KNN数据均一化
在KNN(K-近邻)算法中,数据均一化(归一化)是预处理的关键步骤,用于消除不同特征量纲差异对距离计算的影响。以下是两种常用的归一化操作及其核心要点: 质押 一 、主要思想 1. 最值归一化&#…...
页面元素内容太长,给元素添加title
一、需求 页面元素内容太长,给元素添加title 二、实现 1、直接使用title属性 <div target"_blank" class"text-overflow" title"叉车司机">叉车司机</div> 2、使用tdesign的Popup 弹出层 <t-popup>触发元素&…...
【Git多分支使用教程】
Git多分支使用教程 Git多分支使用手册目录多分支只拉取一个多分支拉取指定几个步骤 1:克隆第一个分支步骤 2:获取其他分支 常见问题与解决方法1. 错误:origin/分支名 is not a commit2. 分支名称冲突3. --single-branch 限制 总结 Git多分支使…...
【408--复习笔记】数据结构
【408--复习笔记】数据结构 1.绪论数据结构基本概念• 请简述数据结构的定义。• 数据结构中数据、数据元素、数据项、数据对象的区别是什么? 算法相关• 什么是算法?算法的五个重要特性是什么?• 如何理解算法的时间复杂度和空间复杂度&…...
使用 Vite 提升前端开发体验:入门与配置指南
在现代前端开发中,构建工具的选择对开发效率和项目性能有着至关重要的影响。Vite 是一个新兴的前端构建工具,由 Vue.js 的作者尤雨溪开发,旨在通过利用现代浏览器的原生 ES 模块特性,提供更快的开发服务器启动速度和更高效的热更新…...
WPS JS宏编程教程(从基础到进阶)--第二部分:WPS对象模型与核心操作
第二部分:WPS对象模型与核心操作 WPS对象的属性、方法、集合 工作簿对象常用表达方式工作表对象常用表达方式单元格对象常用表达方式 单元格操作实战 单元格复制与重定位单元格偏移与尺寸调整 颜色设置专题 索引颜色与RGB颜色按条件动态设置单元格颜色 第二部分&…...
瑞数信息《BOTS自动化威胁报告》正式发布
在数字化时代,BOTS自动化攻击如同一场无声的风暴,正以前所未有的态势席卷全球网络空间。为了让各行业更好地应对自动化威胁挑战,瑞数信息作为BOTS自动化攻击防护领域的专业厂商,多年来持续输出BOTS自动化威胁报告,为各…...
【NUUO 摄像头】(弱口令登录漏洞)
漏洞简介:NUUO 是NUUO公司的一款小型网络硬盘录像机设备。 NUUO NVRMini2 3.0.8及之前版本中存在后门调试文件。远程攻击者可通过向后门文件handle_site_config.php发送特定的请求利用该漏洞执行任意命令。 1.Fofa搜索语句: 在Fofa网站,搜索&…...
Android系统的安全问题 - Linux的能力模型(Capability)和 SELinux 的区别
Linux 的能力模型(Capabilities)和 SELinux 是两种不同的安全机制,虽然它们都用于增强 Linux 系统的安全性,但它们的实现方式和目标有所不同。 1. Linux Capabilities(能力模型) 作用:传统的 …...
Rust安装并配置配置vscode编译器
一. 下载rustup-init.exe rust下载网址:Getting started - Rust Programming Language 根据系统,选择适合的exe文件 我选择的的是右边64bit的 打开下载的文件 输入1,回车 二. Visual C 安装 自动下载安装vs 等待安装完毕 三. Rust 安装…...
Spring Boot响应压缩配置与优化
一、核心工作机制 1.1 自动协商触发条件 Spring Boot的响应压缩功能基于智能协商机制,需同时满足以下条件方可触发: 客户端支持:请求头包含Accept-Encoding: gzip/deflate数据量阈值:响应体大小超过预设值(默认2KB&…...
el-select开启filterable模式,限制输入框输入类型
遇到el-select开启filterable模式查询,下拉框内容是文字与数字组合版,导致校验不准,且没有属性能直接限制focus输入的内容,这时候可以用自定义属性来解决 实例:(以只能输入数字为例) <el-for…...
创建login.api.js步骤和方法
依次创建 login.api.js、home.api.js...... login.api.js、home.api.js 差不多 导入到 main.js main.js 项目中使用...
在线运行vscode
安装 https://github.com/coder/code-server?utm_sourcesyndication&pubDate20250317 运行前预览脚本 curl -fsSL https://code-server.dev/install.sh | sh -s -- --dry-run运行脚本 curl -fsSL https://code-server.dev/install.sh | sh其他 可以通过后台服务运行&am…...
【Nginx】可以做哪些优化?
一、配置文件优化 1.1 性能优化 开启网页压缩 gzip on;设置网页缓存时间expires 缓存时间;设置连接保持超时keepalive_timeout 服务端超时时间 客户端超时时间;设置连接保持最大请求数keepalive_requests设置工作进程数 worker_processes 与服务器CPU数量…...
springboot在feign和线程池中使用TraceId日志链路追踪(最终版)-2
文章目录 简述问题feign调用时给head加入traceIdFeignConfig配置FeignConfig 局部生效feign拦截器和配置合并为一个文件(最终版)feign异步调用拦截器配置[不常用] 使用TTL自定义线程池为什么需要TransmittableThreadLocal? 总结参考和拓展阅读…...
datawhale组队学习-大语言模型-task5:主流模型架构及新型架构
目录 5.3 主流架构 5.3.1 编码器-解码器架构 5.3.2 因果解码器架构 5.3.3 前缀解码器架构 5.4 长上下文模型 5.4.1 扩展位置编码 5.4.2 调整上下文窗口 5.4.3 长文本数据 5.5 新型模型架构 5.5.1 参数化状态空间模型 5.5.2 状态空间模型变种 5.3 主流架构 在预训…...