当前位置: 首页 > article >正文

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.kler.cn/a/455459.html

相关文章:

  • 【Android】application@label 属性属性冲突报错
  • QML学习(五) 做出第一个简单的应用程序
  • 打破视障壁垒,百度文心快码无障碍版本助力视障IT从业者就业无“碍”
  • Windows配置cuda,并安装配置Pytorch-GPU版本
  • pikachu靶场搭建详细步骤
  • 【QED】等式构造
  • LeetCode-两数之和(001)
  • mysql索引的理解
  • LLM预训练recipe — 摘要版
  • 【视频】将yuv420p的一帧数据写入文件
  • ESP8266与阿里云物联网平台连接
  • 电商会员门店消费数据分析
  • 自定义 Element Plus 树状表格图标
  • “declarative data-parallel operators“与“MapReduce”
  • 【网络分析工具】WireShark的使用(超详细)
  • 华为IoTDA 智慧路灯设备SDK与平台通信C 流程bug解决
  • Android Java 版本的 MSAA OpenGL ES 多重采样
  • AndroidStudio Ladybug中编译完成apk之后定制名字kts复制到指定目录
  • SpringCloudAlibaba升级手册-nacos问题记录
  • C# Winform简单的俄罗斯方块小游戏源码2
  • 深入理解Composer自动加载机制
  • Linux服务器pm2 运行chatgpt-on-wechat,搭建微信群ai机器人
  • 云图库平台(三)——后端用户模块开发
  • 查看php已安装扩展命令
  • 《CS2》报错dxgi.dll缺失怎么办?《CS2》游戏提示dxgi.dll缺失要怎么解决?
  • SpringBoot3——核心原理