設定大型主機執行期 (在 Amazon EC2 上) Amazon CloudWatch 警示的 AWS 轉換 - AWS 大型主機現代化

AWS Mainframe Modernization Service (受管執行期環境體驗) 不再向新客戶開放。對於與 AWS Mainframe Modernization Service (受管執行期環境體驗) 類似的功能,探索 AWS Mainframe Modernization Service (自我管理體驗)。現有客戶可以繼續正常使用該服務。如需詳細資訊,請參閱AWS 大型主機現代化可用性變更

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

設定大型主機執行期 (在 Amazon EC2 上) Amazon CloudWatch 警示的 AWS 轉換

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

啟用 CloudWatch 記錄

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

為了讓上述組態正確將日誌推送至 CloudWatch,請更新您的 Amazon EC2 IAM 執行個體描述檔角色,以授予 `BluAgeRuntimeOnEC2-Logs` 日誌群組及其日誌串流的額外許可:

  • logs:CreateLogStream

  • logs:DescribeLogStreams

  • logs:CreateLogGroup

  • logs:PutLogEvents

  • logs:DescribeLogGroups

警示設定

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