生产环境中应用的监控、故障排查及云部署指南
1. 生产环境应用监控与故障排查
在生产环境中,监控和排查应用故障是保障系统稳定运行的关键环节。
1.1 Prometheus监控微服务
Prometheus是监控微服务的理想选择。我们只需暴露一个指标端口,无需增加过多复杂性或运行额外服务。Prometheus会定期抓取配置的目标,服务无需担心指标的发送。
1.2 生产环境服务故障排查
为了降低安全风险和提高系统性能,生产环境通常使用最小化镜像,不包含调试和故障排查工具。但当应用服务出现意外行为甚至崩溃时,仅依靠日志可能无法找到问题根源,需要在集群节点上进行排查。
直接SSH到集群节点运行诊断工具不可行,因为节点运行的是最小化Linux发行版,未安装相关工具。让开发人员直接访问生产集群节点也存在安全风险,只有少数集群管理员应具备此权限。
更好的解决方案是让集群管理员为开发人员运行一个堡垒容器(bastion container)。这个容器安装了定位应用服务中bug根源所需的所有工具,还可以在主机的网络命名空间中运行,从而完全访问容器主机的所有网络流量。
1.3 netshoot容器
前Docker员工Nicola Kabar创建了一个名为 nicolaka/netshoot 的便捷Docker镜像,Docker的现场工程师经常使用它来排查在Kubernetes或Docker Swarm上运行的生产应用。我们为本书创建了该镜像的副本,可在 fundamentalsofdocker/netshoot
超级会员免费看
订阅专栏 解锁全文
875

被折叠的 条评论
为什么被折叠?



