linux 進程監控


linux 進程監控

supervise

Supervise是daemontools的一個工具,可以用來監控管理unix下的應用程序運行情況,在應用程序出現異常時,supervise可以重新啟動指定程序。

使用:

mkdir test
cd test

vim run 寫入希望執行的操作

supervise test (注意這里是的參數是run文件上層的文件夾,改變run的為可執行 chmod +x run)

monit

     monit是一個小型的開放源碼工具來管理和監控Unix系統。Monit可以自動維護進程,及時避免進程異常退出等產生的問題。
   
  • 系統: monit可以監控問題的發生,包括進程狀態、系統cpu負載、內存占用情況等,例如當apache服務的cpu負載以及內存閘弄情況過高時候,它會重啟apache服務。
  • 進程: monit可以監控守護進程,包括系統進程。例如當某個進行down掉,它會自動恢復重啟該進程。
  • 文件系統:Monit可以監控本地文件、目錄、文件系統的變化,包括時間戳、校驗值、大小的變化。例如,可以監控文件sha1以及md5的值,來監控文件是否發生變化。
  • 網絡:monit可以監控網絡連接,支持TCP、UDP、Unix domain sockets以及HTTP、SMTP等。
  • 定時腳本:monit可以用來定時測試程序和腳本,獲取程序輸出結果,進而判斷是否成功或其他情況。

安裝:

sudo apt-get install monit

編輯配置:

sudo vim /etc/monit/monitrc

啟動、停止、重啟:

sudo /etc/init.d/monit start
sudo /etc/init.d/monit stop
sudo /etc/init.d/monit restart

設置頁面監控狀態:

set httpd port 2812 and
allow 0.0.0.0/0.0.0.0
allow localhost

增加監控:

需要注意的是,這里需要添加start和stop,缺一個都是不行的

1.根據程序名稱來監控

check process test with MATCHING test.py
start program = "/home/yxd/test.py"
stop program = "xxxxx"

2.根據pid監控

check process apache with pidfile /var/run/httpd.pid
start program = "/etc/init.d/rcWebServer.sh start https"
stop program = "/etc/init.d/rcWebServer.sh stop https"
if changed pid then aler

supervisord

Supervisor是一個C/S系統,它可以在類unix操作系統讓用戶來監視和控制后台服務進程的數量。它是由python編寫的,常用於進程異常退出的重啟保護。

安裝:

pip install supervisor

查看配置文件:

echo_supervisord_conf
從該命令的結果中,可以看到各個模塊的配置信息。

創建配置文件:

echo_supervisord_conf > /etc/supervisord.conf

配置應用:

[program:test]
command=python /root/test_supervisor.py
process_name=%(program_name)s
stdout_logfile=/root/test.log
stderr_logfile=/root/test.log

保存,啟動:

/usr/bin/supervisord -c /etc/supervisord.conf
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM