我正在從 docker 容器中選擇錯誤日志詳細資訊,并在 shell 腳本中決定如何以及何時通過不和諧和/或電子郵件來提醒問題。
由于我經常收到電子郵件正文中包含相同資訊的電子郵件警報,因此我想實施以下兩項調整:
致命錯誤日志選擇:
FATS="$(docker logs --since 24h $NODENAME 2>&1 | grep 'FATAL' | grep -v 'INFO')"
已發送電子郵件,以防 FATS 有一些內容:
swaks --from "$MAILFROM" --to "$MAILTO" --server "$MAILSERVER" --auth LOGIN --auth-user "$MAILUSER" --auth-password "$MAILPASS" --h-Subject "FATAL ERRORS FOUND" --body "$FATS" --silent "1"
如何僅在 FATS 具有不同于先前運行的腳本的內容的情況下發送電子郵件?我想過一個關于它的內容的散列,它被存盤在一個文本檔案中并被讀取。如果哈希值與之前運行的腳本相同,則電子郵件將被跳過。
另一個選項可能是全域用戶的 bash 組態檔中的本地臨時變數,以便沒有檔案要存盤在檔案系統上(以避免讀/寫)。
我怎樣才能做到這一點?
uj5u.com熱心網友回復:
當您為監控撰寫腳本時,請添加其他功能的函式,例如:
- 記錄所有已發送的警報
- 確保您每小時發送的警報不超過 1 個
- 考慮僅在作業時間發送警告
- 當訊息失敗 N 次但中間沒有成功時升級訊息
- 可能向不同的接收者(不同的電子郵件地址或短信或團隊)發送警報
- 為操作員制作一個界面,以便他可以在第一次出現問題時進行回顧。
當您可以控制發送的訊息時,很容易過濾重復的訊息(更改后--since)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/397122.html
