鍍金池/ 問答/Python  GO  Linux  HTML/ 監(jiān)控linux上的應用,你都采取過哪些方式?

監(jiān)控linux上的應用,你都采取過哪些方式?

現(xiàn)在想把公司業(yè)務服務器上各式各樣的監(jiān)控整合起來,使用python來完成。對于監(jiān)控業(yè)務程序、腳本等,你都采取過哪些方式?有沒有遇到哪些特殊、意外的狀況,希望能分享一下。
比如監(jiān)聽端口,那么有些分析程序,就不監(jiān)聽端口,或者端口被占用但程序本身已經(jīng)變成僵尸,是否還應選取其他方式進行輔助?我之前還用過一個很奇葩的方式,掃描系統(tǒng)的所有pid,然后看pid對應程序的路徑有沒有與被監(jiān)控的程序路徑相匹配的,但是這樣要求額外的模塊并且需要運行監(jiān)控程序的用戶具有很高的權限。
另外是我希望自己的監(jiān)控程序能整合多種功能,所以需要在設計之初能把方方面面都考慮到。

回答
編輯回答
離殤

你的需求看上去不是簡單的腳本能夠解決的,更偏向于開發(fā)一個系統(tǒng)了。
這個有不少的開源軟件,zabbix nagios.等等。

如果你自己開發(fā),可能要考慮到數(shù)據(jù)采集,數(shù)據(jù)處理,界面展示。
實際上做完這些基本可以說是一個全棧工程師了。后臺接口的設計,數(shù)據(jù)表設計,前端圖表等等。

如果你的時間充足,能力強,這個過程還是非常的有收獲。

基于監(jiān)控方式,可以參考開源軟件,或者自己根據(jù)實際需求出發(fā)。監(jiān)控這個話題太大,我簡單的從總體角度出發(fā)去闡述。

2018年7月9日 06:14
編輯回答
尋仙

建立你去看看open-falcon的agent的采集代碼 這樣你就會清楚很多.
另外一個建議是盡量不要用程序調用命令行的方式, 有兩個壞處:

  1. 輸出內容格式化不夠,比較難提取有用的信用

  2. 命令行獲取的內容比較多,這樣效率會變慢,資源會浪費.

所以是盡量能夠獲取到原始的信息是最佳的,如/proc下面的內容.

2017年8月15日 07:59
編輯回答
陌顏

建議用salt-api,你可以去看看相關的資料

2017年12月22日 01:01
編輯回答
陌顏

推薦zabbix,一般企業(yè)都用這個。功能強大,缺點就是要花點時間研究下。不用太擔心也,因為資料完善。

2017年4月2日 16:15