使用亞馬遜雲科技Amazon SNS&SQS實現Amazon CloudWatch持續報警
Amazon CloudWatch可實時監控您的亞馬遜雲科技資源以及您在亞馬遜雲科技上執行的應用程式。您可以使用CloudWatch收集和跟蹤指標,這些指標是您可衡量的相關資源和應用程式的變數。您可以建立警報,利用這些警報監視指標,當超出閾值時,它們會傳送通知或者對您所監控的資源自動進行更改。例如,您可以監控您的Amazon EC2例項的CPU使用率以及磁碟讀寫情況,然後使用此資料確定您是否應啟動其它例項來處理增加的負載。您還可以使用此資料停止未完全利用的例項以節省開支。
但是,Amazon CloudWatch Alarm僅會在警報從【正常】狀態轉變為【告警】狀態時觸發一次警報。此後,即使警報仍然處於【告警】狀態,也不會有新的通知產生。如何基於Amazon SNS和Amazon SQS,在警報被觸發後按照一定的時間頻率來重複報警,實現持續報警的效果,確保您及時知曉系統中的問題。
本方案主要會使用到以下服務:
-
Amazon CloudWatch
-
Amazon SNS
-
Amazon SQS
-
Amazon Lambda
首先,建立Amazon CloudWatch Alarm,當警報觸發時,配置將警報資訊傳送至Amazon SNS,實際上告警操作型別除了Amazon SNS以外,還支援Amazon EC2操作,擴充套件Auto Scaling組以及Amazon Systems Manager中的一些操作。這裡使用Amazon SNS,主要是為了後續串聯Amazon SQS。
接著,為Amazon SNS配置型別為Amazon SQS的訂閱,這樣便可將警報資訊傳輸至Amazon SQS。
最後,將Amazon SQS配置為Amazon Lambda的觸發器,這樣當警報資訊傳輸至Amazon SQS時,就會觸發Amazon Lambda。
其中核心邏輯有兩個:
一、Amazon Lambda與Amazon SQS整合使用的特性:您可以使用Lambda函式來處理某個Amazon SQS佇列中的訊息。Lambda事件源對映支援標準佇列和先進先出(FIFO)佇列。在Amazon SQS中,您可以透過將來自一個應用程式元件的任務傳送到一個佇列中並非同步處理它們來進行分載。Lambda輪詢佇列並同步呼叫您的Lambda函式,其中有包含佇列訊息的事件。Lambda按批次讀取訊息,併為每個批次呼叫一次函式。當您的函式成功處理一個批次後,Lambda就會將其訊息從佇列中刪除。
二、Amazon SQS可見性超時:當使用者接收並處理來自某個佇列的訊息時,訊息將保留在該佇列中。Amazon SQS不會自動刪除訊息。因為Amazon SQS是分散式系統,所以無法保證使用者實際收到訊息(例如,由於使用者應用程式問題)。因此,使用者在接收和處理訊息後必須從佇列中刪除該訊息。在收到訊息後,訊息將立即保留在佇列中。為防止其他使用者再次處理訊息,Amazon SQS會將可見性超時,即Amazon SQS阻止其他使用者接收並處理訊息的一段時間。訊息的預設可見性超時為30秒。最小為0秒。最長為12小時。
在本解決方案中,Lambda的程式碼邏輯為檢查警報狀態,當警報仍未修復時,會主動丟擲一個異常,這樣Lambda就會認為函式並未成功處理,也不會自動從佇列中刪除訊息,隨即使用Amazon SQS可見性超時來控制間隔時間,達到預計時間後便會重複報警,直到警報被修復。當然Amazon SQS本身也存在一些限制,訊息最多能在佇列中保留14天。如果您需要讓警報機制保持超過14天,我們可以使用另一個方案。
除了解決方案中使用郵件完成警報的通知,您也可以實現簡訊、企業微信、釘釘、飛書等多種方式的通知。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70007680/viewspace-2942657/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 亞馬遜雲科技釋出Amazon Amplify Studio亞馬遜
- 亞馬遜雲科技宣佈推出Amazon IoT TwinMaker亞馬遜
- 亞馬遜雲科技宣佈推出Amazon IoT FleetWise亞馬遜
- 亞馬遜雲科技宣佈推出Amazon Mainframe Modernization亞馬遜AI
- 亞馬遜雲科技宣佈Amazon Cloud WAN正式可用亞馬遜Cloud
- 亞馬遜雲科技宣佈Amazon Mainframe Modernization正式可用亞馬遜AI
- 亞馬遜雲科技推出Amazon Connect三項新功能亞馬遜
- 亞馬遜雲科技推出六項Amazon SageMaker新功能亞馬遜
- 亞馬遜雲科技宣佈Amazon Lookout for Vision正式可用亞馬遜
- 亞馬遜雲科技推出安全資料湖Amazon Security Lake亞馬遜
- 亞馬遜雲科技推出八項Amazon SageMaker全新功能亞馬遜
- 亞馬遜雲科技宣佈推出Amazon Private 5G亞馬遜
- Babelfish for Amazon Aurora PostgreSQL現已在亞馬遜雲科技中國區域正式可用BabelSQL亞馬遜
- 亞馬遜雲科技釋出全新資料管理服務Amazon DataZone亞馬遜
- 亞馬遜雲科技宣佈Amazon Aurora Serverless v2正式可用亞馬遜Server
- 亞馬遜雲科技中國區域推出DevOps服務Amazon CodePipeline亞馬遜dev
- 亞馬遜雲科技李君:有容乃大-Amazon DynamoDB助力現代化應用程式亞馬遜
- IBM與亞馬遜雲科技攜手,Amazon RDS for DB2 正式亮相!IBM亞馬遜DB2
- 亞馬遜雲科技宣佈推出Amazon Q重塑未來工作方式亞馬遜
- 亞馬遜雲科技:對Amazon Aurora進行資料庫變更管理亞馬遜資料庫
- 亞馬遜雲科技推出Amazon GuardDuty 惡意軟體檢測新功能亞馬遜
- 亞馬遜雲科技推出Amazon EBS io2 Block Express儲存卷亞馬遜BloCExpress
- 實操如何用Hugging Face部署大語言模型到亞馬遜雲科技Amazon SageMakerHugging Face模型亞馬遜
- 亞馬遜雲科技推出Amazon SimSpace Weaver助力大規模空間模擬亞馬遜
- 亞馬遜雲科技資料視覺化服務Amazon Managed Grafana正式可用亞馬遜視覺化Grafana
- 亞馬遜雲科技宣佈為Amazon EFS提供低成本儲存級別亞馬遜
- Amazon Lightsail——兼具亞馬遜雲科技的強大功能與 VPS 的簡易性AI亞馬遜
- 亞馬遜雲科技宣佈視覺化開發工具Amazon Amplify Studio正式可用亞馬遜視覺化
- 亞馬遜雲科技宣佈數字孿生服務Amazon IoT TwinMaker正式可用亞馬遜
- 亞馬遜雲科技以"雲生、雲治、雲創" 助力客戶實現可持續發展亞馬遜
- 亞馬遜影片下載器TuneBoto Amazon Video Downloader亞馬遜IDE
- QCon看點|亞馬遜雲科技可持續軟體工程實踐分享亞馬遜軟體工程
- 亞馬遜雲科技宣佈Amazon EC2 P5e 例項正式可用亞馬遜
- 亞馬遜雲科技宣佈:Claude 3 Opus基礎模型在Amazon Bedrock上正式可用亞馬遜模型
- 亞馬遜雲科技在北京區域推出相容MongoDB的文件資料庫Amazon DocumentDB亞馬遜MongoDB資料庫
- Amazon Personalize個性化推薦在亞馬遜雲科技中國區域上線亞馬遜
- 亞馬遜雲科技在中國區域推出Amazon Lambda SnapStart,啟動效能提升10倍亞馬遜
- 亞馬遜雲科技宣佈由全新Amazon Graviton3支援的Amazon EC2 C7g例項正式可用亞馬遜