簡體   English   中英

MediaLive (AWS) 如何從 php SDK 查看頻道警報

[英]MediaLive (AWS) how to view channel alerts from php SDK

問題

我已經設置了一個連接到 AWS MediaLive 以進行流式傳輸的 Laravel 項目。
一切正常,我可以流式傳輸,但我找不到一種方法來查看正在運行的頻道是否有任何人連接到它。

我需要的

我希望能夠查看正在運行的頻道是否有任何人通過 php SDK 連接到它。

為什么

  1. 我只想在有人連接到它的情況下在用戶端顯示一個流。
  2. 我想停止一個沒有人連接的頻道太久(比如一個小時?)

其他

我嘗試查看文檔,但我能找到的最接近的是DescribeChannel命令。
但是,這不會返回有關警報的任何信息。 我還嘗試比較了當有人連接和沒有人連接時DescribeChannel的輸出,但沒有區別
在 AWS 站點上,我可以在頻道頁面上看到警報,但我找不到如何從我的 laravel 應用程序中查看警報。
在此處輸入圖像描述

更新

我嘗試從 SDK 運行這些:

CloudWatch->DescribeAlarms();
CloudWatchLogs->GetLogEvents(['logGroupName'=>'ElementalMediaLive', 'logStreamName'=>'channel-log-stream-name']);

但在我看來,在沒有任何人連接的情況下頻道開始運行后,他們的輸出並沒有改變。
我繼續使用控制台的 CloudWatch,它是一樣的。
我是否需要先設置出口點才能在此處顯示警報?

我查看了 SNS 主題和 lambda 函數,但它們似乎用於發送消息和通知? 我也可以使用它來停止/刪除已斷開一個多小時的頻道嗎? 有沒有可以幫助我的文檔?

我正在使用 AWS MediaStore,但我猜我可以像 AWS MediaPackage 一樣做嗎? 閾值如何告訴我是否以及多久沒有人連接到 MediaLive 頻道?

全面的

在文檔中到處查看之后,我假設我必須:

1. set up a metric alarm that detects when a channel had no input for over an hour
2. Send the alarm message to the CloudWatchLogs
3. retrieve the alarm message from the SDK and/or the SNS Topic
4. stop/delete the channel that sent the alarm message 

我理解正確嗎?

謝謝你的帖子。

通道警報將進入您的 AWS CloudWatch 日志。 您可以使用“aws cloudwatch describe-alarms”形式的命令從 SDK 或 CLI 輪詢這些警報。 可以使用“aws logs get-log-events”形式的命令檢索相關日志事件。

您還可以配置 CloudWatch 規則以將選定的服務警報傳播到 SNS 主題,該主題可由包括 Lambda 函數在內的各種客戶端輪詢,然后可以代表您執行各種操作。 這種方法可以很好地聚合來自多個渠道或服務的警報。

使用 2xx Egress Request Count 指標可以測量 MediaPackage 端點的連接會話。 您可以為此指標設置指標警報,以便當其值低於給定閾值時,警報消息將發送到上述 CloudWatch 日志。

關於您的清單:

  1. 設置一個指標警報,檢測通道何時超過一個小時沒有輸入

----->正確。

  1. 將警報消息發送到 CloudWatchLogs

----->警報消息直接發送到 SNS 主題,並將回顯到您的 CloudWatch 日志中。 請參閱: https ://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html

  1. 需要創建一個 Lambda Fn 來處理到達上述 SNS 主題(隊列)的新條目,並采取所需的操作。 此 Lambda Fn 可以發送 API 或 CLI 調用以停止/刪除發送警報消息的通道。 您還可以從 SNS 主題(隊列)觸發電子郵件警報或其他操作; 參考https://docs.aws.amazon.com/sns/latest/dg/sns-common-scenarios.html

或者,您可以在一個查詢相同 MediaPackage 指標 (EgressRequestCount)、評估響應並采取是/否操作 WRT 關閉指定通道的 lambda 函數中執行所有操作。 可以安排此 lambda 函數每 5 分鍾以重復方式運行一次,以達到所需的結果。 這種方法實施起來會更簡單,但范圍僅限於編碼到 Lambda 函數中的指標和操作。 Channel Alert->SNS->LAMBDA 方法將允許您根據命中 SNS 主題(隊列)的任何一個警報采取多項操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM