[英]MediaLive (AWS) how to view channel alerts from php SDK
我已經設置了一個連接到 AWS MediaLive 以進行流式傳輸的 Laravel 項目。
一切正常,我可以流式傳輸,但我找不到一種方法來查看正在運行的頻道是否有任何人連接到它。
我希望能夠查看正在運行的頻道是否有任何人通過 php SDK 連接到它。
我嘗試查看文檔,但我能找到的最接近的是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 日志。
關於您的清單:
----->正確。
----->警報消息直接發送到 SNS 主題,並將回顯到您的 CloudWatch 日志中。 請參閱: https ://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html
或者,您可以在一個查詢相同 MediaPackage 指標 (EgressRequestCount)、評估響應並采取是/否操作 WRT 關閉指定通道的 lambda 函數中執行所有操作。 可以安排此 lambda 函數每 5 分鍾以重復方式運行一次,以達到所需的結果。 這種方法實施起來會更簡單,但范圍僅限於編碼到 Lambda 函數中的指標和操作。 Channel Alert->SNS->LAMBDA 方法將允許您根據命中 SNS 主題(隊列)的任何一個警報采取多項操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.