- 博客(259)
- 资源 (1)
- 收藏
- 关注
原创 Docker Compose 部署一个完整的Prometheus监控告警系统
你可以使用 docker-compose ps 查看所有服务的运行状态。Master Token 是最高权限令牌,用于管理其他 Token 和 ACL 规则。使用 Master Token 列出所有 Token(需替换为实际 Token)我们来使用 Docker Compose 部署一个完整的监控告警系统。X-Consul-Token 用上一步自己创建的Token。关于钉钉告警的webhook的步骤,可以参考这篇文章。首先,我们创建一个整洁的目录结构来存放所有配置文件。
2025-11-24 15:19:06
393
原创 Prometheus实战教程 - 初识PromQL
可以这么说,PromQL是Prometheus所有应用场景的基础,理解和掌握PromQL是Prometheus入门的第一课。这种方式的问题很明显,以系统API调用的平均响应时间为例:如果大多数API请求都维持在100ms的响应时间范围内,而个别请求的响应时间需要5s,那么就会导致某些WEB页面的响应时间落到中位数的情况,而这种现象被称为长尾问题。与Summary类型的指标相似之处在于Histogram类型的样本同样会反应当前指标的记录的总数(以_count作为后缀)以及其值的总量(以_sum作为后缀)。
2025-11-11 17:04:38
962
原创 Prometheus实战教程 - 服务发现
而对于Prometheus而言其解决方案就是引入一个中间的代理人(服务注册中心),这个代理人掌握着当前所有监控目标的访问信息,Prometheus只需要向这个代理人询问有哪些监控目标控即可, 这种模式被称为服务发现。它允许 Prometheus 定期从一个 HTTP 端点(如自定义的服务注册接口、配置服务器等)拉取目标列表,适用于需要自定义服务发现逻辑的场景(例如企业内部自建的服务注册中心,或无法直接对接 Consul、K8s 等现有组件的情况)。*),包含服务的详细信息,可用于筛选或标签重写。
2025-11-10 17:10:39
829
原创 Prometheus实战教程 - Golang 开发Prometheus 自定义 Exporter
Exporter 的核心功能是数据采集、格式转换、指标暴露,这三个功能构成其核心工作流。数据采集从目标对象(如服务器、数据库、应用程序)获取原始监控数据。支持多种采集方式,比如主动拉取(Polling)或被动接收(Push)。格式转换将采集到的异构原始数据,统一转换为标准化的指标格式。最常见的标准是 Prometheus 的指标格式,确保数据可被监控系统识别。指标暴露通过 HTTP 接口(通常是 /metrics 端点)将标准化指标对外暴露。
2025-11-07 17:48:32
873
原创 Prometheus实战教程 05 - 告警通知实现 - 邮件 + 钉钉 + 自定义告警模板
prometheus-webhook-dingtalk 是官方推荐的工具,可将 Alertmanager 告警格式转为钉钉支持的格式。上 一节内容,已经部署好了Alertmanager服务,同时也接受到了页面上的告警,本节将介绍通过多种方式将告警发送出来。若仍报错,查看 Alertmanager 日志(如journalctl -u alertmanager)在 Alertmanager 中配置钉钉通知,需要通过 webhook 方式对接钉钉机器人。处理好告警后,也接受到了告警恢复通知。
2025-11-06 16:03:23
877
原创 Prometheus实战教程 04 - 主机告警
但是运维过程中,还需要根据告警规则触发告警,并通过多种方式发送提醒(邮件,短信,钉钉,飞书,微信等)。在生产环境中,Prometheus 告警规则文件的规划需要兼顾可读性、可维护性、扩展性,避免所有规则堆砌在一个文件里(后期维护灾难)。可以看到上节文章中Prometheus的告警已经发送到了Alertmanager这里了。创建规则文件(如node.yml),定义具体的告警条件(基于 PromQL 查询)。打开网址:https://prometheus.io/download/ 下载。
2025-11-03 11:39:34
642
原创 Prometheus实战教程 03 - 主机监控
Prometheus 进行主机监控主要通过部署 Node Exporter 来采集系统级指标,并将其与 Prometheus Server 进行配置连接,最后可通过 Grafana 进行数据可视化。默认配置可直接启动,如需自定义端口、数据存储路径等,修改/data/middleware/grafana-v9.5.21/conf/defaults.ini。打开Window主机浏览器,输入地址:http://192.168.37.21:9100/通过默认的账户密码: admin/admin 访问。
2025-11-01 20:26:52
768
原创 Minikube 安装与使用详细指南(Centos7 踩坑版)
Minikube 是一个用于在本地运行单节点 Kubernetes 集群的工具,适合开发、测试和学习 Kubernetes。所以我加了-- force 执行了 minikube start --force 还算顺利的启动了。X 因 DRV_AS_ROOT 错误而退出:docker 驱动不应使用 root 权限。Minikube 会自动配置。
2025-10-29 14:50:08
618
原创 网络性能测试工具 - netperf
netperf是一款专注于网络性能测试的开源工具,核心用于测量TCP和UDP协议在不同网络场景下的吞吐量、延迟等关键指标。清单会包含吞吐量、延迟测试等典型场景的命令示例,以及关键参数的说明,方便你直接复制使用。要不要我帮你整理一份。
2025-10-27 22:24:27
400
原创 CentOS 7上通过二进制包安装docker和docker-compose
通过以上步骤,即可在CentOS 7上完成Docker的二进制安装,适用于离线环境或需要精细控制安装路径的场景。从Docker官方仓库下载对应版本的二进制包(以。如果无法联网,可在其他机器下载后通过。
2025-10-27 14:46:55
450
原创 Centos7 停止维护一年后,还有多少人在使用,离线升级内核记录&&替代方案选型
但是因为CentOS 7 于 2024 年 6 月 30 日停止官方维护后,很多rpm包的源都停止了更新和移除。根据实际业务场景(兼容性、成本、合规性)选择最适合的方案,迁移前建议进行充分的兼容性测试。根据网上的文章参考的方法,先安装ELRepo源,然后在线安装内核。看来除非不得以的场景,是时候跟Centos7告别了。本来计划给我的Centos7.6操作系统升级内核。
2025-10-21 16:58:57
864
原创 ES集群最大分片限制报错处理
Elasticsearch集群因达到2000分片上限导致集成日志无法写入。解决方案包括:删除无用索引释放资源;临时提高集群最大分片限制;优化索引设计策略减少分片数量;检查分片分布情况。官方建议保持合理分片数量(20-25/GB堆内存),优先考虑优化索引设计而非单纯提高限制。
2025-10-13 17:45:12
241
原创 Redis MONITOR 命令详解
MONITOR是 Redis 实时调试的“利器”,但因其对主线程的阻塞特性,严禁在生产高并发场景下长期使用。仅在问题排查时临时启用,排查完成后立即退出;结合grep等工具过滤目标命令,减少无用输出;通过命令重命名或 ACL 权限控制,防止未授权使用。若需长期监控,优先选择 AOF 日志或第三方审计工具,平衡监控需求与 Redis 性能。
2025-09-18 17:58:25
1024
原创 Redis 协议(RESP)详解:请求与响应解析
Redis 采用 RESP(Redis Serialization Protocol,Redis 序列化协议)作为客户端与服务器之间的通信协议。简单易实现二进制安全高效解析部分人类可读本文档将按照请求和响应两个维度详细解析 Redis 协议,并提供完整案例。
2025-09-16 23:02:29
259
原创 SMTP讲解 + Python 发送邮件案例
SMTP(简单邮件传输协议)的端口和连接方式是邮件发送的核心技术细节,直接影响连接稳定性和安全性。不同邮箱服务商(如163、QQ、企业邮箱等)对端口和加密方式的支持存在差异,配置错误会导致“连接失败”“发送被拒”等问题。掌握端口与加密方式的对应关系,是解决“邮件发送失败”问题的核心技能,配置时务必严格匹配邮箱服务商的要求。,其中后两者是现代邮箱推荐使用的安全端口,25端口因安全性问题逐渐被淘汰。SMTP 协议常用的端口有。
2025-09-16 17:03:58
836
原创 基于Golang + vue3 开发的 kafka 多集群管理
主要是解决,Kafka多集群分散运维、监控盲区、权限混乱、数据孤岛等痛点;提升运维效率,解决命令行低效的问题。kafka数据通过yaml文件保存,支持前端增删改查yaml文件。核心框架:Vue3 + Vite(构建效率与性能优化)这里显示了Brokers列表和Topic列表。UI 组件库:Ant Design Vue。Kafka 交互:sarama。语言:TypeScript。安全: 基于Basic认证。核心语言:Golang。这里展示了消费者组列表。Topic列表,详情。Web 框架:Gin。
2025-09-09 13:07:44
159
原创 Vue 3 项目中引入 Iconify
Iconify 是一个开源的图标管理工具,它提供了超过 100,000 个高质量图标,来自自 100 多个流行图标集(如 Material Icons、Font Awesome、Ant Design Icons 等)。与传统图标库不同,Iconify 采用按需加载方式,只加载你实际使用的图标,大幅减少资源体积。包含海量图标,覆盖几乎所有常见图标集支持多种格式(SVG、JSON 等)无需完整导入整个图标库,按需加载支持自定义颜色、大小等样式与主流前端框架无缝集成<Icon/>
2025-09-05 17:32:42
979
原创 Redis 的 SUBSCRIBE 命令
命令用于订阅一个或多个频道,以便接收发送到这些频道的消息。这是 Redis 实现发布/订阅(Pub/Sub)功能的核心命令之一。命令可以轻松实现基于 Redis 的消息通知系统,适用于实时通信、事件通知等场景。
2025-09-03 14:45:00
516
原创 MySQL数据库恢复步骤(基于全量备份和binlog)
执行查询确认关键数据是否恢复到断电前状态。备份当前数据库的数据目录(防止意外)停止当前故障的MySQL服务。重新初始化MySQL数据目录。登录数据库验证数据完整性。
2025-09-03 10:41:05
900
原创 myql报错: Assertion failure: btr0pcur.cc:318:page_is_comp(next_page) == page_is_comp(page)
是MySQL中InnoDB存储引擎的一个重要参数,用于在数据库出现损坏等特殊情况下强制启动InnoDB存储引擎,以便尽可能地恢复数据。当这个断言失败时,说明 InnoDB 在遍历 B-tree 页面时,发现相邻页面的压缩状态不匹配,违反了 InnoDB 内部的数据结构一致性规则。内存损坏(导致数据在内存中被篡改)或磁盘控制器故障,可能导致写入的数据页状态异常。,通常与 InnoDB 数据页的一致性问题相关。特定版本的 MySQL/MariaDB 中,InnoDB 处理压缩表((要么都压缩,要么都不压缩)。
2025-09-02 17:26:49
680
原创 基于 GTID 实现 MySQL 8.0 的主从复制
通过以上步骤,可基于 GTID 实现 MySQL 8.0 的主从复制,GTID 机制能自动处理复制位置,减少人工干预,提高可靠性。,确保稳定在 0 或较小值(如 < 10 秒)。
2025-09-01 13:46:04
707
原创 jemalloc 介绍 && MySQL 配置jemalloc 指南
jemalloc 是一款高性能、低内存碎片的内存分配器,由 Jason Evans 开发,最初为 FreeBSD 操作系统设计。它通过优化的内存管理策略,有效解决了传统内存分配器在多线程环境下的性能瓶颈和内存碎片问题,目前被广泛应用于 Redis、MongoDB、Firefox、MySQL 等高性能软件中。
2025-09-01 12:53:11
871
原创 Consul 操作命令汇总 - Prometheus服务注册
通过以上步骤,Prometheus 会自动从 Consul 同步服务列表,并根据服务的 IP、端口和标签动态调整采集目标,实现服务的自动发现和监控。首先需要将你的业务服务注册到 Consul(可以是 API 服务、数据库等需要被 Prometheus 监控的目标)。Consul 所有功能均通过 HTTP API 暴露,适合程序(如 Java、Python 等)与 Consul 集成。通过以上两种方式,均可获取 Kafka 服务的实例列表、IP、端口及健康状态等信息。:数据重标签(处理服务元数据)
2025-08-29 22:20:40
1242
原创 MySQL配置 - innodb_strict_mode
- 严格模式下会报错id INT,name VARCHAR(10000) -- VARCHAR 最大长度通常为 65535,但实际受行格式限制严格模式(ON):直接报错非严格模式(OFF):自动调整为最大合法长度并警告。
2025-08-28 15:08:27
828
原创 从零开始学 Selenium:浏览器驱动、元素定位与实战技巧
Selenium是一个用于Web应用程序自动化测试的工具集,支持多浏览器(Chrome、Firefox、Edge等)、多语言(Python、Java、C#等),核心功能是模拟人类操作浏览器(点击、输入、跳转等)。
2025-08-21 10:35:45
1421
原创 前后端token自动续期方案
追求安全性:优先选Refresh Token 机制(双 Token 体系)。追求简单实现:选滑动窗口续期(无 Refresh Token)。追求请求成功率:选主动预检续期(前端提前处理)。实际场景中,可结合业务需求(如用户活跃度、安全等级)选择方案,核心是在“用户体验”与“安全性”之间找到平衡。
2025-08-20 09:33:56
1238
原创 线上 Java 问题难排查?Arthas帮你搞定
Arthas 是阿里巴巴开源的一款 Java 诊断工具,专为线上问题排查设计。它可以帮助开发者在不重启应用的情况下,实时查看 JVM 状态、类加载信息、方法调用参数与返回值、排查性能瓶颈等,是解决线上 Java 应用问题的利器。查看 JVM 内存、线程、GC 等实时状态反编译类文件,查看当前加载的代码监控方法执行耗时,定位性能问题查看方法调用参数和返回值动态修改日志级别排查类加载冲突等问题。
2025-08-19 15:32:07
628
原创 开源协议怎么选?一文读懂开源协议
选择协议时,需根据需求权衡:若希望代码被自由共享且衍生作品保持开源,选GPL/LGPL;若允许商业闭源使用,选MIT/Apache/BSD;若需平衡开源与闭源(仅修改文件开源),选MPL。(是否要求衍生作品开源)、商业使用限制、专利授权等方面。开源协议是规范开源软件使用、修改、分发的法律条款,核心差异体现在。
2025-08-19 14:32:40
1039
原创 如何用好 Jupyter Notebook?从基础到多项目切换技巧
通过虚拟环境管理,可实现不同项目的依赖隔离,在 Jupyter 中高效切换,保持开发环境整洁。需先安装 Python(建议 3.3 及以上版本),可从。
2025-08-15 16:59:20
703
原创 Redis 启动时出现 “Bad file format reading the append only file“ 错误
当 Redis 启动时出现 “Bad file format reading the append only file” 错误,通常意味着 AOF(Append-Only File)文件存在格式损坏或数据错误。这可能是由于意外关机、磁盘故障或文件写入中断导致的。
2025-08-15 15:59:04
400
原创 Redis 崩溃不丢数据?揭秘Redis持久化
特性RDBAOF混合持久化数据安全性低(可能丢失大量数据)高(最多丢失1秒数据)高(结合两者优势)恢复速度快(二进制解析)慢(重放命令)较快(RDB+增量AOF)文件体积小大中等适用场景备份、容忍数据丢失高安全性要求平衡速度与安全性若追求速度和备份便捷性,选 RDB;若要求高数据安全性,选 AOF;若想平衡两者,优先启用混合持久化。
2025-08-15 15:39:59
1111
原创 redis 内存使用率高居高不下,如何分析 key占用情况
清理大key:对非必要的大key直接删除,或拆分(如将大哈希拆分为多个小哈希)。设置合理的过期时间:对临时数据(如缓存)通过EXPIRE设置过期时间,利用Redis自动清理。优化数据结构字符串:若存储JSON等结构化数据,可改用哈希(hash)节省内存。哈希/集合:启用压缩列表(ziplist)配置(如),小数据更高效。处理内存碎片:若过高(如>1.5),可重启Redis(需提前做好持久化)。
2025-08-13 20:49:57
1117
原创 Windows 系统的 Python 版本管理工具 - pyenv-win
pyenv-win 是一个用于 Windows 系统的 Python 版本管理工具,它可以帮助你在同一台电脑上安装、管理和切换多个 Python 版本,非常适合需要在不同项目中使用不同 Python 版本的开发场景。通过 pyenv-win,你可以轻松在不同 Python 版本间切换,避免因版本差异导致的项目兼容性问题,是 Python 开发者的实用工具。
2025-08-11 15:41:20
2312
原创 Minio部署和客户端使用 - 版本 2025-05-24T17-08-30Z
MinIO是一个对象存储解决方案,它提供了与Amazon Web Services S3兼容的API,并支持所有核心S3功能。MinIO在双重许可证下发布,一个是 AGPL v3.0 和 MinIO商业许可证.
2025-08-04 21:42:47
1045
原创 Prometheus实战教程 02 - Prometheus 配置详解
Prometheus 的配置通过命令行标志和配置文件实现命令行标志:配置不可变的系统参数(如存储位置、数据保留量等)配置文件:定义与抓取相关的所有内容(作业和实例)以及要加载的规则文件配置可在运行时重新加载,通过发送SIGHUP信号或向/-/reload端点发送HTTP POST请求(需启用标志)若新配置格式不正确,更改不会生效。
2025-07-30 17:00:54
1074
原创 Prometheus实战教程 01 - Prometheus 简介和架构
Prometheus 是一套开源的监控告警系统,最初由 SoundCloud 开发,后成为 Cloud Native Computing Foundation(CNCF)的毕业项目,广泛用于云原生环境、微服务架构的监控。其设计理念聚焦于时序数据的采集、存储与分析,能高效处理大规模分布式系统的监控需求。Prometheus 专为监控动态服务环境基于时序数据模型存储监控指标(如服务器 CPU 使用率、API 响应时间);通过Pull 模式主动抓取目标服务的指标数据;支持灵活的查询语言(PromQL)
2025-07-30 13:13:11
964
原创 Kafka运维实战 17 - kafka 分区副本从 1 增加到 3【实战】
创建,格式如下(以},},},},},配置说明replicas数组中,第一个元素为原副本(保持 leader 不变,减少迁移开销),后两个为新增副本的 broker ID。确保新增的 broker(如 1、2、3)均正常运行,且集群总 broker 数量 ≥ 3(否则无法分配 3 个副本)。log_dirs 用于指定每个副本存放的日志目录,默认用 “any” 表示由 Kafka 自动分配。
2025-07-29 15:41:01
3308
原创 Kafka运维实战 16 - kafka 分区重新分配【实战】
-bootstrap-server <bootstrap-server-list> # KRaft 控制器或 broker 的地址(必填)--broker-list <String: brokerlist> # "0,1,2" (与--topics-to-move-json-file 配合)[--command-config <config-file>] # 客户端配置文件(如认证信息)[--reassignment-json-file <file>] # 包含分区重分配计划的 JSON 文件。
2025-07-29 15:08:34
706
基于Golang+vue3实现了kakfa集群管理工具
2025-09-09
第二节:Vben Admin v5 (vben5) Python-Flask 后端开发详解(附源码)
2025-06-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅