google/cadvisor
GitHub: google/cadvisor
Google 出品的容器资源使用与性能监控守护进程,负责采集、聚合并导出运行中容器的各项资源指标。
Stars: 19210 | Forks: 2473


cAdvisor (Container Advisor) 让容器用户能够了解其正在运行的容器的资源使用情况和性能特征。它是一个运行中的守护进程,负责收集、聚合、处理并导出正在运行的容器的相关信息。具体而言,对于每个容器,它会记录资源隔离参数、历史资源使用情况、完整历史资源使用情况的直方图以及网络统计数据。这些数据按容器和整机级别进行导出。
cAdvisor 原生支持 [Docker](https://github.com/docker/docker) 容器,并且应当能够开箱即用地支持几乎任何其他容器类型。我们致力于实现全面的支持,如果不是这样的话,请随时提出 issue。cAdvisor 的容器抽象基于 [lmctfy](https://github.com/google/lmctfy),因此容器天然地具有层次嵌套关系。
#### 快速开始:在 Docker 容器中运行 cAdvisor
为了让你能通过 Docker 在自己的机器上快速试用 cAdvisor,我们提供了一个包含一切入门所需内容的 Docker 镜像。你可以运行单个 cAdvisor 来监控整台机器。只需运行:
```
VERSION=0.55.1 # use the latest release version from https://github.com/google/cadvisor/releases
sudo docker run \
--volume=/:/rootfs:ro \
--volume=/var/run:/var/run:ro \
--volume=/sys:/sys:ro \
--volume=/var/lib/docker/:/var/lib/docker:ro \
--volume=/dev/disk/:/dev/disk:ro \
--publish=8080:8080 \
--detach=true \
--name=cadvisor \
--privileged \
--device=/dev/kmsg \
ghcr.io/google/cadvisor:$VERSION # for versions prior to v0.53.0, use gcr.io/cadvisor/cadvisor instead
```
cAdvisor 现在正在 `http://localhost:8080`(在后台)运行。此设置包含了 cAdvisor 需要观察的带有 Docker 状态的目录。
**注意**:如果你是在 CentOS、Fedora 或 RHEL 上运行(或者正在使用 LXC),请查看我们的[运行说明](docs/running.md)。
我们提供了关于在 Docker 之外独立运行 cAdvisor 的详细[说明](docs/running.md#standalone)。对于高级用例,cAdvisor 的[运行选项](docs/runtime_options.md)可能也会引起你的兴趣。如果你想构建自己的 cAdvisor Docker 镜像,请参阅我们的[部署](docs/deploy.md)页面。
对于 [Kubernetes](https://github.com/kubernetes/kubernetes) 用户,cAdvisor 可以作为 daemonset 运行。请参阅这些[说明](deploy/kubernetes)了解如何入门,以及如何对其进行 [kustomize](https://github.com/kubernetes-sigs/kustomize#kustomize) 以满足你的需求。
## 构建与测试
请参阅[构建页面](docs/development/build.md)中更详细的说明。其中包含了构建和部署 cAdvisor Docker 镜像的说明。
## 导出统计数据
cAdvisor 支持将统计数据导出到各种存储插件。请参阅[文档](docs/storage/README.md)获取更多详细信息和示例。
## Web UI
cAdvisor 通过其端口提供一个 Web UI:
`http://:/`
请参阅[文档](docs/web.md)了解更多详情。
## 远程 REST API 与客户端
cAdvisor 通过带有版本控制的远程 REST API 暴露其原始和处理后的统计数据。请参阅该 API 的[文档](docs/api.md)获取更多信息。
在 [client](client/) 目录中还有一个官方的 Go 客户端实现。请参阅[文档](docs/clients.md)获取更多信息。
## 路线图
cAdvisor 旨在改善正在运行的容器的资源使用情况和性能特征。如今,我们负责收集这些信息并将其展示给用户。在我们的路线图中:
- 提供关于容器性能的建议(例如:何时受到另一个容器的负面影响,何时没有获得所需的资源等)。
- 根据先前的建议自动调整容器的性能。
- 为集群调度器和编排层提供使用量预测。
### 核心团队
* [@bobbypage, Google](https://github.com/bobbypage)
* [@iwankgb, 独立](https://github.com/iwankgb)
* [@creatone, 独立](https://github.com/creatone)
* [@dims, VMWare](https://github.com/dims)
* [@mrunalp, RedHat](https://github.com/mrunalp)
### 常见合作者
* [@haircommander, RedHat](https://github.com/haircommander)
### 荣誉成员
* [@dashpole, Google](https://github.com/dashpole)
* [@dchen1107, Google](https://github.com/dchen1107)
* [@derekwaynecarr, RedHat](https://github.com/derekwaynecarr)
标签:cAdvisor, Docker, EVTX分析, 子域名突变, 安全防御评估, 容器, 性能分析, 日志审计, 监控, 网络测绘, 请求拦截, 运维