linuxea:prometheus通过cAdvisor监控容器状态


cAdvisor(Container Advisor)为容器用户提供了对其运行容器的资源使用和性能特征的理解。它是一个运行守护程序,用于收集,聚合,处理和导出有关正在运行的容器的信息。具体来说,对于每个容器,它保留资源隔离参数,历史资源使用,完整历史资源使用的直方图和网络统计。此数据按容器和机器范围导出。

cAdvisor原生支持Docker容器,并且应该支持开箱即用的任何其他容器类型,并且力求更多的支持,如果有使用问题可以在官网提出。cAdvisor的容器抽象基于lmctfy,因此容器本质上是分层嵌套的。

在使用cadvisor开始之前,你可能需要安装prometheusgrafana并且配置好,以便于使用,在后面将会使用很多,这很重要,安装和配置这些以便于更好的分析正在运行的容器的资源使用情况和性能特征。

I. cadvisor配置

[root@linuxea-vm-Node3 ~]# docker pull google/cadvisor:v0.30.0

start
指定IP和端口--listen_ip="0.0.0.0" --port=8888

docker run \
  --net=host \
  --privileged=true \
  --volume=/cgroup:/cgroup:ro \
  --volume=/:/rootfs:ro \
  --volume=/var/run:/var/run:rw \
  --volume=/sys:/sys:ro \
  --volume=/var/lib/docker/:/var/lib/docker:ro \
  --volume=/dev/disk/:/dev/disk:ro \
  --publish=8081:8081 \
  --detach=true \
  --name=cadvisor \
  google/cadvisor:v0.30.0  --listen_ip="0.0.0.0" --port=8888

通过浏览器在本地打开,大概是这样的
当然,你可能需要一条防火墙规则

 iptables -I INPUT 5 -p tcp --dport 8888 -j ACCEPT


而后在prometheus端添加到配置文件中(在最下方添加这样)
其中job_name定义为gfc,labels的组gfc_node

  - job_name: 'gfc'
    static_configs:
    - targets: 
      - '10.10.197.3:8888'
      labels:
        group: 'gfc_node'

打开prometheus端的界面IP:PORT,在status的下拉菜单中点击Targets查看状态,大概如下,可以看到10.10.197.3已经是up状态

II. 监控指标

当然,系统的核心是prometheus服务器prometheus基于“拉”机制,可以从配置的目标中删除指标。但是,对于短期工作,它提供了一个用于抓取指标的中间推送网关。它还提供PromDash,一个用于收集数据的可视化仪表板,一个带有查询语言Expression浏览器,用于简化数据过滤,以及一个AlertManager,用于根据基于警报规则引擎的触发警报发送通知。

在前面的prometheus中我们提到,prometheus可以和已有的任何指标进行组合,非常灵活,我简单的组合几个参数进行监控查看

关于container_memory_usage_bytes信息,{}中的数据和配置信息中的group组对应,name为容器名称
度量的条件就是组和名称,得到下图

container_memory_usage_bytes{group="gfc_node",name="nginx_server"}

但是我还想知道他5分钟内的信息,这样就需要时间窗口的rate()功能
rate(container_memory_usage_bytes{group="gfc_node",name="nginx_server"}[5m])

但是这样还是不好,他的信息太长 ,我只要保留名称和ip。那就需要聚合的功能,如:sum() 函数,加上rate()时间窗口,sum()函数将rate()包含在里面,而后使用by保留值
sum(rate(container_memory_usage_bytes{group="gfc_node",name="nginx_server"}[5m])) by (name,instance)

III. grafana

这里有grafana的展示,在之前grafana安装过了,grafana与prometheus的 配置非常简单,我们直接导入模板即可,模板下载

更多可以参考参考github的cadvisonrcAdvisor运行时选项,指标信息prometheus参考

0 分享

您可以选择一种方式赞助本站

支付宝扫码赞助

支付宝扫码赞助

日期: 2018-08-14分类: Prometheus

标签: prometheus

发表评论