
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Axibase时序数据库(ATSD)提供原生存储驱动,可从https://github.com/google/cadvisor%E6%94%B6%E9%9B%86Docker%E5%AE%B9%E5%99%A8%E6%8C%87%E6%A0%87%EF%BC%8C%E7%94%A8%E4%BA%8E%E9%95%BF%E6%9C%9F%E4%BF%9D%E7%95%99%E3%80%81%E5%91%8A%E8%AD%A6%E5%92%8C%E5%8F%AF%E8%A7%86%E5%8C%96%E3%80%82
Google cAdvisor是一款轻量级容器化应用,使用golang编写,可从Linux操作系统读取CPU、内存、网络和磁盘I/O计数器,并通过内置Web界面提供实时查看。cAdvisor可配置将计数器持久化到一个或多个存储系统中。
ATSD和cAdvisor均以Docker容器形式提供。
单主机
ATSD和Google cAdvisor容器可在同一服务器上启动,以收集底层Docker主机的指标。
多主机
要整合多个Docker主机的指标,可配置cAdvisor容器将数据发送到集中式ATSD实例。此部署模式支持集中式性能和可用性监控。
!分布式Docker架构
bashdocker run \ -d \ -p 8088:8088 \ -p 8081:8081 \ -p 8443:8443 \ -p 8082:8082/udp \ -h atsd \ --name=atsd \ axibase/atsd
在start.log中观察ATSD start completed消息确认启动完成。
bashdocker logs -f atsd
更多选项请参考ATSD Docker安装说明。
ATSD Web界面可通过端口84443访问。
在受监控的Docker主机上启动cAdvisor容器,将数据发送数据发送到目标ATSD服务器。
将以下命令中的{ATSD_HOSTNAME}占位符替换为ATSD服务器的主机名。
bashdocker run \ --volume=/:/rootfs:ro \ --volume=/var/run:/var/run:rw \ --volume=/sys:/sys:ro \ --volume=/var/lib/docker/:/var/lib/docker:ro \ --publish=8080:8080 \ --detach=true \ --name=cadvisor \ axibase/cadvisor:latest \ --storage_driver=atsd \ --storage_driver_atsd_protocol=tcp \ --storage_driver_host={ATSD_HOSTNAME} \ --storage_driver_buffer_duration=15s \ --housekeeping_interval=15s
axibase/cadvisor镜像是google/cadvisor镜像的修改版本,包含ATSD存储驱动。
更改协议
默认情况下,数据通过TCP协议在端口8081传输到ATSD。如有需要,可修改启动命令以通过HTTP或HTTPS协议发送数据。
链接容器
在单主机安装情况下,添加--link参数并将上述命令中的{ATSD_HOSTNAME}占位符替换为atsd,如下所示:
bashdocker run \ ... --link atsd:atsd \ --name=cadvisor \ axibase/cadvisor:latest \ ... --storage_driver_host=atsd \
https://atsd_hostname:8443。cadvisor开头的指标。cadvisor-hosts。磁盘指标仅从带有附加卷的容器中收集。
| cAdvisor磁盘详情门户 |
|---|
| 更新间隔。必须 >= housekeeping_interval |
storage_driver_atsd_sampling_interval | housekeeping_interval 值 | 系列采样间隔。必须 >= housekeeping_interval |
storage_driver_atsd_docker_host | /rootfs/etc/hostname的输出或空字符串 | Docker主机的主机名,用作ATSD中的实体前缀。 |
storage_driver_atsd_store_user_cgroups | false | 包含用户cgroups的统计信息,例如:docker-host/user.* |
storage_driver_buffer_duration | 1m | 数据发送到ATSD前的缓冲间隔 |
storage_driver_atsd_buffer_limit | 1000000 | 发送到ATSD前缓冲区中的最大命令数 |
storage_driver_atsd_sender_thread_limit | 4 | 通过tcp/udp向ATSD发送数据时的最大线程goroutine数 |
要在同一Docker主机上快速启动ATSD和cAdvisor,可使用https://raw.githubusercontent.com/axibase/atsd-use-cases/master/integrations/cadvisor/docker-compose.yml%E6%96%87%E4%BB%B6%E3%80%82
下载docker-compose.yml文件以将ATSD和cAdvisor容器作为捆绑服务启动。
bashcurl https://raw.githubusercontent.com/axibase/atsd-use-cases/master/integrations/cadvisor/docker-compose.yml \ -o docker-compose.yml
启动容器。
bashdocker-compose up -d
检查输出以确保容器已创建。
textCreating atsd ... done Creating cadvisor ... done
来自cpuacct控制器的CPU指标。CPU使用率由容器进程生成,分为user(用户时间)和system(系统时间)。用户时间是进程直接控制CPU的时间,系统时间是CPU代表这些进程执行系统调用的时间。这些时间以1/100秒的ticks表示。
txtcpu.loadaverage cpu.loadaverage% cpu.usage.percpu cpu.usage.percpu% cpu.usage.system cpu.usage.system% cpu.usage.total cpu.usage.total% cpu.usage.user cpu.usage.user% cpu.host.usage.system% cpu.host.usage.total% cpu.host.usage.user%
I/O在blkio控制器中统计。
io_service_bytes – 表示cgroup读取和写入的字节数。每个设备有4个计数器,区分同步/异步I/O和读/写操作。
io_serviced – 执行的I/O操作数(与大小无关)。每个设备也有4个计数器。
txtdiskio.ioservicebytes.async diskio.ioservicebytes.read diskio.ioservicebytes.sync diskio.ioservicebytes.total diskio.ioservicebytes.write diskio.ioserviced.async diskio.ioserviced.read diskio.ioserviced.sync diskio.ioserviced.total diskio.ioserviced.write
内存指标位于“memory” cgroup中。
pgfault和pgmajfault – 表示cgroup进程触发页面错误和主要错误的次数。页面错误发生在进程访问其虚拟内存空间中不存在或受保护的部分时。
memory.usage – 所有已使用内存量(无论访问时间)。
memory.workingset – 进程在给定时间间隔内需要的内存量,包括最近访问的内存、脏内存和内核内存。
txtmemory.containerdata.pgfault memory.containerdata.pgmajfault memory.hierarchicaldata.pgfault memory.hierarchicaldata.pgmajfault memory.usage memory.workingset cadvisor.memory.cache cadvisor.memory.rss
网络指标跟踪接收/发送的数据包数量、流量字节数、丢包数和错误数。
network.rxbytes – 接收字节的累计计数。
network.rxpackets – 接收数据包的累计计数。
network.rxerrors – 遇到的接收错误累计计数。
network.rxdropped – 接收时丢弃的数据包累计计数。
network.txbytes – 传输字节的累计计数。
network.txpackets – 传输数据包的累计计数。
network.txerrors – 遇到的传输错误累计计数。
network.txdropped – 传输时丢弃的数据包累计计数。
taskstats.nriowait – 等待I/O的任务数。
taskstats.nrrunning – 运行中的任务数。
taskstats.nrsleeping – 睡眠中的任务数。
taskstats.nrstopped – 停止状态的任务数。
taskstats.nruninterruptible – 不可中断状态的任务数。
文件系统指标跟踪附加文件系统的读写过程。
txtfilesystem.available filesystem.ioinprogress filesystem.iotime filesystem.limit filesystem.readscompleted filesystem.readsmerged filesystem.readtime filesystem.sectorsread filesystem.sectorswritten filesystem.usage filesystem.weightediotime filesystem.writescompleted filesystem.writesmerged filesystem.writetime cadvisor.filesystem.baseusage cadvisor.filesystem.inodesfree
磁盘指标和文件系统指标仅从具有附加卷的容器中收集。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务
以下是 axibase/cadvisor 相关的常用 Docker 镜像,适用于 不同场景 等不同场景: