03-容器监控-cadvisor+n9e
2021-12-01 本文已影响0人
玄德公笔记
1. cadvisor 部署
因为我是用docker-compose启动的,因此需要提前安装。
-
yaml文件
创建/opt/cadvisor目录,在目录下创建docker-compose.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"
- 启动
[root@DoM01 cadvisor]# docker-compose up -d
- 查看结果
[root@DoM01 cadvisor]# docker-compose ps
Name Command State Ports
-------------------------------------------------------------------------------------
monitoring_cadvisor /usr/bin/cadvisor -logtostderr Up 0.0.0.0:4194->8080/tcp
- cadvisor页面

2.1 Docker Containers
里边就是服务器中的容器以及对应的cgroup信息

2.2 Subcontainers
- docker
容器信息

- system.slice
系统创建的cgroup

- user.slice
用户创建的cgroup
2.3 其他
- 如果是k8s 则 Subcontainers 还有一个xxxx
- 后边都是一些图表,看名字就知道意思了
3. n9e 接入数据
创建图表入口:
监控看图 > 监控大盘 > 新建大盘 > 新建大盘分组 > 新建图表
3.1 n9e配置方式
- 配置方式 选择 nightingale,在指标中输入
container
即可出现监控项提示
image.png
- 资源分组什么的不建议选,之后我们可以用变量来灵活筛选
- 选好了确定即可
3.2 prometheus配置方式
n9e的接入方式不能计算,一些需要计算的结果,我们选择prometheus配置方式。

- Promql 如下
sum(rate(container_network_transmit_bytes_total{instance=~"$instance",name=~".+"}[60s])) by (name)
我们使用了变量 $instance 作为过滤条件,接下来配置这个变量
3.3 变量配置

-
prometheus引用
使用 ${标签或资源分组} 注意,不是使用变量名 -
n9e引用
n9e直接可以引用,不用操作。