定时监控服务,告警,并启动服务
脚本功能:每5分钟监控服务进程,本次进程为3个tomcat服务,当服务挂起时,发送报警邮件,并启动服务
1:创建日志文件脚本
[root@shell ~]# cat a.sh
#!/bin/bash
b=a.`date +%Y%m%d-%T`.log
echo -n "-------------------------$b"
[root@shell ~]# sh a.sh
-------------------------a.20150604-18:04:20.log
2:创建服务启动脚本
#!/bin/bash
b=a.`date +%Y%m%d-%T`.log
#sh /opt/apache-tomcat-6.0.35/bin/startup.sh && tail -f /opt/apache-tomcat-6.0.35/logs/catalina.out >> $b &
sh /opt/apache-tomcat-6.0.35/bin/startup.sh >> $b &
sleep 30
echo "tomcat8081 start ********************************************************************" >>$b &
#sh /opt/apache-tomcat-6.0.35_8082/bin/startup.sh && tail -f /opt/apache-tomcat-6.0.35_8082/logs/catalina.out >> $b &
##如果采用tail 日志输出,会把所有的日志都输入到这个文件中##
sh /opt/apache-tomcat-6.0.35_8082/bin/startup.sh >> $b &
sleep 60
echo "tomcat8082 start over********************************************************************" >>$b &
#sh /opt/apache-tomcat-6.0.35_8083/bin/startup.sh && tail -f /opt/apache-tomcat-6.0.35_8083/logs/catalina.out >>$b &
sh /opt/apache-tomcat-6.0.35_8083/bin/startup.sh >>$b &
sleep 90
echo "tomcat8083 start ********************************************************************" >>$b &
3.通过外部smtp服务,发送报警短信
yum -y install mailx
yum -y install sendmail
启动sendmail服务。
service sendmail start
配置mail.rc外部smtp服务
set from=111@qq.com
set smtp=mail.qq.com
set smtp-auth-user=111@qq.com
set smtp-auth-password=qq
set smtp-auth=login
测试echo java stop,please check | mail -s "title" benren@qq.com
我们看到上面邮件已经发送成功!
4:修改服务启动脚本,当服务挂起得时候,发送报警短信,并启动服务
start_java(){
killall -9 java
b=a.`date +%Y%m%d-%T`.log
sh /opt/apache-tomcat-6.0.35/bin/startup.sh && tail -f /opt/apache-tomcat-6.0.35/logs/catalina.out >> $b &
sleep 30
echo "tomcat8081 start ********************************************************************" >>$b &
sh /opt/apache-tomcat-6.0.35_8082/bin/startup.sh && tail -f /opt/apache-tomcat-6.0.35_8082/logs/catalina.out >> $b &
echo "tomcat8082 start **********************************************************************" >>$b &
sh /opt/apache-tomcat-6.0.35_8083/bin/startup.sh && tail -f /opt/apache-tomcat-6.0.35_8083/logs/catalina.out >>$b &
echo "tomcat8083 start **************************************************************************" >>$b &
}
proess_num=`ps -C java --no-header|wc -l`
if [ $proess_num -ne 3 ];then
echo "'HOSTNAME=$HOSTNAME' '$IP' error,please check" | mail -s "wheat-conver" 11@qq.com 22@qq.com
start_java
fi
5:加入定时任务,每5分钟检测一次
crontab -e
5:mail命令的用法简介
使用mail发邮件时,必须先将sendmail服务启动。
mail –s “邮件主题” –c”抄送地址” –b “密送地址” -- -f 发送人邮件地址 –F 发件人姓名 < 要发送的邮件内容
mail -s test yangfang@fudan.edu.cn #第一种方法,你可以把当前shell当成编辑器来用,编辑完内容后Ctrl-D结束
echo “mail content”|mail -s test yangfang@fudan.edu.cn #第二种方法,我用的最多,可能是喜欢管道的缘故吧
mail -s test yangfang@fudan.edu.cn < file #第三种方法,以file的内容为邮件内容发信
转载于:https://www.cnblogs.com/liangsky/p/4560517.html
定时监控服务,告警,并启动服务相关推荐
- dubbo内置哪几种服务容器_dubbo启动服务之容器(Container)
讲解dubbo启动服务的时候先来了解下java的spi机制 后期文章会首发于本专栏,欢迎关注 JAVA高级进阶zhuanlan.zhihu.com 一:SPI 简介 SPI 全称为 (Service ...
- Android服务一 创建启动服务
若要学习创建绑定服务,请查看下篇Android服务二 创建绑定服务 启动服务 基于Service package service;import android.app.Service; import ...
- centos 开机启动java_Centos 7将java jar包自定义开机启动服务
Centos 7将java jar包自定义开机启动服务 1. 先上 jar包的启动脚本 vim service.sh #!/bin/bash # 需要变更的参数 # 先查看java绝对路径:which ...
- 批处理启动vm虚拟机服务 vm12启动无界面启动vm虚拟机系统 windows上如何操作服务 sc net启动关闭服务...
windows(win10)批处理脚本 打开vm虚拟机的服务,并且开启无界面虚拟机 @echo off net start "vds" net start "VMAuth ...
- mysql的优化-添加环境变量启动服务
>回顾 前面我们已经成功的安装好了数据 但是每一次启动数据库的时候,都会有这样的一些经历 首先要把服务端开启 然后要开启客户端连接服务端输入账号和密码连接成功 . 服务端的开启 服务端文件的路径 ...
- c# windows服务状态、启动和停止服务
首先先引用System.ServiceProcess.dll 然后在引用命名空间using System.ServiceProcess; ServiceController sc = new Serv ...
- java 服务注册中心_服务治理的含义和java最流行的微服务框架服务治理注册中心的搭建...
原标题:服务治理的含义和java最流行的微服务框架服务治理注册中心的搭建 Spring Cloud Eureka基于Netflix Eureka做了二次封装,是Spring Cloud Netflix ...
- linux怎么开启samba服务,LINUX开启SAMBA服务
samba,用于网络文件共享,类似于nfs, samba多用于win和linux之间 linux之间多用nfs c/s架构 smb协议 samba主要是两个服务,核心启动服务smb,监听139tcp端 ...
- linux 查询注册服务,window下注册服务的命令小结
1. 描述: SC 是用于与服务控制管理器通信的命令行程序 . 用法: sc [command] [service name] ... 选项 的格式为 可以键入 "sc [comma ...
- prometheus 配置服务器监控、服务监控、容器中服务监控与告警
最近公司有几个服务遇到了瓶颈,也就是数据量增加了,没有人发现,这不是缺少一个监控服务和告警的系统吗? 主要需求是监控每个服务,顺带监控一下服务器和一些中间件,这里采集的2种,zabbix和promet ...
最新文章
- UTRAN 的用户面和控制面
- 2021桓台高考成绩查询,桓台中考成绩查询2021
- [转]Supporting OData Query Options in ASP.NET Web API 2
- java影院购票系统开题报告,开题报告-网上电影院购票系统的设计与实现.doc
- LeetCode 第 18 场双周赛(188/587,前32%)
- 基本排序算法:Python实现
- 设计模式之--生成器模式与抽象工厂模式的比较
- select下拉框option默认选中(php模板渲染)
- 黑苹果内置硬盘识别成外置硬盘_空间大?安全更重要,麦沃 K35274D硬盘阵列盒使用体验--数据无价...
- 金融行业比较有名气的公司
- c 实现服务器性能监控,Prometheus——进行服务器性能监控的一件法宝
- 439、Java框架93 -【SpringMVC - 拦截器】 2020.12.14
- 群同态和群同构的区别_同构和同态有什么区别,它们可以用在哪些方面?
- 大数据团队必须设置的五种职位
- 对PowerMill编程软件还不了解?赶紧来看看这篇文章吧
- 关于java的项目部署以及需要注意的地方
- JDK版本切换---JDK9.0版本切换至JDK1.8
- js 计算误差的原因 及 加减乘除计算方法
- out of memory常见解决方法
- win10 LTSC 2019,发现默认打开图片的程序是“画图”,图片查看器无法正常启动