
Prometheus监控Docker Swarm集群(一)
cAdvisor简介
为了解决容器的监控问题,Google开发了一款容器监控工具cAdvisor(Container Advisor),它为容器用户提供了对其运行容器的资源使用和性能特征的直观展示。它是一个运行守护程序,用于收集,聚合,处理和导出有关正在运行的容器的信息。
cAdvisor可以对节点机器上的资源及容器进行实时监控和性能数据采集,包括CPU、内存、网络及文件系统使用情况。
cAdvisor使用go语言开发,如果想了解更多请访问其官方github
安装cAdvisor
cAdvisor 有两种方法来运行,一种是以二进制可执行文件安装运行,配置 systemd 来管理,另一种是以 Docker 容器运行,使用docker-compose来管理,在这里我们只讲docker方式部署与管理方法。
我们可以通过以下命令来在实验环境的虚拟机运行cAdvisor容器:
Docker方式启动
以上的启动方式对于管理来说稍显繁琐,为了方便管理,我们使用docker-compose来管理
安装docker-compose
docker-compose文件
docker会自动去pull images,需要等一会,等待启动完成后,我们直接可以访问 http://192.168.1.220:8080
以上是我们为了大家能了解docker是如何监控实现的方法的,现在我们进入docker监控具体环节,GitHub上已经有了已经配置好的开源,直接拿来用即可。
先决条件:
- Docker Engine >= 1.13
- Docker Compose >= 1.11
Containers: - Prometheus (metrics database) http://:9090
- Prometheus-Pushgateway (push acceptor for ephemeral and batch jobs) http://:9091
- AlertManager (alerts management) http://:9093
- Grafana (visualize metrics) http://:3000
- NodeExporter (host metrics collector)
- cAdvisor (containers metrics collector)
- Caddy (reverse proxy and basic auth provider for prometheus and alertmanager)
启动完成以后,我们直接访问http://192.168.1.220:3000端口,使用初始化的账号密码,admin:admin进入,此时会提示你修改密码,修改成你需要的密码即可。
这时访问CAdvisor,会发现container中已经有了redis这个容器了。
对于Alertmanager与Rules的具体配置,后面会做做详细讲解。
欢迎大家关注我的公众号ID:k8stech
文章转自公众号:Kubernetes技术栈
