linux 进程监控
linux 进程监控
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
安装:
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
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。