当前位置: 首页 > news >正文

通用的进程监控脚本process_monitor.sh使用方法

不用做任何修改,即可用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"

转载于:https://www.cnblogs.com/aquester/p/9891500.html

相关文章:

  • Spark on Yarn集群搭建详细过程
  • MySQL学习笔记-数据类型与操作数据表
  • sklearn包学习
  • 转一个简单的vue.js的图片懒加载的插件代码!
  • 学渣的逆袭:他叛逆狂妄,却搞出不少大新闻
  • MySQL 数据库分表分区
  • LVS+keepalived 下部署RTSP负载均衡
  • Android DatePickerDialog样式不一致的问题
  • js变量作用域和闭包的示例
  • 王小川分享AI
  • 从源代码编译 Vim 8.0
  • 2015年北京大学软件project学科优秀大学生夏令营上机考试---C:单词翻转面试题...
  • Ubuntu 安装chrome
  • Java:对象的强、软、弱和虚引用
  • Linux转发性能评估与优化(转发瓶颈分析与解决方式)
  • (ckeditor+ckfinder用法)Jquery,js获取ckeditor值
  • 【许晓笛】 EOS 智能合约案例解析(3)
  • 【译】理解JavaScript:new 关键字
  • 2018一半小结一波
  • cookie和session
  • Docker 笔记(2):Dockerfile
  • exports和module.exports
  • Golang-长连接-状态推送
  • HTTP请求重发
  • Logstash 参考指南(目录)
  • Service Worker
  • 回顾2016
  • 一个项目push到多个远程Git仓库
  • 用Python写一份独特的元宵节祝福
  • ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
  • $ git push -u origin master 推送到远程库出错
  • (1)(1.13) SiK无线电高级配置(五)
  • (3)Dubbo启动时qos-server can not bind localhost22222错误解决
  • (8)STL算法之替换
  • (定时器/计数器)中断系统(详解与使用)
  • (二) Windows 下 Sublime Text 3 安装离线插件 Anaconda
  • (二)fiber的基本认识
  • (排序详解之 堆排序)
  • (七)微服务分布式云架构spring cloud - common-service 项目构建过程
  • (五)网络优化与超参数选择--九五小庞
  • (转)四层和七层负载均衡的区别
  • (转载)从 Java 代码到 Java 堆
  • * 论文笔记 【Wide Deep Learning for Recommender Systems】
  • ***php进行支付宝开发中return_url和notify_url的区别分析
  • *++p:p先自+,然后*p,最终为3 ++*p:先*p,即arr[0]=1,然后再++,最终为2 *p++:值为arr[0],即1,该语句执行完毕后,p指向arr[1]
  • .apk 成为历史!
  • .cn根服务器被攻击之后
  • .net framework profiles /.net framework 配置
  • .NET Framework 和 .NET Core 在默认情况下垃圾回收(GC)机制的不同(局部变量部分)
  • .NET 药厂业务系统 CPU爆高分析
  • .Net7 环境安装配置
  • .NET版Word处理控件Aspose.words功能演示:在ASP.NET MVC中创建MS Word编辑器
  • /proc/stat文件详解(翻译)
  • @AutoConfigurationPackage的使用
  • [ web基础篇 ] Burp Suite 爆破 Basic 认证密码