使用 AWS CloudFormation 控制台监视 AWS CloudFormation 堆栈的状态,并检测堆栈创建是否失败。ArcGIS for Server Web GIS 模板同时还会创建日志,系统会将这些日志复制到 CloudWatch 日志组中,以帮助您解决相关问题。
CloudFormation 控制台事件选项卡
登录到 AWS CloudFormation 控制台(该控制台为 AWS 管理控制台的组成部分),然后打开事件选项卡,以查找有关堆栈创建、更新和删除的信息。如果堆栈创建失败,您可通过事件选项卡的相关信息大概了解出错的环节。
CloudWatch 日志组
Esri 示例 CloudFormation 模板会创建 一个 CloudWatch 日志组,系统将以下日志文件从 EC2 实例中复制到该日志组中:
EC2 实例类型 | EC2 实例的日志文件和位置 | 日志文件描述 |
---|---|---|
Ubuntu | /var/log/cfn-init.log | 用于检索和解释资源元数据、安装包、创建文件和启动服务的 CloudFormation 帮助器脚本的日志文件 |
/var/log/chef-run.log | Chef 配置管理工具日志文件 | |
/var/lib/tomcat7/logs/catalina.out | Apache Tomcat 应用程序服务器日志文件 | |
Windows | C:\cfn\log\cfn-init.log | 用于检索和解释资源元数据、安装包、创建文件和启动服务的 CloudFormation 帮助器脚本的日志文件 |
C:\chef\chef-run.log | Chef 配置管理工具日志文件 |
注:
诸如 GovCloud 和中国等一些 AWS 区域并未实施登录。您无法从 AWS 管理控制台看到上述区域的日志消息,但您仍然能够检查有关该实例的日志文件。
CloudWatch 日志组中包含日志流,其中包括带有日志文件名的实例 ID。您可由此识别日志文件相关的 EC2 实例。例如,i-c8244b6f/chef-run.log 的日志流即表示 EC2 实例 i-c8244b6f 的 Chef 配置管理工具日志文件。
如果 CloudFormation 堆栈创建成功,则堆栈输出参数会提供一个到 AWS 管理控制台中日志组的链接。如果堆栈创建失败,则请转至 AWS 管理控制台中的 CloudFormation 资源列表,以查找日志组。请注意,如果在启动任何实例之前堆栈创建失败,则系统可能不会创建日志组。
默认情况下,如果堆栈创建失败,则 AWS 会删除 CloudWatch 日志组。为防止发生这种情况,进而为您提供解决堆栈创建失败问题所需的日志文件,Esri 示例 CloudFormation 模板更改了此设置,以防系统删除 CloudWatch 日志组。但是,这意味着您需在不再需要 CloudWatch 日志组时将其清除。
错误消息
下文给出了利用日志文件中可能出现的某些错误消息来解决堆栈创建失败问题的一些提示:
- 如果 cfn-init.log 中出现以下消息:构建配置过程中出错:检索 https:// .s3.amazonaws.com/ 失败,请确保部署 S3 存储段名称正确,授权文件的 S3 对象关键名称和 SSL 证书均正确无误。
- 如果 Ubuntu 上的 catalina.out 日志文件中出现以下消息:无法连接至 WebAdaptor URL:https://agsportalssl.esri.com/server/webadaptor,请确保部署 S3 存储段的 SSL 证书有效,且证书为 PKCS 12 格式。同时请确保所提供的 SSL 证书密码正确。
- 如果 Windows 上的 chef-run.log 中出现以下消息:OpenSSL::PKCS12::PKCS12Error: PKCS12_parse: mac 验证失败,请确保部署 S3 存储段的 SSL 证书有效,且证书为 PKCS 12 格式。同时请确保所提供的 SSL 证书密码正确。