Docker Container 可观测性最佳实践

Docker Container 介绍

Docker Container( Docker 容器)是一种轻量级、可移植的、自给自足的软件运行环境,它在 Docker 引擎的宿主机上运行。容器在许多方面类似于虚拟机,但它们更轻量,因为它们不需要模拟整个操作系统。相反,容器共享宿主机的操作系统内核,并在用户空间中运行。

Docker 容器可观测对于确保容器化应用程序的性能、稳定性和可用性至关重要,本文主要以纯 Docker 环境下(非K8S ),构建 Container 的可观测性。

观测云

使用观测云可以轻松采集到容器的 cpu 、内存、网络、IO 等核心指标,并自动采集容器的标准输出日志,使用观测云可以有效地监控和管理容器化应用程序,一键实现容器可观测。

部署 DataKit

登录观测云,点击集成按钮,选择 DataKit,会自动生成安装 DataKit 命令。

DataKit 安装完成后,默认开启了 container 采集器,container 采集器主要采集 K8S 和 docker 容器的指标、日志等信息。执行命令 datakit monitor 可以数据查看采集情况,在 Inputs Info 中 logging/xxx 表明正在采集当前 xxx 容器的日志,container-mertic 表明正在采集容器的指标。

关键指标

  • docker_containers
MetricDescriptionTypeUnit
block_read_byteTotal number of bytes read from the container file system (only supported docker).intB
block_write_byteTotal number of bytes wrote to the container file system (only supported docker).intB
cpu_numbersThe number of the CPU core.intcount
cpu_usageThe percentage usage of CPU on system host.floatpercent
cpu_usage_base100The normalized cpu usage, with a maximum of 100%.floatpercent
mem_capacityThe total memory in the host machine.intB
mem_limitThe limit memory in the container.intB
mem_usageThe usage of the memory.intB
mem_used_percentThe percentage usage of the memory is calculated based on the capacity of host machine.floatpercent
mem_used_percent_base_limitThe percentage usage of the memory is calculated based on the limit.floatpercent
network_bytes_rcvdTotal number of bytes received from the network (only count the usage of the main process in the container, excluding loopback).intB
network_bytes_sentTotal number of bytes send to the network (only count the usage of the main process in the container, excluding loopback).intB

视图

登录观测云控制台,点击「场景」 -「新建仪表板」,输入 “docker” , 选择 “Docker 监控视图”,点击 “确定” 即可添加内置视图。

  • 概览

  • CPU & 内存

  • IO & Network

  • 日志

监控器(告警)

容器重启告警

容器启动时间小于5分钟,触发容器重启告警。

CPU 利用率告警

容器 cpu 使用率,基于宿主机总 cpu 百分比利用率进行判断触发告警。

内存利用率告警

容器内存使用率,基于容器内存限制(没有设置容器内存限制按照主机最大内存计算)进行判断触发告警。

监控效果
  • 重启告警

  • 监控自动恢复

总结

在观测云的助力下,一键部署 Agent,自动采集 Docker 相关的日志、指标等数据, 在平台一键开启监控 Dashboard 和监控器,实时观测容器运行情况,使容器可观测性变的方便、快捷、高效。

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

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

相关文章

气相色谱-质谱联用分析方法中的常用部件,分流平板更换

分流平板,是气相色谱-质谱联用分析方法中的一个常用部件,它可以实现气相色谱柱流与MS检测器流的分离和分流。常见的气质联用仪分流平板有很多种,如单层T型分流平板、双层T型分流平板、螺旋分流平板等等。 操作视频http://www.spcctech.com/v…

易基因: BS+ChIP-seq揭示DNA甲基化调控非编码RNA(VIM-AS1)抑制肿瘤侵袭性|Exp Mol Med

大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。 肝细胞癌(hepatocellular carcinoma,HCC)早期复发仍然是一个具有挑战性的领域,其中涉及的机制尚未完全被理解。尽管微血管侵犯&#xff08…

鸿蒙系统文件管理基础服务的设计背景和设计目标

有一定经验的开发者通常对文件管理相关的api应用或者底层逻辑都比较熟悉,但是关于文件管理服务的设计背景和设计目标可能了解得不那么清楚,本文旨在分享文件管理服务的设计背景及目标,方便广大开发者更好地理解鸿蒙系统文件管理服务。 1 鸿蒙…

如何配置 Java 环境变量:设置 JAVA_HOME 和 PATH

目录 一、什么是 Java 环境变量? 二、配置 Java 环境变量 1. 下载并安装 JDK 2. 配置 JAVA_HOME Windows 系统 Linux / macOS 系统 3. 配置 PATH Windows 系统 Linux / macOS 系统 4. 验证配置 三、常见问题与解决方案 1. 无法识别 java 或 javac 命令 …

Doris 数据库外部表-JDBC 外表,Oracle to Doris

简介 提供了 Doris 通过数据库访问的标准接口 (JDBC) 来访问外部表,外部表省去了繁琐的数据导入工作,让 Doris 可以具有了访问各式数据库的能力,并借助 Doris 本身的 OLAP 的能力来解决外部表的数据分析问题: 支持各种数据源接入…

分布式 IO 模块助力冲压机械臂产线实现智能控制

在当今制造业蓬勃发展的浪潮中,冲压机械臂产线的智能化控制已然成为提升生产效率、保障产品质量以及增强企业竞争力的关键所在。而分布式 IO 模块的应用,正如同为这条产线注入了一股强大的智能动力,开启了全新的高效生产篇章。 传统挑战 冲压…

CSS系列(37)-- Overscroll Behavior详解

前端技术探索系列:CSS Overscroll Behavior详解 📱 致读者:探索滚动交互的艺术 👋 前端开发者们, 今天我们将深入探讨 CSS Overscroll Behavior,这个强大的滚动行为控制特性。 基础概念 🚀 …

深度学习中的并行策略概述:4 Tensor Parallelism

深度学习中的并行策略概述:4 Tensor Parallelism 使用 PyTorch 实现 Tensor Parallelism 。首先定义了一个简单的模型 SimpleModel,它包含两个全连接层。然后,本文使用 torch.distributed.device_mesh 初始化了一个设备网格,这代…

企业销售人员培训系统|Java|SSM|VUE| 前后端分离

【技术栈】 1⃣️:架构: B/S、MVC 2⃣️:系统环境:Windowsh/Mac 3⃣️:开发环境:IDEA、JDK1.8、Maven、Mysql5.7 4⃣️:技术栈:Java、Mysql、SSM、Mybatis-Plus、VUE、jquery,html 5⃣️数据库…

vue 本地自测iframe通讯

使用 postMessage API 来实现跨窗口(跨域)的消息传递。postMessage 允许你安全地发送消息到其他窗口,包括嵌套的 iframe,而不需要担心同源策略的问题。 发送消息(父应用) 1. 父应用:发送消息给…

Linux:code:network:devinet_sysctl_forward;IN_DEV_FORWARD

文章目录 简介sysctl 设置使用,arp_process间接使用IN_DEV_RX_REDIRECTSdev_disable_lro简介 最近在看Linux里的forwarding的功能。顺便在这里总结一下。有些详细代码逻辑,如果可以记录一下,会好一点。 sysctl 设置 这个函数在查看的时候需要注意的问题:变量名起的有点简…

自然语言处理与知识图谱的融合与应用

目录 前言1. 知识图谱与自然语言处理的关系1.1 知识图谱的定义与特点1.2 自然语言处理的核心任务1.3 二者的互补性 2. NLP在知识图谱构建中的应用2.1 信息抽取2.1.1 实体识别2.1.2 关系抽取2.1.3 属性抽取 2.2 知识融合2.3 知识推理 3. NLP与知识图谱融合的实际应用3.1 智能问答…

PHP 数组

PHP 数组 PHP 是一种流行的服务器端编程语言,它提供了强大的数组处理能力。PHP 数组是一种数据结构,用于存储相同类型或不同类型的多个值。在 PHP 中,数组可以分为一维数组、二维数组和多维数组。本文将详细介绍 PHP 数组的各种操作&#xf…

CSS(三)盒子模型

目录 Content Padding Border Margin 盒子模型计算方式 使用 box-sizing 属性控制盒子模型的计算 所有的HTML元素都可以看作像下图这样一个矩形盒子: 这个模型包括了四个区域:content(内容区域)、padding(内边距…

基于NodeMCU的物联网窗帘控制系统设计

最终效果 基于NodeMCU的物联网窗帘控制系统设计 项目介绍 该项目是“物联网实验室监测控制系统设计(仿智能家居)”项目中的“家电控制设计”中的“窗帘控制”子项目,最前者还包括“物联网设计”、“环境监测设计”、“门禁系统设计计”和“小…

有没有免费提取音频的软件?音频编辑软件介绍!

出于工作和生活娱乐等原因,有时候我们需要把音频单独提取出来(比如歌曲伴奏、人声清唱等、乐器独奏等)。要提取音频必须借助音频处理软件,那么有没有免费提取音频的软件呢?下面我们将为大家介绍几款免费软件&#xff0…

WPF自定义窗口 输入验证不生效

WPF自定义窗口 输入验证不生效 WPF ValidationRule 不生效 WPF ValidationRule 不生效 解决方案&#xff1a;在WindowStyle的Template中添加AdornerDecorator标签。 <Style x:Key"WindowStyle1" TargetType"{x:Type Window}"><Setter Property&…

【保姆式】python调用api通过机器人发送文件到飞书指定群聊

当前飞书webhook机器人还不支持发送文件类型的群消息&#xff0c;它目前仅支持文本&#xff0c;富文本&#xff0c;卡片等文字类型的数据。 我们可以申请创建一个机器人应用来实现群发送文件消息。 创建飞书应用 创建飞书应用、配置权限、添加机器人 来到飞书开发者后台 创建…

MySQL-存储过程(头歌数据库实验题)

&#xff08;学校数据库课程的头歌平台实验题&#xff0c;根据自己理解编写&#xff0c;希望对正在学的人有启发作用和借鉴帮助&#xff0c;不喜勿喷&#xff0c;有错请联系改正&#xff09; 实验 存储过程&#xff1a;输入1 任务描述&#xff1a; 本关任务&#xff1a;编写…

GitLab 服务变更提醒:中国大陆、澳门和香港用户停止提供服务(GitLab 服务停止)

目录 前言 一. 变更详情 1. 停止服务区域 2. 邮件通知 3. 新的服务提供商 4. 关键日期 5. 行动建议 二. 迁移指南 三. 注意事项 四. 相关推荐 前言 近期&#xff0c;许多位于中国大陆、澳门和香港的 GitLab 用户收到了一封来自 GitLab 官方的重要通知。根据这封邮件…