Docker容器效能監控工具google/cadvisor
阿新 • • 發佈:2018-11-09
原文地址:https://hub.docker.com/r/google/cadvisor/
cAdvisor(Container Advisor)為容器使用者提供了對其執行容器的資源使用和效能特徵的理解。 它是一個執行守護程式,用於收集,聚合,處理和匯出有關正在執行的容器的資訊。 具體而言,對於每個容器,它保留資源隔離引數,歷史資源使用和完整歷史資源使用的直方圖。 此資料按容器和機器範圍匯出。
https://github.com/google/cadvisor
官方cAdvisor版本基於Linux構建,並通過臨時影象匯出,這保證了映象大小更小。
Dockefile: https://github.com/google/cadvisor/blob/master/deploy/Dockerfile
FROM alpine:3.7 MAINTAINER [email protected] [email protected] [email protected] [email protected] [email protected] ENV GLIBC_VERSION "2.28-r0" RUN apk --no-cache add ca-certificates wget device-mapper findutils && \ apk --no-cache add zfs --repository http://dl-3.alpinelinux.org/alpine/edge/main/ && \ apk --no-cache add thin-provisioning-tools --repository http://dl-3.alpinelinux.org/alpine/edge/main/ && \ wget -q -O /etc/apk/keys/sgerrand.rsa.pub https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub && \ wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/${GLIBC_VERSION}/glibc-${GLIBC_VERSION}.apk && \ wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/${GLIBC_VERSION}/glibc-bin-${GLIBC_VERSION}.apk && \ apk add glibc-${GLIBC_VERSION}.apk glibc-bin-${GLIBC_VERSION}.apk && \ /usr/glibc-compat/sbin/ldconfig /lib /usr/glibc-compat/lib && \ echo 'hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4' >> /etc/nsswitch.conf && \ rm -rf /var/cache/apk/* # Grab cadvisor from the staging directory. ADD cadvisor /usr/bin/cadvisor EXPOSE 8080 ENTRYPOINT ["/usr/bin/cadvisor", "-logtostderr"]
注:在linux系統下才能很好的執行不支援windows.
每個cAdvisor版本都有標記。 我們還有2個用於測試和穩定音軌的標籤:
- latest:最新穩定版本,這是最新官方支援的版本。
- canary:定期從HEAD構建的影象。 潛在的不穩定!
我們還有一個自動構建的cAdvisor版本的cAdvisor,它是從HEAD不斷構建的。 這可以在google / cadvisor-canary映象中找到。 由於其大小和易變性,不建議用於生產。
補充快速操作:
# 獲取映象
docker pull google/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=8080:8080 --detach=true --privileged=true --name=cadvisor --restart=always google/cadvisor:latest
# 執行容器簡寫方式
docker run -v /:/rootfs:ro -v /var/run:/var/run:rw -v /sys:/sys:ro -v /var/lib/docker/:/var/lib/docker:ro -p 8080:8080 --detach=true --privileged=true --name=cadvisor --restart=always google/cadvisor:latest
# 檢視容器日誌
docker logs -f cadvisor
# 訪問說明
#curl http://host:8080