内容简介:如果你的节点运行着 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(容器)监控指南》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。