Azure監控告警
1.建立 Log Analytics 工作區主頁選擇「Log Analytics 工作區」
點擊「建立」來建立一個新的工作區
填寫以下資訊:
帳戶:選擇您要使用的 Azure 訂閱。
資源群組:選擇現有的資源群組或建立新的資源群組。
名稱:為您的工作區命名。
區域:選擇工作區所在的地理區域。
點擊「評論及建立」,然後在檢閱頁面中點擊「建立」。
2.設定診斷設定
主頁選擇「Log Analytics 工作區」
點擊「建立」來建立一個新的工作區
填寫以下資訊:
帳戶:選擇您要使用的 Azure 訂閱。
資源群組:選擇現有的資源群組或建立新的資源群組。
名稱:為您的工作區命名。
區域:選擇工作區所在的地理區域。
點擊「評論及建立」,然後在檢閱頁面中點擊「建立」。
2.設定診斷設定
使用 GCP 的 Cloud Interconnect 連接本地與雲端網路時,服務出現幾次斷線30秒的問題影響使用,詢問後才知道,由於 GCP 會定期維護管理 BGP 軟體,可能會導致 BGP 頻繁啟動和關閉(BGP flap),並顯示 CEASE/ADMINISTRATIVE SHUTDOWN 的錯誤訊息。不過,BGP flap 通常不會影響 Cloud Interconnect 的服務。
想避免 Cloud Router 的 BGP flap影響,會建議設定 graceful restart 功能。如果本地路由器不支持 graceful restart,也可將本地路由器的 hold timer 調整為 60 秒,以確保 BGP 連線的穩定性。
參考網址
https://cloud.google.com/network-connectivity/docs/router/concepts/overview#maintenance
阿里雲監控透過Agent收集各項數據,接著配合預設好的Metric及Event觸發Alert,再透過各種不同的通知方式告知異常訊息種類及通知人員
1.登入阿里雲→點選云監控→報警聯繫人
3.點選要設置監控告警的ECS實例
利用騰訊雲原生的監控服務,即可監控服務事件並收到告警通知。這邊以《騰訊雲可觀測平台》此服務為例進行說明。
情境說明:監控CVM實例的重啟事件
步驟1:建立告警策略
步驟2:建立告警通知
建立告警策略
1. 在”監控與維運”找到”騰訊雲可觀測平台“
2. 告警管理-告警配置-告警策略-新建策略
① 輸入策略名稱及備註(選填)
② 此例情境為監控CVM,策略類型選”雲服務器”
③ 所屬項目用DEFAULT即可不用改
④ 告警對象選要監控的實例ID (也可依標籤、實例分組、或全部實例)
⑤ 觸發條件可依”指標告警”或”事件告警”。這邊選事件告警,事件選”機器重啟”
建立告警通知
1. 選”新建模板”
① 輸入模板名稱
② 用戶通知選擇接收對象、通知週期、通知時段、通知渠道 (郵件, 短信);接口回調可另外串接其他通訊軟體接收通知
2. 模板建立完成後就會出現在列表內
測試環節
1. 將實例進行重啟
參考資料:
騰訊雲可觀測平台>快速入門>告警管理
https://cloud.tencent.com/document/product/248/42449
果核數位-探索騰訊雲可觀測平台的強大功能
https://www.digicentre.com.tw/industry_detail?id=154
AWS EC2 state-change notify in telegram
1.
所用服務: Amazon eventbridge 、 Amazon Simple Notification Service 、Lambda
2.
透過eventbridge 傳送帳號內活動訊息由SNS作為觸發器傳至lambda
由lambda 傳輸至 telegram bot 將訊息推送給指定聊天室
首先 創建一個 lambda
1.
函數名稱 : 填寫自訂義函數名
2.
執行時間 : 選擇 python 3.9
點選建立函式
環境變數:
TOKEN : 填入 telegram bot token
USER_ID : 填入聊天室ID
於函數的.py文件中貼入
import json
import os
import logging
import urllib3
http = urllib3.PoolManager()
logger = logging.getLogger()
logger.setLevel(logging.INFO)
TOKEN = os.environ['TOKEN']
USER_ID = os.environ['USER_ID']
TELEGRAM_URL =
"https://api.telegram.org/bot{}/sendMessage".format(TOKEN)
def process_message(input):
try:
raw_json = json.loads(input)
output = json.dumps(raw_json, indent=4)
except:
output = input
return output
def lambda_handler(event, context):
logger.info("event=")
logger.info(json.dumps(event))
try:
message = process_message(event['Records'][0]['Sns']['Message'])
payload = {
"text": message.encode("utf8"),
"chat_id": USER_ID
}
http.request('POST', TELEGRAM_URL, payload)
except Exception as e:
raise e
填入後 複製 lambda ARN 下一步 需要
第二 創建SNS 主題以及 訂閱
1.
類型 : 標準
2.
名稱 : 自訂義名稱
1.
主題ARN : 選擇稍早建立的SNS主題
2.
通訊協定 : AWS Lambda
3.
端點 : 輸入 剛剛複製的 AWS Lambda ARN
第三 創建一個 eventbridge規則
1.名稱 :自訂義規則名稱
2.規則類型 : 具有事件模式的規則
1.事件來源: AWS 事件或 EventBridge 合作夥伴事件”
建立方法 “使用模式表單”
事件模式:
1.事件來源 : AWS服務
2.AWS 服務 : EC2
3.事件類型 : EC2 instance State-change Notification
4.事件類型規格(可針對特定state做告警): 任何狀態
5.事件類型規格 2 (可針對特定 instance 做告警) : 任何執行個體
1.
目標類型 : AWS 服務
2.
選取目標 : SNS 主題
3.
主題 : 選擇先前建立的SNS主題
設定標籤的部分可略過
直接跳至 檢閱和建立,確認無誤後
建立規則
實際通知如下圖
建立GCP 監控的流程。
(這裡示範是選擇VM實例>VM日誌>向外傳輸數據量) |
圖中Policy configuration mode的兩個選項。
Builder與Code editor(MQL or PromQL)
前者提供圖形化介面與選項,讓使用者方便操作。
後者則可以自定義編碼,較Builder靈活、客制化。需用MQL或PromQL 來撰寫。
接著,一樣按照自身需求,去調整 設定與門檻值。