AWS 大型机现代化服务(托管运行时环境体验)不再向新客户开放。有关类似于 AWS 大型机现代化服务(托管运行时环境体验)的功能,请浏览 AWS 大型机现代化服务(自我管理体验)。现有客户可以继续正常使用该服务。有关更多信息,请参阅AWS 大型机现代化可用性变更。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
为大型机运行时设置 AWS Transform(在 Amazon EC2 上)Amaz CloudWatch on 警报
您可以设置 CloudWatch 为接收应用程序日志,并添加警报以警告您可能出现的错误。这样,在部署的应用程序遇到异常时,您就可以收到更多可见的通知。以下各节可帮助您了解和了解 CloudWatch 日志和警报设置的配置。
启用 CloudWatch 日志记录
要启用 CloudWatch 日志记录,请使用下一节中提供的配置模板在 config 文件夹中创建一个logback-cloudwatch.xml文件。然后,通过取消注释以下几行来引用application-main.yml文件中的此文件:
# logging: # config: classpath:logback-cloudwatch.xml
取消注释这些行后,将激活 CloudWatch 日志记录,并且可以按照以下各节中的说明进行进一步配置。
CloudWatch 日志配置
使用以下模板创建logback-cloudwatch.xml文件:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration> <configuration> <appender name="console" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%date{yyyy-MM-dd HH:mm:ss.SSS,UTC} %level --- [%thread{15}] %logger{40} : %msg%n%xThrowable</pattern> </encoder> </appender> <appender name="cloudwatch" class="com.netfective.bluage.runtime.cloudwatchlogger.CloudWatchAppender"> <logGroup>BluAgeRuntimeOnEC2-Logs</logGroup> <logStream>%date{yyyy-MM-dd,UTC}.%instanceId.%uuid</logStream> <layout> <pattern>%date{yyyy-MM-dd HH:mm:ss.SSS,UTC} %level --- [%thread{15}] %logger{40} : %msg%n%xThrowable</pattern> </layout> <appender-ref ref="console" /> </appender> <root level="INFO"> <appender-ref ref="cloudwatch" /> </root> </configuration>
<appender name="cloudwatch"/> 元素之外的所有内容均为标准 logback 配置。此文件中有两个附加程序:用于向控制台发送日志的控制台附加程序和用于向其发送日志的 CloudWatch 附加程序。 CloudWatch
root 元素中的 level 属性指定了整个应用程序的日志记录级别。
标签 <appender name="cloudwatch"/> 中的必需值包括:
-
<logGroup/>:在中设置日志组的 CloudWatch名称。如果未指定,则默认值为
BluAgeRuntimeOnEC2-Logs。如果日志组不存在,系统将自动创建。可以通过配置来更改此行为,具体内容将在下文中介绍。 -
<logStream/>:在中设置日志流(在日志组内)的名称。 CloudWatch
可选值:
-
<region/>:覆盖将写入日志流的区域。默认情况下,日志会被写入 EC2 实例所在区域。
-
<layout/>:日志消息将使用的模式。
-
<maxbatchsize/>:每个操作要发送到的最大日志消息 CloudWatch 数。
-
<maxbatchtimemillis/>:允许写入 CloudWatch 日志的时间(以毫秒为单位)。
-
<maxqueuewaittimemillis/>:尝试在内部日志队列中插入请求的时间(以毫秒为单位)。
-
<internalqueuesize/>:内部队列的最大大小。
-
<createlogdests/>:创建日志组和日志流(如果不存在)。
-
<initialwaittimemillis/>: 您希望线程在启动时处于睡眠状态的时间。该初始等待时间允许日志的初始累积。
-
<maxeventmessagesize/>:日志事件的最大大小。超过此大小的日志将不会被发送。
-
<truncateeventmessages/>:截断过长的消息。
-
<printrejectedevents/>:启用紧急 Appender。
CloudWatch 设置
为了使上述配置能够正确推送日志 CloudWatch,请更新您的 Amazon EC2 IAM 实例配置文件角色,以授予其对 `BluAgeRuntimeOnEC2-Logs` 日志组及其日志流的额外权限:
-
logs:CreateLogStream -
logs:DescribeLogStreams -
logs:CreateLogGroup -
logs:PutLogEvents -
logs:DescribeLogGroups
警报设置
借助 CloudWatch 日志,您可以根据应用程序和需求配置不同的指标和警报。具体而言,您可以为使用情况设置主动警报,以便在出现可能使您的应用程序处于宽限期(最终使其完全无法运行)的错误时收到警告。为此,您可以在日志中添加一个有关 “错误 C5001” 字符串的指标,该指标突出显示了与大型机 AWS 转换控制系统连接中的错误。然后,您可以定义一个对此指标做出反应的警报。