内容简介:如果你的节点运行着 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(容器)监控指南》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Ajax Design Patterns
Michael Mahemoff / O'Reilly Media / 2006-06-29 / USD 44.99
Ajax, or Asynchronous JavaScript and XML, exploded onto the scene in the spring of 2005 and remains the hottest story among web developers. With its rich combination of technologies, Ajax provides a s......一起来看看 《Ajax Design Patterns》 这本书的介绍吧!