

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

# 使用 Amazon CloudWatch Events 監控頻道或多工
<a name="monitoring-via-cloudwatch"></a>

MediaLive 會自動將下列資訊轉換為 CloudWatch Events 中的事件：
+ 回報[頻道或多工的狀態](monitor-activity-types-channel.md)。
+ 頻道執行時產生的[提醒](monitor-activity-types-alerts-channels.md)。

您可以使用 Amazon CloudWatch Events 來管理這些事件。例如，您可以建立事件規則並透過電子郵件或 SMS 訊息傳送事件。您可以將事件傳送到多個目的地。本章說明如何透過 Amazon Simple Notification Service (SNS) 傳遞它們。

如需使用 Amazon CloudWatch Events 管理事件選項的完整資訊，請參閱 [CloudWatch Events 使用者指南](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/WhatIsCloudWatchEvents.html)。

如需使用 Amazon SNS 的完整資訊，請參閱 [SNS 開發人員指南](https://docs.aws.amazon.com/sns/latest/dg/welcome.html)。

請注意，事件會盡最大努力發出。

**Topics**
+ [狀態變更事件的 JSON](monitoring-cloudwatch-json-state-change.md)
+ [警示事件的 JSON](monitoring-cloudwatch-json-alert.md)
+ [選項 1：將所有 MediaLive 事件傳送至電子郵件地址](option-1.md)
+ [選項 2：將特定頻道的事件傳送至電子郵件地址](option-2.md)

# 狀態變更事件的 JSON
<a name="monitoring-cloudwatch-json-state-change"></a>

根據[頻道或多工](monitor-activity-types-channel.md)中狀態變更的事件會由其`detail-type`屬性識別：
+ `MediaLive Channel State Change` 頻道的
+ `MediaLive Multiplex State Change` 適用於多工。

**範例**

以下是狀態變更事件的 JSON 承載範例。請注意第 3 行`detail-type`中的 。

```
{
    "version": "0",
    "id": "fbcbbbe3-2541-d4a3-d819-x39f522a8ce",
    "detail-type": "MediaLive Channel State Change",
    "source": "aws.medialive",
    "account": "111122223333",
    "time": "2023-03-08T18:40:59Z",
    "region": "us-west-2",
    "resources": [
        "arn:aws:medialive:us-west-2:111122223333:channel:283886"
    ],
    "detail": {
        "channel_arn": "arn:aws:medialive:us-west-2:111122223333:channel:123456",
        "state": "DELETED",
        "message": "Deleted channel",
        "pipelines_running_count": 0
    }
}
```

# 警示事件的 JSON
<a name="monitoring-cloudwatch-json-alert"></a>

以[警示](monitor-activity-types-alerts-channels.md)為基礎的事件由其`detail-type`屬性識別：
+ `MediaLive Channel Alert` 適用於頻道的
+ `MediaLive Multiplex Alert` 適用於多工。

**範例**

以下是提醒事件的 JSON 承載範例。請注意第 3 行`detail-type`中的 。

```
{
    "version": "0",
    "id": "154769fb-9f7c-32a1-6822-26fppppe5a58",
    "detail-type": "MediaLive Channel Alert",
    "source": "aws.medialive",
    "account": "111122223333",
    "time": "2023-03-08T18:14:25Z",
    "region": "us-west-2",
    "resources": [
        "arn:aws:medialive:us-west-2:111122223333:channel:123456"
    ],
    "detail": {
        "alarm_state": "CLEARED",
        "alarm_id": "7ad616bd389832yue90aab1324bffab5b834a",
        "alert_type": "Failed to Create Output File or Socket",
        "pipeline": "0",
        "channel_arn": "arn:aws:medialive:us-west-2:111122223333:channel:123456",
        "message": "MPEGTS muxer for mediaID [1] unable to open output or stream [https://<path>]."
    }
}
```

# 選項 1：將所有 MediaLive 事件傳送至電子郵件地址
<a name="option-1"></a>

此選項顯示如何設定將所有事件傳送到單一電子郵件地址。此設定的缺點是電子郵件帳戶會收到大量電子郵件。因此，建議您不要在生產環境中使用此設定。

您必須在頻道或多工執行的每個區域中執行以下程序。

## 建立訂閱
<a name="option-1-1"></a>

建立訂閱以設定特定電子郵件地址，以便在 MediaLive 中發生任何事件時自動接收電子郵件通知。您必須為電子郵件識別電子郵件收件人。

在下列程序中，我們使用範例「MediaLive\$1alert」做為主旨行，「MediaLive」則為寄件者。我們會使用 Amazon Simple Notification Service (Amazon SNS) 主控台建立訂閱。

**建立電子郵件通知的訂閱 (Amazon SNS 主控台）**

1. 登入 AWS 管理主控台 並開啟位於 https：//[https://console.aws.amazon.com/sns/v2/home](https://console.aws.amazon.com/sns/v2/home) 的 Amazon SNS 主控台。

1. 在導覽面版中選擇 **Topics** (主題)，然後選擇 **Create new topic** (建立新主題)。

1. 在 **Create new topic (建立新主題)** 對話方塊中，於 **Topic name (主題名稱)** 輸入您要的電子郵件主旨行名稱，例如 **MediaLive\$1alert**。

1. 在 **Display name (顯示名稱)** 中，輸入電子郵件寄件者的名稱，例如 **MediaLive**。

1. 請選擇**建立主題**。

1. Amazon SNS 會建立主題，並在主題清單中顯示 ARN。例如，， `arn:aws:sns:us-west-2:111122223333:MediaLive`，其中 `111122223333`是您的帳戶 AWS 。

1. 將此 ARN 複製到剪貼簿。

1. 在導覽窗格中選擇 **Subscriptions (訂閱)**，然後選擇 **Create subscription (建立訂閱)**。

1. 在**訂閱**頁面，選擇**建立訂閱**。

1. 在 **Create subscription (建立訂閱)** 對話方塊中，針對 **Topic ARN (主題 ARN)**，輸入或貼上 ARN。

1. 對於**通訊協定**，選擇**電子郵件**。

1. 請在 **Endpoint (端點)** 輸入收件人的電子郵件地址。您必須能夠登入此電子郵件帳戶，因為 Amazon SNS 會傳送確認電子郵件到此地址。

1. 選擇**建立訂閱**。

   Amazon SNS 會將確認電子郵件傳送至您指定的地址。

1. 登入該電子郵件帳戶，並顯示電子郵件。選擇電子郵件中的「Confirm subscription」(確認訂閱) 連結，啟用訂閱。會在 Web 瀏覽器中顯示確認視窗。您可以關閉此視窗。

## 建立規則
<a name="option-1-2"></a>

您現在在 Amazon CloudWatch 中建立規則，其中指出「當 CloudWatch 從 接收任何事件時`aws.medialive`， 會叫用指定的 SNS 主題。」 換言之，您會建立一個規則，以傳送電子郵件給訂閱的電子郵件地址。

**建立規則 (Amazon CloudWatch 主控台）**

1. 登入 AWS 管理主控台 ，並在 https：//[https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) 開啟 CloudWatch 主控台。

1. 在導覽窗格中，選擇 **Events (事件)**。

1. 在 **Welcome to CloudWatch Events (歡迎使用 CloudWatch 事件)** 頁面上，選擇 **Create rule (建立規則)**。

1. 在 **Step 1 (步驟 1)** 頁面上的 **Event Source (事件來源)** 中，選擇 **Event Pattern (事件模式)**。

1. 將 **Build event pattern to match (建置事件模式以符合)** 變更為 **Custom event pattern (自訂事件模式)**。

1. 在方塊中輸入下列內容：

   ```
   {
     "source": [
       "aws.medialive"
     ]
   }
   ```

1. 在右側面板上選擇 **Add target (新增目標)**。

1. 選擇 **SNS topic (SNS 主題)**。

1. 請在 **Topic (主題)** 選擇您建立的主題，例如，**MediaLive\$1alert**。

1. 在 **Configure input (設定輸入)** 中，選擇 **Matched event (相符的事件)**。

1. 選擇**設定詳細資訊**。

1. 輸入名稱和選擇性描述，然後選擇 **Create rule (建立規則)**。

現在，每當 MediaLive 中發生警示時，事件就會傳送至 Amazon CloudWatch。此事件將觸發 規則，指示 CloudWatch 傳送電子郵件到您在 SNS 訂閱中指定的電子郵件地址。

# 選項 2：將特定頻道的事件傳送至電子郵件地址
<a name="option-2"></a>

您可以設定規則以將一或多個頻道或多工的所有事件傳送到一個電子郵件地址。您必須在頻道或多工執行的每個區域中執行此設定。

您可視需要建立任意數量的訂閱和規則組合。依照[選項 1](option-1.md) 的步驟進行，除了以下差別：
+ 在建立 SNS 訂閱時，您可能會想對該主題新增更多詳細資訊 (例如，**MediaLive\$1notifications\$1channel\$11234567**)。
+ 建立 CloudWatch 規則時，您會建立事件模式，將 識別`aws.medialive`為事件來源，並將特定頻道或多工的 ARN 識別為該事件來源中的資源。例如，針對頻道，請建立此模式：

  ```
  {
    "source": [
      "aws.medialive"
    ],
    "resources": [
      "arn:aws:medialive:us-west-2:111122223333:channel:1234567"
    ] 
  }
  ```

資源是頻道或多工的 ARN。您可以從 MediaLive 主控台上的頻道清單或多工清單取得此 ARN。

此範例中的規則顯示：「當 CloudWatch 為頻道 `1234567` 從 `aws.medialive` 接收任何事件時，呼叫指定的 SNS 主題」。換言之，該規則會觸發電子郵件傳送給訂閱的電子郵件地址。

您可以選擇在資源區段中包含多個頻道或多工，如下列範例所示：

```
  "resources": [
    "arn:aws:medialive:us-west-2:111122223333:channel:1234567",
    "arn:aws:medialive:us-west-2:111122223333:channel:2223334"
  ]
```