服务器宕机不再愁!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 上运行,同时利用了上文提及的许多工具和技术。


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

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
5月前
|
存储 测试技术 数据安全/隐私保护
【Docker项目实战】使用Docker部署dufs文件服务器
【Docker项目实战】使用Docker部署dufs文件服务器
724 17
【Docker项目实战】使用Docker部署dufs文件服务器
|
4月前
|
Ubuntu 网络安全 PHP
如何使用vscode的Docker插件管理ubuntu 拉取服务器的镜像以及创建容器
本测试镜像旨在记录使用vscode的Docker插件拉取病创建Dockerfile,以及拉取镜像。
|
5月前
|
弹性计算 关系型数据库 Nacos
低配阿里云 ECS 如何 docker 环境部署 NACOS : 单机版模式
NACOS 单机版 Docker 安装指南。使用指定端口和 custom.env 配置文件启动 Nacos 服务,适用于 2.X 版本,包含 gRPC 支持及 MySQL 数据源配置。 -e MODE=standalone \
420 5
|
6月前
|
Ubuntu 安全 数据安全/隐私保护
在Docker容器中部署GitLab服务器的步骤(面向Ubuntu 16.04)
现在,你已经成功地在Docker上部署了GitLab。这就是我们在星际中的壮举,轻松如同土豆一样简单!星际旅行结束,靠岸,打开舱门,迎接全新的代码时代。Prepare to code, astronaut!
463 12
|
5月前
|
云安全 弹性计算 安全
阿里云服务器安全功能解析:基础防护与云安全产品参考
在使用云服务器的过程中,云服务器的安全问题是很多用户非常关心的问题。阿里云服务器除了提供基础的防护之外,还提供了一系列安全防护类云产品,以确保用户云服务器的安全。本文将详细介绍阿里云服务器的基础安全防护有哪些,以及阿里云的一些安全防护类云产品,帮助用户更好地理解和使用阿里云服务器的安全功能。
|
8月前
|
关系型数据库 MySQL Linux
在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾
以上就是在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾的步骤。这个过程就像是一场接力赛,数据从MySQL数据库中接力棒一样传递到备份文件,再从备份文件传递到其他服务器,最后再传递回MySQL数据库。这样,即使在灾难发生时,我们也可以快速恢复数据,保证业务的正常运行。
364 28
|
Kubernetes 前端开发 Java
使用Docker将服务部署到阿里云的服务器上
利用一个简单的前后端分离项目来介绍Docker在部署过程中的使用。
3355 0