-
编译二进制文件
执行一次即可,保存制品待用。
搭建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 两个文件 -
客户端准备
安装夜莺客户端
《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”
- 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
- 被监控服务修改
需要在容器中添加变量 N9E_NID=xxx
查看 N9E_NID 值
N9E_NID 指的是 夜莺挂载 目标容器宿主机 的叶子节点的ID,查看如下:
容器中添加变量
下边以docker-compose启动的容器为例:
environment:
- N9E_NID=22
重启容器
夜莺上监控结果
对模板做了一些修改