分享好友 最新动态首页 最新动态分类 切换频道
Docker监控与开源工具实战:从基础到大型环境
2024-12-26 20:18

     当docker的坏境规模逐步变大后,我们的监控也就越来越重要了。

docker自带了监控命令:ps、top、stats等,还有几个开源的监控工具sysdig、weave、scope、cAdvisor和pormetheus。

一、docker自带的监控命令

 1、ps

       docker ps这个命令应该很熟悉了,可以看到容器当前的一个运行状态。它和docker container ls的命令用法一致。

docker# docker ps

  2、top

如果想知道容器里面都运行了哪些进程,可以执行docker container top [container] [options]

docker# docker container top test1

docker# docker container top test7 -aux

 3、stats

可以用来显示每个容器各种资源的使用情况

docker# docker container stats test7

默认显示的是一个实时变化的内容,如果容器没有做资源限制,那么显示的是host的总cpu、mem。他的缺点就是不能显示容器的名字,只能显示CONTAINER ID。

 

二、开源小型监控工具。

1、sysdig

   它是一个轻量级的系统监控工具,将strace、tcpdump、htop、iftop...这些监控工具的功能集成到一起。具体安装与使用如下

(1)下载监控容器

docker# docker search sysdig

docker# docker pull sysdig/sysdig

(2)启动并进入容器,给一个真正的root权限,并把host上一些关键的数据目录挂载到容器中

docker# docker container run -it --name sysdig --privileged=true
> -v /var/run/docker.sock:/host/var/run/docker.sock
> -v /dev:/host/dev
> -v /proc:/host/proc:ro
> -v /boot:/host/boot:ro
> -v /lib/modules:/host/lib/modules:ro
> -v /usr:/host/usr:ro
> sysdig/sysdig

这是一个类似linux中top的界面,但是功能强大了太多,按下F2,在左侧会有很多列表,选择containers,来监控我们host上的容器,或者F7查看帮助

 

2、Weave Scope

它的特点是自动生成一张docker容器地图,我们可以更加直观的来查看容器的运行情况,安装使用步骤如下

(1)下载Weave Scope并安装

docker# curl -L git.io/scope -o /usr/local/bin/scope

docker# scope launch               #会自己启动

(2)通过http://hostiphttp://hostip:4040来访问监控界面

(3)容器监控

WeaveScope地图中间显示了Host当前运行的容器,不过少了几个weave相关的容器。 Weave Scope 将容器分为两类: Weave自己的容器System Container,和其他容器Application Container,默认只显示后者。Weave Scope 界面是一个可交互的地图,使用起来很方便。比如点击地图左下角选择开关 AIl,
地图上会立刻会显示出所有的容器
点击 CPU 选择器。
 Weave Scope 将以高低水位方式显示容器CPU 使用量
如果此时我们将鼠标放到容器图标上,则会显示具体的CPU%。
如果要查看容器的详细信息,比如sysdig,可以点击该容器的图标。
详细信息包括这么几部分:Status CPU、内存的实时使用情况以及历史曲线。INFO 容器 image、启动命令、状态、网络等信息。以下几项需拉动滚动条查看。
 PROCESSES容器中运行的进程。ENVIRONMENT VARIABLES 环境变量,DOCKER LABELS 容器启动命令。IMAGE 镜像详细信息。在容器信息的上面还有一排操作按钮。
分别是:
 attach到容器启动进程,相当于执行 docker container attach
打开shell,相当于执行 docker container exec
重启容器,相当于执行 docker container restart
暂停容器,相当于执行 docker container pause
关闭容器,相当于执行 docker container stop
这排按钮使我们能够远程控制容器,相当方便。

 

三、适应大型环境的监控。

实验环境:两台docker服务器  192.168.0.125   192.168.0.126

 cAdvisor:负责收集容器数据,以容器方式运行在所有host上

node exporter:负责收集host硬件和操作系统的数据以容器方式运行在所有host上

prometheus server:接收所有数据

grafana:把prometheus收集的数据以多维数据显示出来,和prometheus一起运行下一台host上

实验步骤

1、下载安装cAdvisor

docker# docker search cadvisor

docker# docker pull google/cadvisor

docker# docker run -dit --name vadvisor -p 8080:8080
> -v /:/rootfs:ro
> -v /var/run:/var/run:rw
> -v /sys:/sys:ro
> -v /var/lib/docker/:/var/lib/dockerLro
> google/cadvisor

2、监控host,显示当前host的资源使用情况,包括CPU、内存、网络、文件系统等

在浏览器中输入http://192.168.0.125:8080

监控容器

 

监控容器
点击 Docker Containers 链接。
显示容器列表
点击某个容器,比如sysdig,进入该容器的监控页面。
以上就是cAdvisor的主要功能,总结起来主要两点:
1.展示Host 和容器两个展次的监控数据。
2.展示历史变化数据。

 cAdvisor的一个亮点是它可以将监控到的数据导出给第三方工具,由这此工具进一步加工处理我们可以把cAdvisor定位为一个监控数据收集器,收集和导出数据是它的强项,而非展示数据

 Prometheus 架构
 Prometheus是一个非常优秀的监控工具。准确的说,应该是监控方案。Prometheus 提供了监控数据搜集、存储、处理、可视化和告警一套完整的解决方案。让我们先来看看Prometheus 的架构。架构

 2、下载node-exporter,在所有host上运行

docker# docker search node-exporter

docker# docker pull prom/node-exporter

docker# docker run -d -p 9100:9100 
 -v "/proc:/host/proc
 -v "/sys:/host/sys
 -v "/:/rootfs
 --net=host 
 prom/node-exporter 
 --path.procfs /host/proc 
 --path.sysfs /host/sys 
 --collector.filesystem.ignored-mount-points "^/(sys|proc|dev|host|etc|rootfs/var/lib/docker/containers|rootfs/var/lib/docker/overlay2|rootfs/run/docker/netns|rootfs/var/lib/docker/devicemapper|rootfs/var/lib/docker/aufs)($$|/)"

在浏览器中输入http://192.168.0.125:9100/metrics

 http://192.168.0.126:9100/metrics

3、在host192.168.0.125上面下载运行prometheus server并配置

docker# docker search prometheus

docker# docker pull prom/prometheus

docker# docker run -dit --name prometheus --network host -p 9090:9090 -v /data/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus

/data/prometheus.yml的内容为

# my global config
global:
  scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # scrape_timeout is set to the global default (10s).

# Alertmanager configuration
alerting:
  alertmanagers:
  - static_configs:
    - targets:
      # - alertmanager:9093

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: 'prometheus'

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

    static_configs:
    - targets: ['localhost:9090','localhost:9100','localhost:8080','192.168.0.126:8080','192.168.0.126:9100']

在浏览器中输入http://http://192.168.0.125:9090s测试一下

 

4、在host192.168.0.125上下载运行grafana

docker# docker search grafana

docker# docker pull grafana/grafana

docker# docker run -dit -p 3000:3000 --network host 

 --name grafana 

 -e "GF_SERVER_ROOT_URL=http://grafana.server.name

 -e "GF_SECURITY_ADMIN_PASSWORD=123

 grafana/grafana

在浏览器中输入http://192.168.0.125:3000, 使用我们的用户和密码登录,admin  123

(1)点击DATA SOURCE,我这是已经创建好了

(2)选择prometheus

(3)输入名称,和prometheus的ip、端口,再点击保存,就创建成功了

(4)创建仪表盘

我们先到https://grafana.com/grafana/dashboards/11558点击Download JSON下载一个模板

在导入就行了

 

 

最新文章
火星说车
近期,全球汽车可靠性排行榜终于揭晓了,这也是全球消费者在购车时的重要参考指标,令人意想不到的是,此次评选的车企排名发生了较大该表,第一名被斯巴鲁取得,并且打破了雷克萨斯和丰田常年的取得的霸主地位,接下来我们就来详细看看各个
理想汽车两次辟谣,OTA升级亟需规范化
□大河报·豫视频记者 祁驿12月15日,有媒体报道,“西安一市民46万买了理想汽车,在行驶途中系统突然升级停在街头”。关于这一报道,12月15日晚,理想汽车产品线总裁刘杰发文称,“希望大家不要被误导,理想汽车不会在行驶中OTA。”刘杰还
松下油烟机24小时人工400电话/专业快速响应 - 家电 - 百科知识-蓝心网
松下油烟机售后24小时维修服务热线:400-658-8618。松下油烟机全市各区售后服务点热线号码。☎:400-658-8618松下油烟机售后服务,秉承“诚信为本、客户至上”的服务态度和“以客户为中心”的服务指导思想,不仅真诚地为用户提供先进、高质
《360用户隐私保护白皮书》
作为网络安全产品,360具有安全软件所特有的一些功能,要实现这些功能就需要对您电脑和移动终端中的一些必要文件与数据进行扫描,在征得您的同意后会将可疑文件上传,而这些操作的目的都是为了保护您的电脑和移动终端安全。以下是360在保护
驻马店网站SEO:提升本地搜索排名的有效策略
随着互联网的普及,越来越多的驻马店本地企业意识到,优化网站以提高搜索引擎排名,是实现品牌曝光和吸引潜在客户的有效途径。驻马店网站SEO不仅仅是提高网站流量,更是提升企业在本地市场竞争力的关键。通过精心策划和实施SEO策略,驻马店
定时点击器 – 吾爱大神又出新作,“按键精灵+定时任务”的结合体?
我时常会幻想,如果有啥工具能够帮我自动完成任务就好了,不说帮我搬砖啥的吧,能够帮我自动完成签到打卡之类的操作也是可以的。你还别说,今天我还真发现了这么一款宝藏工具,能在一定程度上帮咱定时自动完成各种复杂操作,你的想象力决定
速溶咖啡什么牌子好?十大咖啡品牌排行榜
咖啡这个词源于希腊语Kaweh,意思是力量和热情。在世界各地,喜欢喝咖啡的人越来越多。随之而来的咖啡文化充满了生活的每一刻。无论是在家里,还是在办公室,还是在各种社交场合,人们都在品尝咖啡,逐渐与时尚和现代生活联系在一起。咖啡
谷歌菲律宾账号买(谷歌商店怎么把地区改到菲律宾)
谷歌菲律宾账号买是一种现象,它指的是通过购买菲律宾的手机号码和身份信息,来注册并使用谷歌账号的行为。这种现象在菲律宾和其他一些国家逐渐流行起来,主要是因为菲律宾的手机号码和身份信息相对较便宜和容易获取。这种行为存在一定的风
排名更新:南宁尖锐湿疣专科医院排行榜“TOP5”南宁医治尖锐湿疣的价格是多少
  排名更新:南宁尖锐湿疣专科医院排行榜“TOP5”南宁医治尖锐湿疣的价格是多少-健康推送-1、南宁南国医院;2、南宁尖锐湿疣定点诊疗中心;3、南宁南国医院尖锐湿疣医院;4、广西医科大学第1附属医院;5、南宁第1人民医院;6、南宁市第1人民医
赤峰金蟾矿业有限公司40万吨_年尾矿砂综合利用项目环评报告书.doc
PAGE PAGEPAGE 22一、建设项目基本情况建设项目名称赤峰金蟾矿业有限公司40万吨/年尾矿砂综合利用项目项目代码2020-150428-41-03-038597建设单位联系人张斌辉联系方式建设地点内蒙古自治区赤峰市喀喇沁旗十家乡大水清村赤峰金蟾矿业有限公
相关文章
推荐文章
发表评论
0评