【夜莺监控方案】03-容器监控(cadvisor+n9e)

文章目录

  • 前言
  • 1. cadvisor 部署
  • 2. cadvisor页面
    • 2.1 Docker Containers
    • 2.2 Subcontainers
    • 2.3 其他
  • 3. n9e 接入数据
    • 3.1 n9e配置方式
    • 3.2 prometheus配置方式
    • 3.3 变量配置

前言

相关文档如下:
《01-n9e-v5 部署-server》
《01-n9e-v5部署-agent》
《02-容器监控-cadvisor+n9e》
《03-k8s集群监控(上)》
《03-k8s集群监控(下)》
《04-监控redis集群-prometheuse+n9e》

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

2. cadvisor页面

  • url:http://10.10.xxx.100:4194

【夜莺监控方案】03-容器监控(cadvisor+n9e)_第1张图片

2.1 Docker Containers

里边就是服务器中的容器以及对应的cgroup信息
【夜莺监控方案】03-容器监控(cadvisor+n9e)_第2张图片

2.2 Subcontainers

  • docker

容器信息

【夜莺监控方案】03-容器监控(cadvisor+n9e)_第3张图片

  • system.slice

系统创建的cgroup

【夜莺监控方案】03-容器监控(cadvisor+n9e)_第4张图片

  • user.slice

用户创建的cgroup

2.3 其他

  • 如果是k8s 则 Subcontainers 还有一个xxxx
  • 后边都是一些图表,看名字就知道意思了

3. n9e 接入数据

创建图表入口:
监控看图 > 监控大盘 > 新建大盘 > 新建大盘分组 > 新建图表

3.1 n9e配置方式

  • 配置方式 选择 nightingale,在指标中输入 container即可出现监控项提示
    【夜莺监控方案】03-容器监控(cadvisor+n9e)_第5张图片

  • 资源分组什么的不建议选,之后我们可以用变量来灵活筛选

  • 选好了确定即可

3.2 prometheus配置方式

n9e的接入方式不能计算,一些需要计算的结果,我们选择prometheus配置方式。

【夜莺监控方案】03-容器监控(cadvisor+n9e)_第6张图片

  • Promql 如下
sum(rate(container_network_transmit_bytes_total{instance=~"$instance",name=~".+"}[60s])) by (name)

我们使用了变量 $instance 作为过滤条件,接下来配置这个变量

3.3 变量配置

【夜莺监控方案】03-容器监控(cadvisor+n9e)_第7张图片

  • prometheus引用
    使用 ${标签或资源分组} 注意,不是使用变量名

  • n9e引用
    n9e直接可以引用,不用操作。


你可能感兴趣的:(监控,容器,docker,监控,prometheus,cadvisor)