Nginx

執行 nginx 的 EC2 實例崩潰,“連接被拒絕” - 我該如何監控?

  • January 10, 2020

假設 EC2 實例上的 nginx 崩潰。該實例執行狀況良好且 CloudWatch 指標非常好,但伺服器上託管的所有域現在都“連接被拒絕”。

這似乎是一個非常基本的功能 - 監控以確保網站返回 200。這是 CloudWatch 中的某個地方嗎?我認為某些東西可能只是curl -s -o /dev/null -w "%{http_code}" http://www.example.org/,如果它沒有收到 200 的返回碼,比如連續 5 次,它將觸發實例重啟和 SNS 通知。

也許我應該在 EC2 實例上執行一些東西,如果某些東西無法訪問,它會重新啟動 nginx?無論哪種方式,我都想知道如何使用 AWS 資源執行此操作,這樣我什至可以監控任何站點並啟動 SNS。

抱歉,如果我在這裡遺漏了一些簡單的東西。看起來這很容易搜尋,但我花了幾個月的時間試圖弄清楚這一點。

這通常是負載均衡器(ALB 或 ELB)的工作,它可以檢測實例上的 Web 伺服器是否正在執行,如果沒有,您可以通過CloudWatch觸發一些操作。同樣,通常是通過Auto Scaling Group替換實例。

即使您只需要一個實例,使用 ASG 和 ALB 也是完全正常的。

或者,您可以使用實例上安裝的 CW 代理創建*自定義 CloudWatch 指標。*然後你可以報告任何你想要的。

希望有幫助:)

引用自:https://serverfault.com/questions/998052