服务器宕机不再愁!Docker 内置功能帮您解决

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 在过去十年中,随着微服务和高度可扩展系统的普及,导致在网络上大量分布的应用程序的复杂性整体增加,从而使应用程序存在着许多迁移时产生的和一些潜在的故障模式。

screenshot

出品丨Docker公司(ID:docker-cn)
编译丨小东
每周一、三、五晚6点10分 与您不见不散!


在过去十年中,随着微服务和高度可扩展系统的普及,导致在网络上大量分布的应用程序的复杂性整体增加,从而使应用程序存在着许多迁移时产生的和一些潜在的故障模式。

这种架构的演变已经改变了监控的需求,这使得我们需要拥有更具扩展性和洞察力的工具和实践,在问题影响到业务和最终用户(内部或外部)之前,更好的帮助我们识别、调试和解决系统中的问题。

screenshot

我在 DockerCon 2018 大会上分享了一个 Docker EE 中的重要功能,该功能可以使运营商更轻松地监控其容器平台环境。同时还为大家带来一些关键性指标和最佳实践,以便在故障发生前对问题进行分类和修复。


监控方法

最著名的早期监控技术之一是来自 Netflix 公司的 Brendan Gregg 的 USE 模型。USE 指的是对于全部资源我们应该监控其利用率(服务工作所花费的时间)、饱和度(资源的使用程度)以及错误(错误事件数)。该模型更多适用于以硬件/节点为中心的指标,但应对基于网络的应用程序就需要对该模型进行调整。

对于以网络为导向的云原生应用程序,其最流行的模型之一是 Google SRE 手册中提到的“4 Golden Signals”(延迟,流量,错误和饱和度)。这些监控方法在应用程序和平台级别上很有用,但仍然缺乏对复杂方案和故障进行分类所需的一些细节。


应用程序和平台的可观察性

可观察性比简单的指标更进一步,是衡量我们通过审查其产出来推断系统状态的方法。可观察性包括监控、记录(事件)、跟踪和警报,来构建系统状态的完整图像。为了使我们的应用程序“可观察”,对它们进行检测非常重要,这样我们就可以提取关键信息并对其进行分析。近年来,DataDog、Instana、Prometheus、Sumo Logic等公司在这一领域进行了工具复兴来满足这些领域对高级功能日益增长的需求。


Docker EE 的可观察性

Docker EE 内置了许多功能,可以更轻松地进行监控和度量标准指标。例如非常好用的运行状况检查、引擎指标和日志记录功能:

运行状况检查:运行状况检查功能内置于 Dockerfile 规范中,允许用户针对其应用程序进行编写监控检查。这些信息通过引擎和 Docker EE web 管理 UI 来报告。Docker EE 会自动安排运行状况检查失败的工作负载。

引擎指标:Docker EE 公开了一个端点,该端点发出 Prometheus 格式的指标数据,以便轻松集成到监控工具中。有数百个单独的指标可用,包括关于构建的数据、群体状态(用于检测领导者何时宕机、法定人数减少等)、守护程序事件(例如网络创建)等等。

日志记录:Docker EE 内置了对许多不同日志记录驱动程序的支持,包括使用元数据标记服务的功能,以便在将日志发送到聚合器后使查询更容易。


我们的实践经历

我们的基础设施团队在云计算平台上运行 Docker Hub&Store,并在该平台上看到令人难以置信的流量,每两周就会有超过10亿的镜像。下图是我们生产环境中的一些统计数据:

screenshot

这一切都在 Docker EE 上运行,同时利用了上文提及的许多工具和技术。


您可以在这里看完整的演讲视频:

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
22天前
|
存储 Linux Docker
docker在欧拉服务器上编译安装应该注意什么?如何操作?
【10月更文挑战第31天】docker在欧拉服务器上编译安装应该注意什么?如何操作?
50 2
|
28天前
|
NoSQL 应用服务中间件 PHP
布谷一对一直播源码服务器环境配置及app功能
一对一直播源码阿里云服务器环境配置及要求
|
2月前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
279 3
|
2月前
|
弹性计算 数据库连接 Nacos
阿里云ECS服务器在docker中部署nacos
docker pull nacos 失败,docker部署nacos遇到的问题,nacos数据库连接,nacos端口映射
115 1
|
2月前
|
前端开发 Docker 容器
主机host服务器和Docker容器之间的文件互传方法汇总
Docker 成为前端工具,可实现跨设备兼容。本文介绍主机与 Docker 容器/镜像间文件传输的三种方法:1. 构建镜像时使用 `COPY` 或 `ADD` 指令;2. 启动容器时使用 `-v` 挂载卷;3. 运行时使用 `docker cp` 命令。每种方法适用于不同场景,如静态文件打包、开发时文件同步及临时文件传输。注意权限问题、容器停止后的文件传输及性能影响。
203 0
|
2月前
|
域名解析 弹性计算 缓存
阿里云国际云服务器全局流量分析功能详细介绍
阿里云国际云服务器全局流量分析功能详细介绍
|
关系型数据库 开发工具 git
docker中建立私有git服务器[gitlab]
现在使用git的很普遍,在开发内部如何建立个git服务器,本文以gitlab为例,让你分分钟就可以搭好一个环境【docker的威力非同一般】 首先在docker.com找到gitlab的下载源和信息,如下: https://registry.
1677 0
|
1天前
|
存储 缓存 监控
Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
本文介绍了Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
16 6
|
1天前
|
存储 Prometheus 监控
Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行
本文深入探讨了在Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行。
12 5
|
22小时前
|
监控 Docker 容器
在Docker容器中运行打包好的应用程序
在Docker容器中运行打包好的应用程序