腾讯mini项目-【指标监控服务重构】2023-07-30

今日已办

调研 CPU & Memory

Cadivisor

Cadivisor -> Prometheus -> (Grafana / SigNoz Web)

google/cadvisor: Analyzes resource usage and performance characteristics of running containers. (github.com)

yaml 复制代码
services:
  cadvisor:
    image: gcr.io/cadvisor/cadvisor:latest
    container_name: cadvisor
    ports:
      - 8888:8080
    volumes:
      - /:/rootfs:ro
      - /var/run:/var/run:rw
      - /sys:/sys:ro
      - /var/lib/docker/:/var/lib/docker:ro

Host Metrics Receiver

OpenTelemetry Host Metrics Receiver是一个OpenTelemetry收集器,用于收集主机级别的度量数据,例如CPU使用率、磁盘使用率和内存使用率等。该收集器可以通过多种方式获取主机度量数据,例如使用系统监视器(如Prometheus)或通过在主机上安装代理程序(如cAdvisor)。

OpenTelemetry Host Metrics Receiver支持多种操作系统和平台,包括Linux、Windows和MacOS等。它可以与OpenTelemetry Collector一起使用,以便将主机度量数据发送到多个目标(如Prometheus、Grafana和SigNoz等)进行处理和分析。

Host Metrics Receiver插件是用于收集主机级别的度量数据,例如CPU使用率、内存使用率等,而不是容器级别的度量数据。因此,它不支持直接指定要收集特定容器的指标。

如果想要收集特定容器的度量数据,可以考虑使用另一个OpenTelemetry收集器插件,例如Docker Stats Receiver。Docker Stats Receiver插件可以收集Docker容器的度量数据,例如CPU使用率、内存使用率、网络流量等。

Docker Stats Receiver

dockerstatsreceiver package - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/dockerstatsreceiver - Go Packages

Docker Stats 接收器按照配置的时间间隔查询本地 Docker 守护进程的容器统计 API,以获取所有所需的正在运行的容器。这些统计信息适用于 cpu、内存、网络和 blkio 控制器的容器资源使用情况。

目前 Docker Stats Receiver 插件不能在 Windows 操作系统上运行。这是因为 Docker Stats API 在 Windows 上不可用。

Docker Stats API 仅在 Docker守护程序运行的主机上提供。在 Linux 环境中,Docker Stats API 使用/var/run/docker.sock Unix套接字与守护程序通信。

但是,在 Windows 上,Docker 守护程序不使用 Unix 套接字,而是使用 TCP 套接字 进行通信,并使用不同的 API 端点

本想尝试在服务器上部署,测试是否生效,但是由于环境与版本不同,docker compose 无法正常运行

修改了部分配置的结构可以正常运行,但是更新了 docker 的镜像源依然拉取失败

组会记录

项目对齐和汇总问题

  • 总体完成了导师 comment 的代码改进【移除 Prometheus 的相关配置还未完成】
  • 讨论 CPU & Memory 的收集
    • 关于 Host Metrics Receiver 的补充

明日待办

  • 组长会议汇报进度和问题
  • 继续调研收集 CPU & Memroy
相关推荐
IvorySQL5 小时前
PG 日报|社区讨论重构 pg_hba 配置文件格式
数据库·人工智能·postgresql·重构·ivorysql
妙码生花7 小时前
从 PHP 到 AI + Golang,程序员自救转型手记(三十四):后台初始化请求实现
前端·javascript·go
妙码生花7 小时前
从 PHP 到 AI + Golang,程序员自救转型手记(三十三):权限规则管理器
后端·go·gin
我才是银古10 小时前
从零构建 Windows 桌面 RPA 框架:Go 与 .NET 的跨语言协奏
c#·go·rpa
AI大模型-小雄11 小时前
升级 ChatGPT Pro 后,如何用 Codex 做项目重构?一套更稳的实战流程
gpt·chatgpt·重构·ai编程·开发工具·codex·chatgpt pro
ArixBit14 小时前
用Go手撸 Agent 框架#8:手写一个最小 Agent,先让 loop 跑起来
go·agent
zandy101115 小时前
嵌入式BI PaaS:重构企业应用的数据智能生态
microsoft·重构·paas
ClickHouseDB17 小时前
推出 ClickHouse Cloud 中的多阶段分布式查询执行
分布式·clickhouse
golang学习记1 天前
Go Gin框架是怎么设计出来的?
go
名字还没想好☜2 天前
Go 内存逃逸分析:什么时候变量跑到堆上
开发语言·算法·性能优化·golang·go·内存逃逸