分享好友 最新动态首页 最新动态分类 切换频道
docker_监控
2024-12-26 22:32

ps

查看当前运行的容器。

新版的 Docker 提供了一个新命令 ,其作用和用法与 完全一样。不过 含义可能比 更准确

top

执行 命令,查看容器运行了哪些进程

stats

用于显示每个容器各种资源的使用情况。

sysdig 是一个轻量级的系统监控工具,同时它还原生支持容器。通过 sysdig 我们可以近距离观察 linux 操作系统和容器的行为。

安装和运行 sysdig 的最简单方法是运行 Docker 容器,命令行为:

docker container run -it --rm --name=sysdig --privileged=true

​ --volume=/var/run/docker.sock:/host/var/run/docker.sock

​ --volume=/dev:/host/dev

​ --volume=/proc:/host/proc:ro

​ --volume=/boot:/host/boot:ro

​ --volume=/lib/modules:/host/lib/modules:ro

​ --volume=/usr:/host/usr:ro

​ sysdig/sysdig

sysdig 容器是以 方式运行,而且会读取操作系统 , 等数据

通过 进入容器,执行 命令,将以交互方式启动 sysdig

这是一个类似 linux top 命令的界面。sysdig 按不同的 View 来监控不同类型的资源,点击底部 菜单(或者按 F2),显示 View 选择列表

回车或者双击 ,进入容器监控界面。

sysdig 会显示该 Host 所有容器的实时数据,每两秒刷新一次。各列数据的含义也是自解释的,如果不清楚,可以点一下底部 (或者按 F7)。如果想按某一列排序,比如按使用的内存量,很简单,点一下列头

如果想看某个容器运行的进程,比如 将光标移到目标容器,然后回车或者双击。

还可以继续双击查看进程中的线程。

返回上一级,按退格键即可。

点击底部 菜单,然后输入关键字可以进行查找。如下图,关键字为 。

点击底部 菜单,暂停页面刷新。

sysdig 的特点如下:

  1. 监控信息全,包括 Linux 操作系统和容器。
  2. 界面交互性强。

sysdig 显示的是实时数据,看不到变化和趋势。而且是命令行操作方式,需要 ssh 到 Host 上执行,会带来一些不便。

Weave Scope 的最大特点是会自动生成一张 Docker 容器地图,让我们能够直观地理解、监控和控制容器。如图

安装

执行如下脚本安装运行 Weave Scope。

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

chmod a+x /usr/local/bin/scope

scope launch

将以容器方式启动 Weave Scope。

容器监控

Weave Scope 地图中间显示了 Host 当前运行的容器,不过少了几个 相关的容器。

Weave Scope 将容器分为两类:Weave 自己的容器 ,和其他容器 ,默认只显示后者。

Weave Scope 界面是一个可交互的地图,使用起来很方便。比如点击地图左下角选择开关 。

点击 选择器。将鼠标放到容器图标上,则会显示具体的 CPU%。

如果要查看容器的详细信息,比如bbox1,可以点击该容器的图标。

详细信息包括这么几部分:

Status

CPU、内存的实时使用情况以及历史曲线。

INFO

容器 image、启动命令、状态、网络等信息。

PROCESSES

容器中运行的进程。

ENVIRONMENT VARIABLES

环境变量。

DOCKER LABELS

容器启动命令。

IMAGE

镜像详细信息。

在容器信息的上面还有一排操作按钮。

Weave Scope 多主机监控

点击顶部 菜单项,地图将显示当前 host。

host 当前的资源使用情况和历史曲线一览无余。除此之外也能很方便地查看 host 上运行的进程和容器列表,点击容器名字还可以打开此容器的信息页面。

host 页面上部有一个按钮,点击可直接打开 host 的 shell 窗口

多主机监控

两个 Docker Host:

node3: 192.168.56.180.5
node2: 192.168.56.180.4

在两个 host 上都执行如下命令:

scope launch 192.168.180.5 192.168.180.4

点击 菜单项,将显示部署环境中所有的容器。

在 host 中运行 cAdvisor 容器。

docker run

--volume=/:/rootfs:ro

--volume=/var/run:/var/run:rw

--volume=/sys:/sys:ro

--volume=/var/lib/docker/:/var/lib/docker:ro

--publish=8080:8080

--detach=true

--name=cadvisor

google/cadvisor:latest

监控 Docker Host

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

监控容器

点击 链接。

点击容器可以进入容器里查看,容器的信息

cAdvisor 的主要功能主要两点:

  1. 展示 Host 和容器两个层次的监控数据。
  2. 展示历史变化数据。

由于 cAdvisor 提供的操作界面略显简陋,而且需要在不同页面之间跳转,并且只能监控一个 host,这不免会让人质疑它的实用性。但 cAdvisor 的一个亮点是它可以将监控到的数据导出给第三方工具,由这些工具进一步加工处理。

可以把 cAdvisor 定位为一个监控数据收集器,收集和导出数据是它的强项,而非展示数据。

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

Prometheus Server

Prometheus Server 负责从 Exporter 拉取和存储监控数据,并提供一套灵活的查询语言(PromQL)供用户使用。

Exporter

Exporter 负责收集目标对象(host, container…)的性能数据,并通过 HTTP 接口供 Prometheus Server 获取。

可视化组件

监控数据的可视化展现对于监控方案至关重要。以前 Prometheus 自己开发了一套工具,不过后来废弃了,因为开源社区出现了更为优秀的产品 Grafana。Grafana 能够与 Prometheus 无缝集成,提供完美的数据展示能力。

Alertmanager

用户可以定义基于监控数据的告警规则,规则会触发告警。一旦 Alermanager 收到告警,会通过预定义的方式发出告警通知。支持的方式包括 Email、PagerDuty、Webhook 等.

  1. 通过维度对数据进行说明,附加更多的业务信息,进而满足不同业务的需求。同时维度是可以动态添加的,比如再给数据加上一个 维度,就可以按用户来统计容器内存使用量了。

  2. Prometheus 丰富的查询语言能够灵活、充分地挖掘数据的价值。前面示例中的 avg、sum、by 只是查询语言中很小的一部分功能,已经为我们展现了 Prometheus 对多维数据进行分片、聚合的强大能力。

    环境说明

    通过 Prometheus 监控两台 Docker Host:192.168.180.4 和 192.168.180.5,监控 host 和容器两个层次的数据。

    按照架构图,运行如下组件:

    Prometheus Server

    Prometheus Server 本身也将以容器的方式运行在 host 192.168.180.5 上。

    Exporter

    Prometheus 有很多现成的 Exporter,完整列表请参考 https://prometheus.io/docs/instrumenting/exporters/

    本次实验使用:

    1. Node Exporter,负责收集 host 硬件和操作系统数据。它将以容器方式运行在所有 host 上。
    2. cAdvisor,负责收集容器数据。它将以容器方式运行在所有 host 上。

    Grafana

    显示多维数据,Grafana 本身也将以容器方式运行在 host 192.168.56.103 上。

    运行 Node Exporter

    在两个 host 上执行如下命令:

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)($|/)"

注意,使用,这样 Prometheus Server 可以直接与 Node Exporter 通信。

Node Exporter 启动后,将通过 9100 提供 host 的监控数据。在浏览器中通过 http://192.168.180.4:9100/metrics 测试一下。

运行 cAdvisor

在两个 host 上执行如下命令:

docker run
--volume=/:/rootfs:ro
--volume=/var/run:/var/run:rw
--volume=/sys:/sys:ro
--volume=/var/lib/docker/:/var/lib/docker:ro
--publish=8080:8080
--detach=true
--name=cadvisor
--net=host
google/cadvisor:latest

运行 Prometheus Server

在 host 192.168.56.103 上执行如下命令:

docker run -d -p 9090:9090
-v /root/prometheus.yml:/etc/prometheus/prometheus.yml
--name prometheus
--net=host
prom/prometheus

prometheus.yml 是 Prometheus Server 的配置文件

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

指定从哪些 exporter 抓取数据。这里指定了两台 host 上的 Node Exporter 和 cAdvisor。

另外 就是 Prometheus Server 自己,可见 Prometheus 本身也会收集自己的监控数据。同样地,可以通过 http://192.168.180.5:9090/metrics 测试一下。

在浏览器中打开 http://192.168.180.5:9090 ,点击菜单 。

的 都是 ,说明 Prometheus Server 能够正常获取监控数据。

运行 Grafana

在 host 192.168.56.103 上执行如下命令:

[top]
docker run -d -i -p 3000:3000
-e "GF_SERVER_ROOT_URL=http://grafana.server.name"
-e "GF_SECURITY_ADMIN_PASSWORD=secret"
--net=host
grafana/grafana

注意,这里我们使用了 ,这样 Grafana 可以直接与 Prometheus Server 通信

指定了 Grafana 用户密码 。

Grafana 启动后。在浏览器中打开 http://192.168.180.5:3000/

配置

然后就可以展示数据

最新文章
电商SEO优化攻略,揭秘提升流量与率的黄金秘籍
电商SEO优化是提升店铺流量与率的关键。通过关键词研究、优化产品描述、优化图片和、建立高质量的外链、提升网站速度等方法,可以有效提高店铺在搜索引擎中的排名,吸引更多潜在顾客,从而提高店铺流量与率。掌握SEO优化技巧,让您的电商店
苹果怎么投电视
在智能家居日益普及的今天,将手机屏幕投射到电视上已成为许多用户享受大屏娱乐的常用方式。对于苹果用户来说,将iPhone或iPad的内容投屏到电视上,不仅操作简单,而且体验流畅。以下是几种常见的方法,帮助苹果用户轻松实现投屏。一、AirP
【R80591桌面下载】OPPO R80591桌面10.5.2免费下载
「91桌面V10」造动X计划!全宇宙最最玩的桌面美化APP,畅享铁血战士、中国新说唱、张一山、宋祖儿、油爆叽丁、蘑菇点点、秋田君、汤圆酱等众多知名IP主题,还有更多版权形象神秘企划中!==特色亮点==1.【主题免费啦】高能版本现在开启,大
米菲米索正品全国包邮网上药店——(官方直营商城药店)第一时间发货+正品确保!
米菲米索正品全国包邮网上药店——(官方直营商城药店)第一时间发货+正品确保!,安全的网上药品零售药房,顺丰包邮可货到付款米菲米索正品全国包邮网上药店——(官方直营商城药店)第一时间发货+正品确保! 许多女性就会有着激情过后,因为措
如何在Excel中以相反的顺序对数据进行排名?
将小时转化为分钟 Kutools for Excel!准备好增强您的 Excel 任务了吗? 利用的力量 Kutools for Excel - 您终极的节省时间的工具。 简化复杂的任务并像专业人士一样浏览数据。 以闪电般的速度体验 Excel!为什么需要 Kutools for Excel
【Python爬虫奇淫技巧】 用pandas库read
一、介绍read_html()函数喜欢Python编程的小伙伴你知道吗,python的pandas库除了可以做数据分析,还可以做简易爬虫,仅需一行核心代码,就可以实现一个爬虫程序,轻轻松松爬取网页数据!它就是pandas库的read_html()函数,实现python爬虫可
发送keyevent和文本
1. 显示系统中全部Android平台:     android list targets 2. 显示系统中全部AVD(模拟器):     android list avd 3. 创建AVD(模拟器):     android create avd --name 名称 --t
如何进行专业SEO优化,让网站排名更靠前?
在当今这个信息爆炸的时代,网站想要在浩如烟海的网络世界中脱颖而出,SEO(搜索引擎优化)无疑是一把利剑。作为一名在SEO领域摸爬滚打多年的实践者,我深知其中的艰辛与乐趣。从关键词的精准选择到内容的深度优化,每一步都蕴含着智慧与汗
置顶微信小商店支持多门店自提功能啦精选热门
一直以来小商店都缺少多门店自提功能,这对很多做同城服务的商家来说极不方便,我们和很多商家多次跟微信团队反馈此问题,经过漫长的等待,微信小商店最近上线了多门店自提功能,下面我们就看下具体使用体验。预约方式调整这次上线不但提供
青岛设计,打造独具特色的网站,引领企业互联网营销新潮流
随着互联网的快速发展,已成为企业展示形象、拓展市场、实现销售的重要平台。在这个信息爆炸的时代,如何出独具特色的网站,成为企业关注的焦点。青岛设计以其卓越的设计实力,为广大企业打造了一批又一批优秀的网站,引领着互联网营销新潮
相关文章
推荐文章
发表评论
0评