cAdvisor(容器)监控指南

栏目: 服务器 · 发布时间: 5年前

内容简介:如果你的节点运行着 kubelet,恭喜你,可以非常方便的集成cAdvisor(容器)监控。默认情况下,可以通过

如果你的节点运行着 kubelet,恭喜你,可以非常方便的集成cAdvisor(容器)监控。

cAdvisor 是 google 开源的分析容器资源使用和性能特性的工具。从 2015-03-10 这个提交( Run cAdvisor inside the Kubelet. Victor Marmol 2015/3/10 13:39 )可以看到,cAdvisor很早就集成在了kubelet中 。

默认情况下,可以通过 http://<host_ip>:4194 访问 cAdvisor 的管理界面。

本文将在《etcd 监控指南》的基础上,介绍如何搭建 cAdvisor(容器)监控,同样分三步。

一、确定接口

首先试试 cAdvisor 的 metrics 接口是否暴露,在 cAdvisor 所在的节点上,执行如下命令:

curl http://127.0.0.1:4194/metrics

有一大段指标输出,说明暴露成功。

不过我们通常是在另一台执行机上收集各个节点的性能指标,所以还要试试看该端口是否绑定在了 节点IP 上:

curl http://{节点IP}:4194/metrics

一般来说,输出如下:

curl: (7) Failed connect to 100.120.121.114:4194; 拒绝连接

因为 4194 只绑定在了本地IP(127.0.0.1)。不过我们也有方法,通过 HAProxy 做个代理转发(感谢阿灿告诉的方法)。

通常在 PaaS 的Core1和Core2节点本身就会安装 HAProxy (没有的话可自行安装),找到 HAProxy 的配置文件,在 PaaS 节点上操作如下:

cd /var/paas/srv/haproxy  
# 先备份,好习惯
mv haproxy.cfg haproxy.cfg.bak

vim haproxy.cfg  
# 在 haproxy.cfg 最后添加如下内容:
listen cadvisor  
    bind :7900
    mode tcp
    maxconn 64000
    balance roundrobin
    server cad_127.0.0.1_4194 127.0.0.1:4194 check inter 2000 rise 3 fall 3

以上配置的作用,就是将 cAdvisor 在 127.0.0.1:4194 的请求转发到 7900 这个端口上,如果冒号前为空,就是绑定了所有IP,安全起见,最好只绑定你需要的节点IP,即:

listen cadvisor  
    bind {节点IP}:7900

接着需要重启 HAProxy,来重新加载配置,我的方法是重启 HAProxy 所在的容器即可:

docker ps | grep haproxy

docker restart {haproxy-container-id}

之后在执行机上,再通过 7900 这个端口调用一遍接口看看:

curl http://{节点IP}:7900/metrics

有指标输出,说明调用成功,开工大吉!

二、配置Prometheus

在《etcd 监控指南》的基础上,已经告诉如何安装 Prometheus,这里只需配置 Prometheus 即可。

修改配置如下:

cat > /data/prometheus/prometheus-config.yaml <<EOF  
global:  
  scrape_interval: 10s
scrape_configs:  
  - job_name: test-etcd-server
    scheme: https
    tls_config:
      insecure_skip_verify: true
    static_configs:
    - targets: ['etcd-0-ip:etcd-0-port','etcd-1-ip:etcd-1-port','etcd-2-ip:etcd-2-port']
  - job_name: cadvisor
    static_configs:
    - targets: ['10.250.104.183:7900','10.250.105.180:7900']
EOF

核心在最后3行,就是添加了 cadvisor 这个job,接下来重启 Prometheus:

ps -fe | grep prometheus  
# 找到 Prometheus的进程id,kill之
kill -9 {pid}  
# 再启动
nohup /data/prometheus/2.2.1/prometheus \  
    --config.file /data/prometheus/prometheus-config.yaml \
    --web.listen-address "0.0.0.0:9090" \
    --storage.tsdb.path "/data/prometheus/prometheus.data" >> /data/prometheus/prometheus.log  2>&1 &

查看日志,确保没有报错。接着在浏览器中访问targets:

http://${执行机IP}:9090/targets

如果新加的 cadvisor 都是UP状态,表示配置成功,胜利在望!

三、配置Grafana

同样在《etcd 监控指南》中,介绍了如何安装 Grafana,如何添加数据源,这里再配置 Grafana 就非常简单。

可直接从 官网 查找对应模板,在import界面导入即可。

如果配置没问题,将看到监控图表界面。

恭喜你,cAdvisor(容器)监控搭建成功!


以上所述就是小编给大家介绍的《cAdvisor(容器)监控指南》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

互联网思想十讲

互联网思想十讲

段永朝 / 商务印书馆 / 2014-10 / 68.00

本书是作者为北京大学新闻与传播学院硕士生开设的《互联网前沿思想》课程的讲义。作者力图从技术、经济和社会的角度,在大尺度上观察互联网究竟根植于什么样的文化土壤。作者选择了复杂性、社会网络分析、公共空间这三个维度展开分析,为读者呈现出了脱胎于工业时代的互联网继承了哪些思想,并对哪些思想做出了彻底的颠覆。一起来看看 《互联网思想十讲》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具