linux 进程启动通知,Linux进程监控 + 钉钉通知

生产

介绍

说明

进程监控采用

进程:shell scr

集成:Jenkins

打包:Jar

Jenkins

Jenkins 是一个

流程

Jenkins新建一个需持续集成的项目,然后

注:Install Jenkins的过程暂不在本篇介绍,若有

1. Jenkins shell脚本

示例

PROJECT=online_store

MOD=cms

PORT=9065

IP=xxx

xxx:根据需要传该

yyy:这个IP务必是deploy-production.sh

脚本所在的服务器,至关重要,影响着打包及进程监控,可理解为Jenkins持续集成到Linux服务器的入口

2. Linux服务器执行的初始脚本

注:初始脚本,言下之意是Jenkins与Linux服务器交互的第一个脚本,其余操作包括监控都与初始脚本息息相关。

由于脚本涉及部分隐私,故不全贴出来,仅贴关键部分。

接收参数

PROJECT=$1

JOB=$2

MOD=$3

PORT=$4

IP=$5

复制代码

主要流程代码根据项目

nohup /usr/bin/

监控代码执行

sh ~/monitor_exec.sh $PROJECT $JOB $MOD $PORT

复制代码

即执行monitor_exec.sh

脚本。

3. 监控脚本的初始脚本

作用:将监控脚本写入定时器。

关键代码:

#!/bin/sh

PROJECT=$1

JOB=$2

MOD=$3

PORT=$4

mkdir -p ~/cron/

touch ~/cron/$PROJECT.cron

file=~/cron/$PROJECT.cron

echo 'cron path:'$file;

if test -s $file; then

echo "cron文件内容不为空";

else

echo "* * * * * sh /root/monitor.sh $PORT $PROJECT $MOD $JOB" >> ~/cron/$PROJECT.cron

cron

解析:中间echo的cron path路径,会输出到Jenkins日志里。目的是将执行monitor.sh

写入服务器定时任务。cron规则就不介绍了,自定义即可。

说明:监控脚本的执行过程,应该加上日志输出(示例比较简单,勿模仿),这是好习惯,以便做记录!

4. 监控脚本

关键代码:

#!/bin/sh

PID=`/usr/sbin/lsof -i:$1 |

解析:Jar包会运行于服务器的一个

拓展部分:集成

背景:进程被kill,若是

关键代码:

echo '钉钉通知开始' >> ~/log/$PROJECT.log

curl '

说明:

xxx

:填上对应钉钉机器人的access_token即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值