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

参考:用monit监控系统关键进程

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

 

参考:用Supervisord管理Python进程


本文 由 cococo点点 创作,采用 知识共享 署名-非商业性使用-相同方式共享 3.0 中国大陆 许可协议进行许可。欢迎转载,请注明出处:
转载自:cococo点点 http://www.cnblogs.com/coder2012

时间: 2024-12-21 15:49:19

linux 进程监控的相关文章

linux 进程监控命令2——ps

整理自网络 平时linux进程查看还是比较常用的,于是我研究了一下linux ps命令的使用方式,在这里拿出来和大家分享一下,希望对大家有用. 1. ps简介 前面介绍的两个命令(who.w命令)都是用于查看当前系统用户的情况,下面就来看看进程的情况,这也是本章的主题.要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而ps命令就是最基本同时也是非常强大的linux进程查看命令.使用该命令可以确定有哪些进程正在运行和运行的状态.进程是否结束.进程有没有僵死.哪些进程占

linux 进程监控命令1——top

1.top命令 top命令和ps命令的基本作用是相同的,显示系统当前的进程和其他状况:但是top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如 前台执行该命令,它将独占前台,直到用户终止该程序为止. 比较准确的说,top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最"敏感"的任务列表.该命令可以按CPU使用.内存使用和执行时间对任务进行排序:而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定.在后面的介绍中将把命令参数和交互命令分开讲述.

linux 进程监控命令3——uptime

linux uptime命令主要用于获取主机运行时间和查询linux系统负载等信息.uptime命令过去只显示系统运行多久.现在,可以显示系统已经运行了多长时间,信息显示依次为:现在时间.系统已经运行了多长时间.目前有多少登陆用户.系统在过去的1分钟.5分钟和15分钟内的平均负载. uptime命令用法十分简单:直接输入:# uptime即可. 输入样例: .$ uptime 18:02:41 up 41 days, 23:42,  1 user,  load average: 0.00, 0.

关于Linux进程你所需要知道的一切

在这篇指南中,我们会逐步对进程做基本的了解,然后简要看看如何用特定命令管理 Linux 进程. 进程(process)是指正在执行的程序;是程序正在运行的一个实例.它由程序指令,和从文件.其它程序中读取的数据或系统用户的输入组成. 进程的类型 在 Linux 中主要有两种类型的进程: 前台进程(也称为交互式进程) - 这些进程由终端会话初始化和控制.换句话说,需要有一个连接到系统中的用户来启动这样的进程;它们不是作为系统功能/服务的一部分自动启动. 后台进程(也称为非交互式/自动进程) - 这些

如何灵活运用Linux进程资源监控和进程限制

每个 Linux 系统管理员都应该知道如何验证硬件.资源和主要进程的完整性和可用性.另外,基于每个用户设置资源限制也是其中一项必备技能. 在这篇文章中,我们会介绍一些能够确保系统硬件和软件正常工作的方法,这些方法能够避免潜在的会导致生产环境下线或钱财损失的问题发生. 报告 Linux 进程统计信息 你可以使用 mpstat 单独查看每个处理器或者系统整体的活动,可以是每次一个快照或者动态更新. 为了使用这个工具,你首先需要安装 sysstat: # yum update && yum in

Linux进程资源用量监控和按用户设置进程限制

由于 2016 年 2 月 2 号开始启用了新的 LFCS 考试要求,我们在已经发表的 LFCS 系列 基础上增加了一些必要的主题.为了准备考试,同时也建议你看看 LFCE 系列 文章. 每个 Linux 系统管理员都应该知道如何验证硬件.资源和主要进程的完整性和可用性.另外,基于每个用户设置资源限制也是其中一项必备技能. 在这篇文章中,我们会介绍一些能够确保系统硬件和软件正常工作的方法,这些方法能够避免潜在的会导致生产环境下线或钱财损失的问题发生. 报告 Linux 进程统计信息 你可以使用

pidstat - 监控并统计Linux进程的数据

pidstat - 监控并统计Linux进程的数据 pidstat命令用来监控被Linux内核管理的独立任务(进程).它输出每个受内核管理的任务的相关信息.pidstat命令也可以用来监控特定进程的子进程.间隔参数用于指定每次报告间的时间间隔.它的值为0(或者没有参数)说明进程的统计数据的时间是从系统启动开始计算的. 如何安装pidstat pidstat 是sysstat软件套件的一部分,sysstat包含很多监控linux系统状态的工具,它能够从大多数linux发行版的软件源中获得. 在De

MOOON通用的进程监控重拉起bash脚本

#!/bin/sh # http://code.google.com/p/mooon # 进程监控脚本,当指定进程不存在时,执行重启脚本将它拉起 # 特色: # 1.本监控脚本可重复执行,它会自动做互斥,保证总是只有一个监控脚本进程存在 # 2.互斥不仅依据监控脚本文件名,而且包含了它的命令行参数,只有整体相同时互斥才生效 # 3.对于被监控的进程,可以只指定进程名,也可以包含命令行参数 # 4.不管是监控脚本还是被监控进程,总是只针对属于当前用户下的进程 # 需要指定个数的命令行参数 # 参数

Linux进程管理的4个常用命令

Linux是一个多用户.多任务的操作系统.在这样的系统中,各种计算机资源(如文件.内存.CPU等)的分配和管理都以进程为单位.为了协调多个进程对这些共享资源的访问,操作系统要跟踪所有进程的活动,以及它们对系统资源的使用情况,从而实施对进程和资源的动态管理.进程在一定条件下可以对诸如文件.数据库等客体进行操作.如果进程用作其他不法用途,将给系统带来重大危害.在现实生活当中,许多网络黑客都是通过种植"木马"的办法来达到破坏计算机系统和入侵的目的,而这些"木马"程序无一例