

AWS Mainframe Modernization Service （受管執行期環境體驗） 不再向新客戶開放。對於與 AWS Mainframe Modernization Service （受管執行期環境體驗） 類似的功能，探索 AWS Mainframe Modernization Service （自我管理體驗）。現有客戶可以繼續正常使用該服務。如需詳細資訊，請參閱[AWS 大型主機現代化可用性變更](https://docs.aws.amazon.com/m2/latest/userguide/mainframe-modernization-availability-change.html)。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 設定大型主機執行期 （在 Amazon EC2 上） Amazon CloudWatch 警示的 AWS 轉換
<a name="ba-cw-alarms-ec2"></a>

您可以設定 CloudWatch 來接收應用程式日誌，並新增警示來警告您可能發生的錯誤。這可讓您在部署的應用程式遇到例外狀況時，收到更多可見的通知。下列各節可協助您了解和了解 CloudWatch 記錄和警示設定的組態。

## 啟用 CloudWatch 記錄
<a name="ba-cw-log-deploy"></a>

若要啟用 CloudWatch 記錄，請使用下一節提供的組態範本，在組態資料夾中建立`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"/> 元素外的所有內容都是標準日誌傳回組態。此檔案中有兩個附加元件：主控台附加元件將日誌傳送至主控台，以及 CloudWatch 附加元件將日誌傳送至 CloudWatch。

`root` 元素中的 `level` 屬性會指定整個應用程式的記錄層級。

標籤 <appender name="cloudwatch"/> 內的必要值為：
+ <logGroup/>：在 CloudWatch 中設定日誌群組的名稱。如果未指定值，則預設為 `BluAgeRuntimeOnEC2-Logs`。如果日誌群組不存在，則會自動建立日誌群組。此行為可以透過組態進行變更，如下所述。
+ <logStream/>：設定 CloudWatch 中 logStream （日誌群組內部） 的名稱。

選用值：
+ <region/>：覆寫日誌串流將寫入的區域。根據預設，日誌會前往與 EC2 執行個體相同的區域。
+ <layout/>：日誌訊息將使用的模式。
+ <maxbatchsize/>：每個操作要傳送至 CloudWatch 的日誌訊息數量上限。
+ <maxbatchtimemillis/>：允許寫入 CloudWatch 日誌的時間，以毫秒為單位。
+ <maxqueuewaittimemillis/>：嘗試在內部日誌佇列中插入請求的時間，以毫秒為單位。
+ <internalqueuesize/>：內部佇列的大小上限。
+ <createlogdests/>：如果日誌群組不存在，請建立日誌群組和日誌串流。
+ <initialwaittimemillis/>：您希望執行緒在啟動時休眠的時間量。此初始等待允許日誌的初始累積。
+ <maxeventmessagesize/>：日誌事件的大小上限。不會傳送超過此大小的日誌。
+ <truncateeventmessages/>：截斷過長的訊息。
+ <printrejectedevents/>：啟用緊急附加元件。

## 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 日誌，您可以根據您的應用程式和需求，設定不同的指標和警示。具體而言，您可以為用量提醒設定主動警示，以便在發生錯誤時警告您的應用程式處於寬限期 （最後防止其完全運作）。若要達成此目的，您可以在日誌中新增有關 "Error C5001" 字串的指標，這會反白顯示與大型主機控制系統 AWS 的 Transform 連線中的錯誤。然後，您可以定義對此指標做出反應的警示。