- 博客(102)
- 资源 (19)
- 收藏
- 关注
原创 Quickwit+Jaeger+Prometheus+Grafana搭建Java日志管理平台
生产服务应用可观测性在当下比较流行的方案,其中出现了大量高性能、开箱即用、易上手的的开源产品,大大丰富了在可观测性领域产品的多样性,本文讲述基于OTLP协议推送Java项目遥测数据(日志、指标、链路)到后端存储服务,整体架构如下:Opentelemetry +Quickwit + Jaeger + Prometheus + Grafana;
2025-03-10 20:42:45
1124
原创 Grafana集成Quickwit插件
对于追求高性能、低成本的、易维护的日志存储管理方案来说,Loki和Quickwit服务对于中小企业来说,都是一个不错的选择之一;关于为什么使用Quickwit日志搜索引擎,而不是使用Grafana同平台的原生产品Loki,这一篇关于《Quickwit与Loki的基准测试》文章可做参考;但通过测试基准结果图来看,在检索数据方面,Quickwit明显比Loki性能更强,检索效率更高,可以在后续搭建日志管理平台时,做为产品选型的一个参考;
2025-03-10 20:26:33
980
原创 Docker安装Prometheus监控平台
Prometheus是一个开源的系统监控和警报工具包,最初由 SoundCloud 开发并开源,现已成为云原生计算基金会(CNCF)的毕业项目。它广泛应用于监控基础设施、应用程序和服务的性能,并提供强大的数据查询和警报功能。许多公司和组织都采用了Prometheus,该项目拥有非常活跃的开发者和用户社区。它现在是一个独立的开源项目,社区版免费使用,独立于任何公司进行维护。Prometheus 通过定期从目标(如服务器、应用程序、服务)中拉取(pull)指标数据,并将其存储在本地时间序列数据库中。
2025-03-04 19:56:32
1306
原创 Docker安装Jaeger链路追踪平台
Jaeger 是一个开源的分布式追踪系统,最初由 Uber 开发并开源,现已成为云原生计算基金会(CNCF)的项目之一,它已经有 9 年的成功历史。它主要用于监控和诊断微服务架构中的请求链路,帮助开发者和运维人员理解系统中各个服务的调用关系。Jaeger 通过为每个请求生成唯一的追踪 ID,记录请求在系统中的完整路径,包括经过的每个服务、调用的方法以及每个步骤的耗时。可以帮助分析系统中每个服务的性能,识别瓶颈和慢请求。通过可视化展示每个 Span 的耗时,开发人员可以快速定位问题所在。
2025-03-04 19:50:36
858
原创 Docker安装Grafana数据可视化平台
Grafana是一个开源的监控和数据可视化平台,主要用于展示和分析时间序列数据。提供功能强大且灵活的数据可视化和监控工具,适用于多种场景,它广泛应用于DevOps、IT运维、物联网(IoT)和业务分析等领域。
2025-03-03 20:52:06
852
原创 Docker安装Redpandata-console控制台
Redpanda控制台,这是一个功能强大的Web UI,用于管理和监控您的Redpanda 集群。探索实际示例和场景,以帮助您了解如何利用 Redpanda 控制台实现不同的用例,包括数据可观察性、Redpanda 管理、访问控制和连接。代理监控:查看和管理代理的健康状况、状态和配置。主题管理:创建、配置和监控主题,包括分区、副本和消息计数的详细信息。消费者群体洞察:跟踪消费者群体的活动和表现,管理偏移并识别潜在的瓶颈。
2025-03-03 20:47:46
857
原创 Docker安装Postgres_16数据库
PostgreSQL 是一个功能强大、开源的关系型数据库管理系统(RDBMS),以其可靠性、功能丰富性和可扩展性而闻名。它支持复杂的查询、事务完整性、并发控制以及多种数据类型和扩展功能,适用于各种规模的应用程序;适用传统的IT服务系统关系型数据库开发与应用,也适用于互联网行业高并发、大数据量存储等数据需求;
2025-03-03 20:37:52
1343
原创 Quickwit基于MinIO搭建分布式集群
Quickwit创建分布式集群是比较容易的,我们可以在多个节点上部署Quickwit。如果有Kubernetes环境,官方有提供Helm图表来帮助你在Kubernetes 上部署Quickwit。本文主要讲解在Docker模式下,同过在多个Docker容器上部署Quickwit服务节点,快速实现分布式集群服务;注意:在集群模式下,你必须将索引数据存储在共享存储后端(例如 Amazon S3 或 MinIO、PostgreSQL)上。
2025-02-25 20:15:32
606
原创 Quickwit获取Kafka数据源消息
Quickwit可以将数据从一个或多个源插入到索引中。创建索引后,可以使用CLI 命令quickwit source create添加源,支持的源有:file、kafka、kinesis、pulsar。本章讲解如何从Quickwit搜索引擎中创建Kafka源和获取Kafka源主题数据流,注意从Kafka流中读取数据流中的每条消息都必须包含一个JSON 对象,目前官方只支持数据源JSON格式数据导入。
2025-02-24 20:05:48
802
原创 Kafka消息服务之Java工具类
消息代理的使用原因多种多样(将处理与数据生产者分离开来、缓冲未处理的消息等)。与大多数消息系统相比,Kafka 具有更好的吞吐量、内置分区、复制和容错能力,这使其成为大规模消息处理应用程序的良好解决方案。Apache Kafka是一个开源分布式事件流平台,也是当前系统开发中流行的高性能消息队列服务,数千家公司使用它来实现高性能数据管道、流分析、数据集成和关键任务应用程序。注:此内容是在另一个技术平台发布的历史文章,转发到优快云上;此基于kafka客户端的工具类,提供基础的消息发送与监听功能。
2025-02-19 10:00:54
346
原创 Docker安装Minio对象存储
MinIO 是一种对象存储解决方案,提供与Amazon Web Services S3兼容的API并支持所有核心S3功能。MinIO可部署在任何地方:公共云或私有云、裸机基础设施、编排环境和边缘基础设施。本章讲解通过Portainer平台快速安装Minio对象存储服务docker容器。
2025-02-18 20:51:47
761
原创 Docker安装Quickwit搜索引擎
Quickwit 是首个以亚秒级延迟直接在云存储上执行复杂搜索和分析查询的引擎。它由 Rust 及其分离的计算和存储架构提供支持,旨在节省资源、易于操作并可扩展到 PB 级数据。Quickwit 非常适合日志管理、分布式跟踪以及通常不可变的数据(例如对话数据(电子邮件、文本、消息平台)和基于事件的分析)。Quickwit 专为直接从对象存储进行亚秒级搜索而设计,可实现真正分离的计算和存储。
2025-02-18 20:31:29
1073
原创 Docker可视化管理工具Portainer
Portainer 由两个元素组成:Portainer 服务器和 Portainer 代理。两者均作为轻量级容器在现有的容器化基础架构上运行。Portainer 代理应部署到集群中的每个节点,并配置为向 Portainer 服务器容器报告。单个 Portainer 服务器将接受来自任意数量的 Portainer 代理的连接,从而能够从一个集中式界面管理多个集群。为此,Portainer 服务器容器需要数据持久性。Portainer 代理是无状态的,数据会被发送回 Portainer 服务器容器。
2025-01-21 20:26:10
2079
1
原创 Docker Compose创建镜像服务
使用Docker Compose,可以使用YAML配置文件(称为Compose文件)来配置应用程序的服务,然后使用Compose CLI从配置中创建并启动所有服务。Compose文件的默认路径是compose.yaml(首选)或compose.yml放置在工作目录中。Compose 还支持docker-compose.yaml和docker-compose.yml以向后兼容早期版本。如果两个文件都存在,Compose 会首选规范的compose.yaml。
2025-01-21 19:51:34
1197
原创 Docker基础安装与使用
Docker 是一个开源的容器化平台,用于开发、部署和运行应用程序。它通过将应用程序及其依赖项打包到一个轻量级的、可移植的容器中,实现了应用程序的快速部署和跨环境一致性。
2025-01-21 19:43:19
793
原创 SpringBoot WebFlux读取ServerRequest数据
在使用SpringBootWebFlux编写Web服务应用程序下,ServerRequest和ServerResponse是不可变接口,提供 JDK 8 友好的 HTTP 请求和响应访问。获取前端body里的字符串流,由于是从exchange交换器中获取原始数据流,则需要对流进行解析与转换成字符串;获取前端body中的json数据,用map接收。获取前端body中的json数据,用对象接收。获取前端请求url中的参数,方法一。获取前端请求url中的参数,方法二。获取前端请求表单中的参数。
2024-12-02 19:44:20
837
原创 遥测数据采集工具Grafana Alloy
Alloy 非常灵活,你可以轻松配置它以满足您在本地、仅限云端或两者混合的需求。Alloy 使用 120 多个组件从应用程序、数据库和 OpenTelemetry 收集器收集遥测数据,并且 Alloy还支持创建和共享自定义组件。Alloy支持使用多个生态系统进行收集,包括 OpenTelemetry 和 Prometheus。遥测数据可以推送至Alloy,或者Alloy可以从您的数据源中提取数据。
2024-11-12 20:41:22
2135
原创 Pulsar消息服务之Java工具类
基于Pulsar客户端jar实现Java创建生产者与消费者操作工具类,支持发送mq消息、监听消费mq消息,简单易用引入到项目代码中使用;Pulsar是一种多租户、高性能的服务器到服务器消息传递解决方案。Pulsar最初由雅虎开发,目前由Apache软件基金会管理。基于Pulsar客户端jar包,用Java开发MQ消息发送与接收工具类;此Java工具类有经过实战与测试,但难免有不足之处,欢迎交流与指正;
2024-10-09 19:43:01
421
1
原创 Linux下安装PostgreSQL.16.3
PostgreSQL 是一个功能强大的开源对象关系数据库系统,它使用并扩展了 SQL 语言,并结合了许多功能,可以安全地存储和扩展最复杂的数据工作负载这些特点使得 PostgreSQL 成为企业级应用、数据仓库、数据分析和在线事务处理等多种场景的理想选择。
2024-07-16 20:54:39
1618
原创 Flink 问题之 No Watermark (Watermarks are only available if EventTime is used)
由于下游算子 watermark 的计算方式是取所有不同的上游并行数据源 watermark 的最小值,则其 watermark 将不会发生变化。简单来说,在Flink中kafka连接器会识别每个分片,并为每个分片创建对应Watermark水印,当上游Kafka某个分片在一段时间未发送事件数据,则对应的窗口时间内不会生成Watermark水印,则下游算子(Sink)接收上游的Watermark数据时,是按上游最小Watermark值来计算,则下游算子(Sink)不会发生变化,也就无法触发窗口算子事件;
2024-06-06 09:52:49
1559
原创 Jmeter+Grafana+Prometheus搭建压测监控平台
系统压测属于日常项目开发中的一个测试环节,使用测试工具模拟真实用户行为,在已知的软硬件资源下,通过批量压测对项目的服务性能进行检验,从而了解系统接口稳定性、每秒并发瓶颈、错误率多少、响应时间、QPS、流量大小等等;也是为了项目上线后,通过对未来可能达到的系统上限与并发问题,提前进行预测与检验;防止真实上线后未经压力测试,无足够的性能压测评估,当大量请求到来时,可能引起未知的系统崩溃;通过压测,可以撑握系统峰值能力与并发能力,并提前通过风险策略与技术干预,降低系统宕机风险;
2024-05-14 20:52:36
2630
1
原创 Spring Boot3.x集成Disruptor4.0
Disruptor是一个内存高性能队列,研发的初衷是解决内存队列的延迟问题(在性能测试中发现竟然与I/O操作处于同样的数量级)。基于Disruptor开发的系统单线程能支撑每秒600万订单,2010年在QCon演讲后,获得了业界关注。2011年,企业应用软件专家Martin Fowler专门撰写长文介绍。同年它还获得了Oracle官方的Duke大奖。Disruptor 是一个 Java 的并发编程框架,大大的简化了并发程序开发的难度,在性能上也比 Java 本身提供的一些并发包要好。
2024-05-07 19:57:41
1963
原创 微软开源Garnet高性能缓存服务安装
Garnet 是 Microsoft Research 推出的一种新型远程缓存存储,其设计速度极快、可扩展且延迟低。Garnet 在单个节点内是线程可扩展的。它还支持分片集群执行、复制、检查点、故障转移和事务。它可以在主内存以及分层存储(例如 SSD 和 Azure 存储)上运行。Garnet支持丰富的API接口和强大的可扩展性模型。Garnet 使用 Redis 的 RESP 作为其主要线路协议。因此,人们可以将 Garnet 与 大多数编程语言中可用的。
2024-03-21 20:44:25
4772
原创 QuestDB时序数据库快速入门
QuestDB是一个开源的高性能时序数据库,专门用于处理时间序列相关的数据存储与查询;QuestDB使用列式存储模型。数据存储在表中,每列存储在其自己的文件和其自己的本机格式中。新数据被附加到每列的底部,以便能够按照与摄取数据相同的顺序有机地检索数据。QuestDB能够支持快速增长的时间序列高基数数据,提供强大的极速查询性能,安装维护简单并兼容SQL语法,从而上手使用学习难度低,并且支持RestaApi数据摄取与查询接口,对系统应用服务开发提供良好支持,非常方便系统服务的集成开发与应用;
2024-01-18 20:45:04
6729
原创 SpringCloud+Consul快速开发示例
本章通过最新的springcloud版本与官方最新consul开源版服务,进行演示,如何快速搭建开发环境和注册与发现服务中心;本文假设已知具备SpringCloud的基础开发能力,以及提前了解consul服务的使用,因此本文不会详细描述各API使用细节与服务作用;
2023-12-12 20:29:32
1248
原创 Grafana,Loki,Tempo,Prometheus,Agent搭建日志链路监控平台
可观测性是指通过从各种IT服务或组件中收集并积累监控数据、系统日志、运行指标等数据,来了解当前系统或应用程序整个架构服务的当前状态,通过可指标化或图形化监视、查看整个系统服务的任意节点、任意时间期间的运行结果,从而对系统服务的运行健康状况有全面的了解与把控;通过跟踪ID或在分布式系统(尤其是容器化应用程序或微服务架构)的所有节点中,追踪请求到响应的整个过程,并通过技术手段收集整个过程中的日志、指标、Trace等数据,形成一个完整的数据链路,从而为可观测性分析与展示提供基础数据。
2023-09-20 20:53:28
7798
1
原创 Loki 日志块使用 MinIO 对象存储
loki 要使用 minio 存储日志块数据,必需先在 minio 创建网络对象存储桶 bucket,此 bucketName 必需与 yaml 配置文件中的 bucketName 一致,yaml 中配置的为 s3: http://miniotest:miniotest@192.168.16.128:9000/loki,loki 即为 minio 存储桶名称;然后,日志数据本身会被压缩并以块的形式存储在对象存储(例如 S3 或 GCS)中,甚至本地存储在文件系统中。(loki 配置 s3)
2023-07-06 10:08:05
3685
8
原创 SpringBoot+Prometheus采集Metrics指标数据
由于metrics维度指标众多,通过prometheus服务采集后,通过数据指标转化成可观察性图形,为应用程序运维提供了合适的监控技术与管理平台,同时也可以将prometheus采集的指标输出到第三方各类平台上进行展示,比如运维中常见的Grafana,提供了许多丰富的图标插件,高大上的的漂亮UI,以及Grafana官网第三方上传的展示模板,可以非常便捷的套用开放模板后立即呈现出可视化监控图形界面;点击菜单栏的“Graph”项,在搜索框中输入jvm,则会自动联想多个带有jvm内容的可观察性指标;
2023-06-27 20:28:59
9275
原创 windows 下安装 mysql-8.0.25 解压版
bZjw:xxxx 为 root 用户的初始化密码,需要提前记录,否则忘记后无法进入 mysql 数据库,则需要重新初始化安装生成新的 root 密码;将下载的 mysql-8.0.25-winx64.zip 安装包,解压到任意盘符目录下,本示例解压到 C:\Program Files\mysql-8.0.25-winx64。此文介绍 mysql-8.0.25-winx64 的 zip 解压版,在 windows 下的安装与配置过程。创建 my.ini 配置文件,用于配置 mysql 服务核心配置项;
2023-06-25 11:54:07
959
原创 MySQL 8.0.16 Community Server 密码错误重置处理
因为之前,MySQL 的密码认证插件是 “mysql_native_password”,而现在使用的是 “caching_sha2_password”。修改密码后,navicat 无法连接到 mysql, 账号密码都正确,连接报错 1251,就连项目程序中也无法连接到 mysql 数据库。# 默认情况下,mysql 安装后,如果密码为空,会自动创建随机密码。提示需要密码验证,访问拒绝,密码错误,正确密码未知,需重置密码。# 登录,用该密码登录到服务端后,必须马上修改密码。# 登录 mysql,输入密码后。
2023-06-25 11:44:47
299
原创 Grafana+Loki+Promtail 搭建日志收集系统
Loki 是日志记录存储与检索引擎。Promtail 做为日志采集器,从 flog 中抓取日志行,并通过网关将它们推送给 Loki。Grafana 提供 Loki 中捕获的日志行的可视化与搜索平台。
2023-06-16 10:26:05
11561
1
原创 MinIO 集群挂载新磁盘
minio 集群部署被强制性安装在独占的磁盘分区,不能在 root 根盘符下建立目录,如在 /opt/data1 等等建目录文件夹代替,会抛上述错误提示。如果 MinIO 分布式设置在下面使用 NFS 卷,则不能保证 MinIO 将提供这些一致性保证,因为 NFS 不是严格一致的(如果您必须使用 NFS,我们建议您至少使用 NFSv4 而不是 NFSv3 以获得相对更好的结果)。注意,此时只是临时挂载,每次重启 VM 主机后,盘符又需要重新挂载,因此设置开机自动挂载。挂载成功,可通地 df -h 查看。
2023-05-18 14:11:58
5908
5
原创 MinIO 安装笔记
MinIO 与传统的存储和其他的对象存储不同的是:它一开始就针对性能要求更高的私有云标准进行软件架构设计。所以他采用了更易用的方式进行设计,它能实现对象存储所需要的全部功能,在性能上也更加强劲,它不会为了更多的业务功能而妥协,失去 MinIO 的易用性、高效性。)以获得最佳纠删码分布。于是重新删除所有节点的 /data2/minio 目录,新建 /data2/minio_db1、/data2/minio_db2、/data2/minio_db3、/data2/minio_db4,使用新的启动方法。
2023-05-18 14:09:58
4265
4
原创 京东Nutui4.X小程序集成Nutui-bingo组件
NutBingo组件是由京东平台开发的抽奖组件库,基于 NutUI 的抽奖组件库,助力营销活动和小游戏场景。
2023-05-06 10:31:21
1726
1
原创 Vector日志采集器安装与使用
Vector是一个高性能的日志采集器,用于构建可观察性(数据)管道的轻量级超快速工具,Vector简单易用并且只自定义组合数据格式灵活的创建数据管道,可收集、转换所有日志、指标、跟踪路由等各种数据,Vector采用Rust编写的,提供了内存安全和效率保证。
2023-03-30 20:36:25
6107
原创 OpenObserve日志搜索服务安装与使用
OpenObserve是一个轻量级日志搜索与数据可观察性的软件方案;OpenObserve 是一个云原生可观察性平台,专为日志、指标、跟踪和分析而构建,旨在以 PB 级规模工作。
2023-03-30 20:16:31
1137
2
原创 Flink 系例之 SQL 案例 - 游戏上报数据统计
本示例通过模拟上报数据展现玩家在游戏内的登录、退出、创角、升级等事件,从而了解游戏运营动态;玩家进入游戏后,通常游戏内会进行定时事件上报,后台通过上报数据分析不同的游戏热度。通过玩家在游戏内的行为事件,分析游戏内玩家的存活度或游戏粘性;
2023-03-22 11:06:59
1103
原创 Flink 系例之 SQL 案例 - 订单统计
示例,对电商实时订单进行聚合计算,分以下两个维度进行:1. 统计每 1 分钟的订单数量、用户数量、销售额、商品数;2. 统计每个分类的订单总数量、用户总数量(未去重)、销售额、商品数
2023-03-22 10:55:02
2969
1
原创 SpringBoot WebFlux 读取 RequestBody 数据
项目采用 SpringBoot WebFlux 进行开发的,在对前端请求的内容进行处理时,发现无法得到 RequestBody 中的内容,要么为空,要么出读重复读取异常;因之前用 SpringBoot 开发,通过常规方式,即可从 HttpServletRequest 中获得字符流对象,进行解析转换成字符串就可以正常使用;但 WebFlux 是即于 Netty 做为核心网络框架服务,其采用的通讯数据处理模式,与传统的 SrpingWeb 方案是有很大的差别
2023-02-21 10:27:18
7740
2
原创 Flink 系例 之 电商项目 - 购物订单大屏监控实战 (示例)
本章以模拟一个电商平台的日常订单数据统计系统为设计基础,将电商平台的实时订单通过 Flink 实时流计算能力,按聚合维度实时计算,输出订单流计算结果,再通过监控大屏展示,实时快速撑握电商平台订单数据趋势、分类占比、销量排行等,从而全局了解电商平台业务运行状态,为电商平台高层决策、运营、分析、成长等提供最基础、最实时的数据依据。
2023-02-21 09:59:09
3202
2
SpringBoot基础学习与入门
2017-12-12
常用MD5加密算法和3-DES加密算法java实现
2011-10-22
ORACLE应用常见傻瓜问题1000问
2011-10-22
Prototype-1.6.0-zh
2011-08-31
Flink1.17创建JdbcCatalog执行sql脚本异常
2023-07-21
TA创建的收藏夹 TA关注的收藏夹
TA关注的人