

AWS 大型机现代化服务（托管运行时环境体验）不再向新客户开放。有关类似于 AWS 大型机现代化服务（托管运行时环境体验）的功能，请浏览 AWS 大型机现代化服务（自我管理体验）。现有客户可以继续正常使用该服务。有关更多信息，请参阅[AWS 大型机现代化可用性变更](https://docs.aws.amazon.com/m2/latest/userguide/mainframe-modernization-availability-change.html)。

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 为大型机运行时设置 AWS Transform（在 Amazon EC2 上）Amaz CloudWatch on 警报
<a name="ba-cw-alarms-ec2"></a>

您可以设置 CloudWatch 为接收应用程序日志，并添加警报以警告您可能出现的错误。这样，在部署的应用程序遇到异常时，您就可以收到更多可见的通知。以下各节可帮助您了解和了解 CloudWatch 日志和警报设置的配置。

## 启用 CloudWatch 日志记录
<a name="ba-cw-log-deploy"></a>

要启用 CloudWatch 日志记录，请使用下一节中提供的配置模板在 config 文件夹中创建一个`logback-cloudwatch.xml`文件。然后，通过取消注释以下几行来引用`application-main.yml`文件中的此文件：

```
# logging:
#  config: classpath:logback-cloudwatch.xml
```

 取消注释这些行后，将激活 CloudWatch 日志记录，并且可以按照以下各节中的说明进行进一步配置。

## CloudWatch 日志配置
<a name="config-cw-log"></a>

使用以下模板创建`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 设置
<a name="cw-setup"></a>

为了使上述配置能够正确推送日志 CloudWatch，请更新您的 Amazon EC2 IAM 实例配置文件角色，以授予其对 `BluAgeRuntimeOnEC2-Logs` 日志组及其日志流的额外权限：
+ `logs:CreateLogStream`
+ `logs:DescribeLogStreams`
+ `logs:CreateLogGroup`
+ `logs:PutLogEvents`
+ `logs:DescribeLogGroups`

## 警报设置
<a name="alarm-setup"></a>

借助 CloudWatch 日志，您可以根据应用程序和需求配置不同的指标和警报。具体而言，您可以为使用情况设置主动警报，以便在出现可能使您的应用程序处于宽限期（最终使其完全无法运行）的错误时收到警告。为此，您可以在日志中添加一个有关 “错误 C5001” 字符串的指标，该指标突出显示了与大型机 AWS 转换控制系统连接中的错误。然后，您可以定义一个对此指标做出反应的警报。