1. 编译二进制文件
- 搭建go环境
- 编译
$ mkdir -p $GOPATH/src/github.com/n9e
$ cd $GOPATH/src/github.com/n9e
$ git clone https://github.com/n9e/docker-mon.git
$ cd docker-mon
$ ./build
- 制品
编译后最终制品为docker-mon
、docker-mon.yml
两个文件
2. 客户端准备
安装夜莺客户端
《nightingale-agent 安装》cadvisor 安装
yml文件如下:
cadvisor:
image: harbocto.xxx.com.cn/public/cadvisor:v0.24.1
container_name: monitoring_cadvisor
restart: unless-stopped
volumes:
- /:/rootfs:ro
- /var/run:/var/run:rw
- /sys:/sys:ro
- /var/lib/docker/:/var/lib/docker:ro
ports:
- "4194:8080"
3. docker-mon安装
- 文件准备
将1中制品 docker-mon、docker-mon.yml 分发到容器所在的宿主机上.
- 修改配置文件
修改docker-mon.yml中的端口号为 cadvisor 的实际端口
cadvisorUrl: "http://127.0.0.1:4194/"
logger:
dir: logs
level: DEBUG
keepHours: 2
- 启动docker-mon
[root@harbor n9e-mon]# ./docker-mon
4. 被监控服务修改
需要在容器中添加变量 N9E_NID=xxx
-
查看 N9E_NID 值
N9E_NID 指的是 夜莺挂载 目标容器宿主机 的叶子节点的ID,查看如下:
- 容器中添加变量
下边以docker-compose启动的容器为例:
environment:
- N9E_NID=22
重启容器
夜莺上监控结果