不用做任何修改,即可用process_monitor.sh监控各种进程。
源码下载:https://github.com/eyjian/libmooon/blob/master/shell/process_monitor.sh

使用之前,请给process_monitor.sh带上可执行权限,不带任何参数执行process_monitor.sh时显示帮助信息。
通常需要将process_monitor.sh放到crontab上,以便系统重启自动生效,也可避免process_monitor.sh被意外终止导致失效,crontab的时间部分一般设置为1分钟执行一次,如:* * * * *。

运行process_monitor.sh,需要指定两个参数:
1)参数1:被监控的对象,支持同一程序带不同参数的分别监控,典型的如java程序
2)参数2:被监控的对象不存在时,重拉起脚本或命令

参数1又可分成两部分:
1)被监控对象,如java程序,不含参数部分,值需要和ps看到的完全相同,比如ps看到的是绝对路径,则也需为绝对路径;
2)参数匹配部分,一个用于区分同一程序不同进程的源自于参数的字符串。这部分是可选的,只有当被监控对象以不同参数在同一机器上同时运行时才需要指定。

建议将process_monitor.sh放到目录/usr/local/bin下,以方便使用。

示例1:监控ZooKeeper进程(假设ZooKeeper安装目录为/data/zookeeper,JDK安装目录为/usr/local/jdk)
/usr/local/bin/process_monitor.sh "/usr/local/jdk/bin/java -Dzookeeper" "/data/zookeeper/bin/zkServer.sh start"

上面的“-Dzookeeper”为参数的一部分,借助它可以区分于其它java程序,比如HDFS DataNode为“-Dproc_datanode”:
/usr/local/bin/process_monitor.sh "/usr/local/jdk/bin/java -Dproc_datanode" "/data/hadoop/sbin/hadoop-daemon.sh start datanode"

参数2无匹配部分使用示例:
/usr/local/bin/process_monitor.sh "/usr/local/ip2location/bin/ip2location" "/usr/local/ip2location/bin/ip2location --num_worker_threads=8 --num_io_threads=2"

放在crontab中的示例:
* * * * * /usr/local/bin/process_monitor.sh "/usr/local/ip2location/bin/ip2location" "/usr/local/ip2location/bin/ip2location --num_worker_threads=8 --num_io_threads=2"

通用的进程监控脚本process_monitor.sh使用方法的更多相关文章

  1. 轻量级监控平台之java进程监控脚本

    轻量级监控平台之java进程监控脚本 #!/bin/bash #进程监控脚本 #功能需求: 上报机器Java进程的进程ID,对应的端口号service tcp端口号,tomcat http 端口号,以 ...

  2. php等守护进程监控脚本(转载 http://www.9958.pw/post/php_script_scan)

    此脚本用户守护监控进程的执行情况,因为有的时候,我们用各类开发语言做的守护进程可能会因为一些特殊情况被退出,所以此脚本就是为了重启这些进程 代码: #!/bin/bash EMAIL='9958_pw ...

  3. 使用process_monitor.sh监控hadoop进程的crontab配置

    可以从下列链接找到process_monitor.sh:https://github.com/eyjian/libmooon/blob/master/shell/process_monitor.sh ...

  4. linux shell脚本守护进程监控svn服务

    最近搭建的svn服务不知道什么原因服务总是被关闭(如果你不知道怎么搭建svn可以参考linux下搭建svn版本控制软件),因此用shell脚本实现一个守护进程.用于监控svn服务是否启动,如果服务不在 ...

  5. Python 监控脚本(硬盘、cpu、内存、网卡、进程)

    #磁盘使用率disk = psutil.disk_partitions()for i in disk:    print "磁盘:%s   分区格式:%s"%(i.device,i ...

  6. tomcat监控脚本(监控进程,测试接口,告警动作为发送邮件)

    服务器环境:centos7.2 64位 tomcat8.5.6 tomcat 监控功能共需要两个脚本,如下: initMonitor.sh #!/bin/sh #初始化监控脚本相关变量 export ...

  7. shell脚本监控k8s集群job状态,若出现error通过触发阿里云的进程监控报警

    #!/bin/bash while [ 1 ] do job_error_no=`kubectl get pod -n weifeng |grep -i "job"|grep -c ...

  8. shell脚本监控阿里云专线网络状态,若不通通过触发阿里云的进程监控报警

    #!/bin/bash while [ 1 ] do rtt=`ping -c 3 15.0.160.18 |grep rtt |awk '{print $4}' |awk -F'/' '{print ...

  9. MySQL的keepalived高可用监控脚本

    MySQL的keepalived高可用监控脚本 MySQL(或者其它服务)的keepalived高可用监控脚本 开发脚本需求 :我们知道,keepalive是基于虚拟ip的存活来判断是否抢占maste ...

随机推荐

  1. linux系统中的进程状态分析

    转载地址:https://blog.csdn.net/shenwansangz/article/details/51981459 linux是一个多用户,多任务的系统,可以同时运行多个用户的多个程序, ...

  2. python多线程下载网页图片并保存至特定目录

    #!python3 #multidownloadXkcd.py - Download XKCD comics using multiple threads. import requests impor ...

  3. SystemTap 工作原理

    <systemtap原理及使用> https://www.cnblogs.com/youngerchina/p/5624588.html 这篇帖子前边系统介绍了systemtap的工作原理 ...

  4. Java界面编程—API

    Java 的 GUI 提供的对象都存在 java.awt 和 java.swing 两个包中. awt :Abstract Window ToolKit(抽象窗口工具包),需要调用本地系统方法实现功能 ...

  5. service fabric重装电脑后集群失败

    前提.下载service fabric sdk工具 1.Remote Procedure Call (RPC)服务打开 自动 2.Remote Procedure Call (RPC) Locator ...

  6. Android Studio 小新兵

    1. java.lang.IllegalStateException: This app has been built with an incorrect configuration. Please ...

  7. sql 用Group by分组后,取每组的前几条记录

    转自:http://blog.163.com/jeson_lwj/blog/static/135761083201052411115783/ --查询每门课程的前2名成绩 CREATE TABLE S ...

  8. AX_Args

    Args args; FormRun formRun; ; args = new Args(); args.name(formstr(FormName)); args.caller(); args.r ...

  9. day08作业---函数

    '''2.写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者.'''#学会了 原来 range(len(iter)) 是 从零到len-1 的数的组合 建新放在 ...

  10. php获取响应状态码

    $ch = curl_init('http://www.jb51.net'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_exec($ch); ...