容器监控指南:三剑客轻松实现 Docker 容器监控

93d69dd030d3b65180b35a43cb6d74ae.gif

作者 | Milan Mahat

在本指南中,我们将学习如何使用 docker-compose 在容器中设置 cAdvisor,将其与 prometheus 连接,并通过 grafana 监控服务器的容器。

CAdvisor 是一种流行的工具,用于收集容器的信息。它是 prometheus 和 grafana 用来抓取信息并将信息以图形、图表、时间序列和其他各种形式可视化的代理。CAdvisor 从容器中收集各种指标,这些信息由 prometheus 抓取,然后 grafana 将数据转换为直观的展现形式。

CAdvisor 是一个独立的应用程序。它具有对 Docker 容器的原生支持,并且还支持其他容器环境,例如开箱即用的 Kubernetes。


在容器中设置 cAdvisor 和 prometheus

配置 docker-compose.yml 文件并启动容器

sudo nano docker-compose.yml

现在将以下代码添加到其中:

cadvisor:image: gcr.io/cadvisor/cadvisor:latestcontainer_name: cadvisorports:- "9200:8080"volumes:- /:/rootfs:ro- /var/run:/var/run:ro- /sys:/sys:ro- /var/lib/docker/:/var/lib/docker:ro- /dev/disk/:/dev/disk:rodevices:- /dev/kmsgnetworks:- prometheus-networkrestart: unless-stopped

在 docker compose 文件中,卷已以只读模式映射到容器中。这是收集有关正在运行的容器信息所必需的。配置文件应该是这样的:

需要在 Prometheus 的配置文件中添加一些配置:

4edbc4ac876e9cf14c24fbb9a7cb3379.png

sudo nano config/prometheus.yml

在其中添加以下代码:

- job_name: 'cadvisor'static_configs:- targets: ['cadvisor:8080']

在这里,添加了目标 cadvisor:8080。这个地址只有在 prometheus 和 cAdvisor 容器都在同一个网络中时才有效。对于远程容器监控,只需要设置远程 cadvisor 的地址和端口,因为上面已经分别映射了主机和容器的端口 9200 和 8080。

配置应该如下所示:

e7c06dffb74520989e84bf20e60fd21b.png现在使用 docker-compose 文件构建的 cAdvisor,然后启动容器:

sudo docker-compose up --build –d

并检查状态:

docker-compose ps

看起来 cAdvior 运行良好。现在访问 http://yourserverip:9090/ 访问 prometheus 并检查 cAdvisor 是否连接到 prometheus:

转到状态-> 目标。

1d3008ffa9131fb9c148ad7757f7d297.png


35ec39ff09a551eb375814fd97ef90d5.png

在这里可以看到 cadvisor 已经启动了。

这意味着 prometheus 也可以从 cadvisor 中抓取数据。

登录到 grafana 服务器。

转到 http://yourserverip:3000/

现在为容器监控设置仪表板。

点击导入:

8220ae1f1d6e4f5fadd5e0acf5786b6b.png

现在粘贴 14282 并单击加载。

此 ID 从 grafana 表板库中导出完整的 cadvisor 仪表板。您可以在下面链接中浏览更多仪表板。

https://grafana.com/grafana/dashboards/

点击加载。

a0d6648dab83f83c9b8015147f24cf50.png

设置名称,设置正确的 preometheus 并点击导入。

导入后,您可以看到仪表板。这个仪表板是现成的仪表板,包含很多关于容器的信息。

b2f5975031c3c783a557dd34ad36ac44.png

仪表板已加载各种指标,例如 CPU 利用率、内存利用率、缓存内存、网络流量利用率等。您可以根据需要探索和自定义许多其他各种指标。还可以使用自己的自定义查询创建自定义仪表板。

您还可以从另一台服务器监控容器,只需进行少量修改。此外,您可以设置警报系统,并在您的服务器或容器中检测到异常时向您的电子邮件、微信、钉钉发送警报消息。

原文:

https://cloudtechservice.com/container-monitoring/

95924c2153aba0091dd8aa95a0e0f962.gif

往期推荐

read 文件一个字节实际会发生多大的磁盘IO?

如何优雅保护 Kubernetes 中的 Secrets

Redis 内存满了怎么办?这样置才正确!

云原生的本手、妙手和俗手

7bdd955b7eba78cf3687fdf51fc9dca7.gif

点分享

57bd774fd088824d2964e9806980422c.gif

点收藏

e3092b80a327aa2725f81d53112ccf84.gif

点点赞

4ae216b8466618d8c0028bad9c6fc936.gif

点在看

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/511512.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux内存管理的主要概念是虚拟内存,有关linux内存管理机制的相关内容,linux物理内存和虚拟内存,深入了解Linux内存运行 ......

在linux中空闲内存很少,似乎所有的内存都被系统占用了,表面感觉是内存不够用了,其实不然。这是Linux内存管理的一个优秀特性,区别于Windows的内存管理。主要特点:无论物理内存有多大,Linux 都将其充份利用&…

N个技巧,编写更高效 Dockerfile|云效工程师指北

简介:云原生时代下软件的构建和部署离不开容器技术。提到容器,几乎大家下意识都会联想到 Docker 。而 Docker 中有两个非常重要的概念,一个是Image(镜像),一个是Container(容器)。前…

TDA-04D8变送器数据上报阿里云

简介:本文将以TDA-04D8变送器作为采集对象,使用海创微联采集控制系统对TDA-04D8变送器进行采集,然后将设备上的毛重、净重、皮重数据采集上传到阿里云物联网平台,阿里云物联网平台将数据实时可视化。 文章分为3部分: …

http ,怎么优雅的拒绝你

作者 | 奇伢来源 | 奇伢云存储典型问题:服务端优雅的拒绝今天分享一个后端编程的实际经验。这个问题来源于对象 S3 后端协议实现的技巧思考。场景:服务端不想接收 http 的 body 的时候,该怎么优雅的拒绝呢?什么意思?对…

linux iio 设备驱动,Linux设备驱动之IIO子系统——IIO框架数据读取-Go语言中文社区...

IIO DATA ACCESS IIO数据获取只有两种方法可以使用IIO框架访问数据; 通过sysf通道进行一次性捕获,或通过IIO字符设备进行连续模式(触发缓冲)。One-shot capture:单次获取一次性数据捕获通过sysfs接口完成。 通过读取与通道对应的sysfs条目,您…

企业物联网平台新版公共实例升级企业实例教程

简介:2021年7月30日企业物联网平台重磅升级,发布的新版公共实例支持一键升级企业版实例,本文将为大家介绍一键升级教程 一、企业版实例,企业用户首选 企业物联网平台 提供设备上云必备的基础服务,用户无需自建物联网…

【全观测系列】Elasticsearch应用性能监控实践

简介:本文介绍了应用性能监控的应用价值以及解决方案等。 1、什么是全观测? 要了解全观测,我们先看看传统运维存在哪些问题。 数据孤岛,分散在不同部门,分析排查故障困难;多个厂商的多种工具&#xff0c…

Gartner发布当前至2024年的五大隐私趋势

到2024年,全球75%人口的个人数据将得到隐私法规的保护。 供稿 | Gartner 出品 | CSDN云计算 根据Gartner的研究,随着全球隐私法规数量的不断增加,企业机构应关注五项重大隐私趋势,以应对保护个人数据和遵守监管要求方面的挑战。 …

linux下qt生成可安装的程序,linux – 如何为Qt应用程序创建“安装”包?

您可以从项目中创建debian包.据我所知,你想创建一个用于分发的包,所以我建议你从你的项目中创建一个debian包.Here是Debian Packaging系统的介绍.在文章中,他们在某些时候描述了如何创建一个“规则”文件,它是构建过程的核心.以下是我通常用于Qt / KDE项目的示例:#!…

es实战-使用IK分词器进行词频统计

简介:通过IK分词器分词并生成词云。 本文主要介绍如何通过 IK 分词器进行词频统计。使用分词器对文章的词频进行统计,主要目的是实现如下图所示的词云功能,可以找到文章内的重点词汇。后续也可以对词进行词性标注,实体识别以及对…

IC Nansha|AMD高级副总裁、大中华区总裁潘晓明:制程、架构、平台优化突破计算边界

6月25日,中国南沙国际集成电路产业论坛在广州南沙顺利举行。AMD高级副总裁、大中华区总裁潘晓明出席了本次会议,并在高峰论坛环节中以《高性能计算的未来》为主题发表了演讲。 (AMD高级副总裁、大中华区总裁 潘晓明) 作为一家深耕…

linux 输出后面几列内容,Linux下使用awk如何获取关键字所在字段号,第几列,以及打印这个字段之后的所有字段?...

netstat 的原始结果如下:[rootTest tmp]# netstat -tunp| grep ESTABLISHEDtcp 0 0 10.251.101.163:6379 10.251.101.163:51602 ESTABLISHED 2115/redis-server 1tcp 0 0 127.0.0.1:58657 127.0.0.1:3306 ESTABLISHED 13354/rpc_time_servtcp 0 0 10.251.101.163:52…

nltkdata路径设置linux,NLTK data路径设置

安装nltk后用这个命令:from nltk.book import *按照正常的,应该出现以下:>>> from nltk.book import **** Introductory Examples for the NLTK Book ***Loading text1, ..., text9 and sent1, ..., sent9Type the name of the text…

爱数SMART 2022峰会开启,分享数据战略与建设数据驱动型组织方法论

6月28日,爱数SMART 2022线上峰会全球直播正式开启。主论坛上,爱数正式提出了企业制定数据战略以及建设数据驱动型组织的方法论,并推出开源计划与数字伙伴计划2.0,共创数据驱动型组织。 通过清晰的数据战略,从容加速数据…

云原生时代开发者工具变革探索与实践

简介:本篇内容分享了原生时代开发者工具变革探索与实践。 分享人:马洪喜 行云创新CEO 正文:本篇内容将通过三个部分来介绍云原生时代开发者工具变革探索与实践。 一、云原生模块化开发概览 二、软件模块化开发特点 三、ADD产品简介 一、…

喜马拉雅 Apache RocketMQ 消息治理实践

简介:本文通过喜马拉雅的RocketMQ治理实践分享,让大家了解使用消息中间件过程中可能遇到的问题,避免实战中踩坑。 作者:曹融,来自喜马拉雅,从事微服务和消息相关中间件开发。 本文通过喜马拉雅的RocketMQ治…

Linux里怎么进行路由跟踪,[Linux] traceroute 路由跟踪指令用例

traceroute是用来跟踪数据包到达网络主机所经过的路由工具。在Linux系统中,称之为traceroute,在Windows中称为tracert。一条路径上的每个设备traceroute要测3次。输出结果中包含每次测试的时间(ms)和设备的名称及其IP。1、命令格式:tracerout…

Docker 容器为什么傲娇?全靠镜像撑腰!

作者 | 飞向星的客机来源 | CSDN博客🌟 前言Docker 镜像是 Docker 容器的基石,容器是镜像的运行实例,有了镜像才能启动容器。Docker 镜像是一个只读的模板,一个独立的文件系统,包括运行一个容器所需的数据,…

HBase读链路分析

简介:HBase的存储引擎是基于LSM-Like树实现的,更新操作不会直接去更新数据,而是使用各种type字段(put,delete)来标记一个新的多版本数据,采用定期compaction的形式来归档合并数据。这种数据结构…

设置linux文件系统密码,busybox 文件系统设置 登陆 login 密码 password shadow

用busybox做文件系统的很多介绍,这里就不啰嗦了。说几点:1、etc目录下有inittab,则系统按此文件规则来启动和运行,内容为:::sysinit:/etc/init.d/rcS#把respawn改成askfirst就会出现按enter才能进去的提示::respawn:-/…