为大型机运行时设置 AWS Transform(在 Amazon EC2 上)Amaz CloudWatch on 警报 - AWS 大型机现代化

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 转换控制系统连接中的错误。然后,您可以定义一个对此指标做出反应的警报。