应用内存升高原因排查

起因 最近一个部署了 go 应用的服务器出现了 OOM 的现象,内存占用过高。 原因 通过 Pyroscope 分析得出是因为 Minio 的 go sdk 中的 PutObject 函数占用了大量的内存。 Pyroscope 是什么,前面的文章已经介绍过了,这里就不过多介绍了。 接下来我们通过查看相关的源码来查看是什么原因。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 // PutObject creates an object in a bucket. // // You must have WRITE permissions on a bucket to create an object....

May 14, 2022 · 3 min · overstarry

使用Prometheus收集MinIO指标

今天我来讲一讲如何使用 Prometheus 获取 MinIO 指标。 前提 需要部署好 Prometheus 、Minio 服务和配置好 Minio Client , MinIO 和 Prometheus 的网络需要可互相访问。 步骤 1. 生成 JWT 令牌 使用以下命令生成 JWT bearer token 1 2 mc admin Prometheus generate ALIAS 请将 ALIAS 替换成你的 MinIO 主机服务名。 该命令会产生如下的信息输出: 1 2 3 4 5 6 7 scrape_configs: - job_name: minio-job bearer_token: token metrics_path: /minio/v2/metrics/cluster scheme: http static_configs: - targets: [minIOip] 配置 Prometheus Targets 将上一个步骤输出的信息添加至 Targets 配置文件(Prometheus....

September 28, 2021 · 1 min · overstarry