各位前輩好小弟突然想到曾遇到一個問題
現在拿出來請教一下各位
當時事由是這樣,當時公司網站的伺服器時不時因為跳電關機、當掉、斷網
//-----------------
上層需求:
1.不額外花費購買設備
2.主機有不定時關機可能性須排除
3.主機有網路斷掉但主機持續運作可能性需監控
//-----------------
後來我的解決方案是
1.使用主機原生地BIOS設定若有上電自動開機+庫存UPS
2.網路線路重新布線
3.寫一個ping WebServer的程式給有電腦的人員,若斷訊會有右下角跳通知
//-----------------
最後網路跟關機問題是解決了
可在監測主機通訊是否正常連線時我大約30秒ping一次網站
但最後就會因為太過平凡的去ping主機導致IP被ROUTER擋下來
就變成了我的IP連不上公司網站但其他IP連得上公司網站
請教有沒有C#的範例或是Library24小時不兼斷的監控網站是否正常運作?
希望是以C#為範例感謝
既然是公司網站, 應該有對外開放不限對象連線吧?
如果外部可以連的話, 直接用外面 SaaS 提供的服務就可幫你監測:
(監測數量 50 個以內免費)
UptimeRobot每五分鐘監控一次網站!讓你隨時隨地了解網站情況!
原廠網站: https://uptimerobot.com/
通知管道則有很多種, 可以發送 Email, 或是各種即時通的 API (Slack...等等), 手機只要裝即時通的 App 就可以收到.
這裡有一些串好的範例:
https://starnic-sla.mori.cloud/
https://meepshop-status.mori.cloud/
https://rl-status.mori.cloud/
我寫過類似的python小專案
大約3分鐘測試一次
好像沒被阻擋過
提一下可能的解決方案
1.許多的ping test採用windows原生os命令
會發四次請求->調整成一次
2.改用監聽序列罩
https://www.it145.com/9/173310.html
3.我是從外網監控的,不確定有沒有差,還請知道的大大回答
你的問題其中有包括了硬體的設備監測,要往另一個方向去參考 IPMI
我只能回應你針對網站與主機的監控,我的方法也剛好要 10~200 台要監控,我就寫了以下程式
[需求]
Windows 畫面
[網站的處理]
前提 >> 網路與防火牆要控管好
大概以上,但沒有什麼是攻不破的網站,只要有人發動 DDOS 的方法任何網站都是無法使用的,就只能靠防火牆端去檔下來了。
可以參考我上次寫的監控伺服器的語法
我會寫一個 Console 程式,由 Windows 排程定時執行
每次執行就會檢查一些 CPU、硬碟、某個程式是否有在執行
如果有問題就會發送 LINE 通知
IIS應用程式池常常因為Request過多而耗盡RAM,asp.net GC來不及回收導致站台掛掉,Asp.net application計數器的Request Execution time就會變成異常地高。
初步的構想是用C# Winform在該主機執行監測,若站台的Request異常則發信撈出最新5筆事件記錄寄給系統管理員, 並重啟IIS, 也還在google找寫這個小工具的方式。