cadvisor 离线安装

本文详细介绍了如何通过Shell命令在指定服务器上部署并运行CAdvisor监控工具,包括镜像加载、命名、运行参数设置及常见问题解决,适用于k8s集群节点资源监控。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

操作步骤:

  1. Shell登录10.150.60.51
  2. ssh 172.23.60.54
  3. mount -o remount,rw '/sys/fs/cgroup'
  4. ln -s /sys/fs/cgroup/cpu,cpuacct /sys/fs/cgroup/cpuacct,cpu
  5.  
  6. cd k8s_images/cadvisor/
  7. docker load -i cadvisor.0.30.2.tar
  8. docker images
  9. 给镜像命名

    docker tag d32c4e2daa0c cadvisor:0.30.2

  1. 启动cadvisor,标红部分谨慎使用

docker run --volume=/:/rootfs:ro --volume=/var/run:/var/run:rw

--volume=/sys:/sys:ro --volume=/var/lib/docker/:/var/lib/docker:ro --publish=4194:8080 --detach=true --name=cadvisor --restart=always cadvisor:0.30.2

  1. docker ps -a
  2. docker logs -f
  3. 如果遇到如下问题

Failed to start container manager: inotify_add_watch

/sys/fs/cgroup/cpuacct,cpu: no such file or directory

 

可以执行以下命令:

11 重启cadvisor :docker start cadvisor

 

 

### 安装和配置 cAdvisor 用于容器监控 cAdvisor 是一个开源的容器监控工具,专为 Docker 容器设计,能够实时采集容器的资源使用情况和性能指标,如 CPU 使用率、内存占用、网络吞吐量等。以下是安装和配置 cAdvisor 的详细步骤: #### 安装 cAdvisor 1. **使用 Docker 运行 cAdvisor** cAdvisor 可以通过 Docker 快速部署。执行以下命令启动 cAdvisor 容器: ```bash docker 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 \ --net=host \ google/cadvisor ``` 这条命令将 cAdvisor 容器绑定到主机的 `/`, `/var/run`, `/sys`, 和 `/var/lib/docker` 目录,并将容器的 8080 端口映射到主机上,以便访问监控数据。 2. **验证 cAdvisor 是否运行成功** 使用以下命令检查容器状态: ```bash docker ps -a ``` 确认 `cadvisor` 容器处于 `Up` 状态,表示运行成功。 3. **访问 cAdvisor 的 Web 界面** 打开浏览器,访问 `http://<host-ip>:8080`,即可看到 cAdvisor 的监控界面,显示所有运行中的容器及其性能指标。 #### 配置 Prometheus 采集 cAdvisor 数据 1. **配置 Prometheus 抓取目标** Prometheus 通过 HTTP 请求从 cAdvisor 获取监控数据。编辑 Prometheus 的配置文件 `prometheus.yml`,添加以下内容: ```yaml scrape_configs: - job_name: 'cadvisor' static_configs: - targets: ['<host-ip>:8080'] ``` 其中 `<host-ip>` 是运行 cAdvisor 的主机 IP 地址。 2. **重启 Prometheus 服务** 保存配置文件后,重启 Prometheus 服务以应用新的抓取配置。 3. **验证数据采集** 打开 Prometheus 的 Web 界面(默认地址为 `http://localhost:9090`),在查询框中输入 `container_cpu_usage_seconds_total` 或其他 cAdvisor 指标,查看是否能够获取到数据。 #### 配置告警规则(可选) 1. **创建告警规则文件** 在 Prometheus 的配置目录中创建一个告警规则文件,例如 `rules.yml`,并添加以下内容: ```yaml groups: - name: container-alert rules: - alert: HighContainerCpuUsage expr: container_cpu_usage_seconds_total{container!="", container!="POD"}[1m] > 0.9 for: 2m labels: severity: warning annotations: summary: "High CPU usage on container {{ $labels.container }}" description: "CPU usage is above 90% (current value: {{ $value }}%)" ``` 2. **在 Prometheus 配置中引用规则文件** 编辑 `prometheus.yml`,在 `rule_files` 部分添加规则文件路径: ```yaml rule_files: - "rules.yml" ``` 3. **重启 Prometheus 并测试告警** 重启 Prometheus 服务后,当容器 CPU 使用率超过 90% 时,Prometheus 将触发告警。 #### 数据存储与可视化(可选) 1. **集成 InfluxDB 与 Grafana** cAdvisor 支持将数据写入 InfluxDB,结合 Grafana 实现可视化监控。修改 cAdvisor 启动命令,添加 InfluxDB 的地址和数据库名称: ```bash docker 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 \ --net=host \ google/cadvisor \ -storage_driver=influxdb \ -storage_driver_db=cadvisor \ -storage_driver_host=influxdb-host:8086 ``` 2. **配置 Grafana 展示数据** 在 Grafana 中添加 InfluxDB 数据源,并创建仪表板,选择相应的数据库和测量值(如 `container_cpu_usage_seconds_total`),即可展示容器的性能指标图表。 #### 总结 通过上述步骤,可以成功安装并配置 cAdvisor 用于容器监控,同时结合 Prometheus 实现数据采集与告警,以及 InfluxDB 和 Grafana 实现数据存储与可视化。这一组合为容器环境提供了全面的监控能力,适用于生产环境中的容器管理需求[^4]。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值