定时监控服务,告警,并启动服务

脚本功能:每5分钟监控服务进程,本次进程为3个tomcat服务,当服务挂起时,发送报警邮件,并启动服务

1:创建日志文件脚本

[[email protected] ~]# cat a.sh
#!/bin/bash
b=a.`date +%Y%m%d-%T`.log

echo -n "-------------------------$b"

[[email protected] ~]# 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 [email protected]
set smtp=mail.qq.com
set [email protected]
set smtp-auth-password=qq
set smtp-auth=login

测试echo java stop,please check | mail -s "title" [email protected]

我们看到上面邮件已经发送成功!

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" [email protected] [email protected]
start_java
fi

5:加入定时任务,每5分钟检测一次

crontab -e

  

5:mail命令的用法简介

使用mail发邮件时,必须先将sendmail服务启动。

mail –s “邮件主题” –c”抄送地址” –b “密送地址” -- -f 发送人邮件地址 –F 发件人姓名 < 要发送的邮件内容

mail -s test [email protected] #第一种方法,你可以把当前shell当成编辑器来用,编辑完内容后Ctrl-D结束

echo “mail content”|mail -s test [email protected] #第二种方法,我用的最多,可能是喜欢管道的缘故吧

mail -s test [email protected] < file #第三种方法,以file的内容为邮件内容发信

时间: 2024-10-13 23:38:33

定时监控服务,告警,并启动服务的相关文章

Linux重新设置服务及开机启动服务

今天遇到Linux重启后,系统开机启动到某个服务后,挂住了.但是可以通过SSH进行远程连接. 这时候,可以通过语句,重新进行服务的开机启动设置,方法如下: for i in `chkconfig --list|grep 3:on`;do chkconfig $i off;done  chkconfig --list  for i in crond network sshd rsyslog;do chkconfig $i on;done  chkconfig --list 这样,执行reboot重

监听app卸载操作 方法二 启动服务

1.监控输出日志接口 /** * * 监控输出日志接口 */ public interface LogcatObserver { /** * * @param info *            输出的日志信息 */ public void handleLog(String info); } 2.继承一个服务 public class LogcatScannerService extends Service implements LogcatObserver { private String i

组策略限制添加用户作为服务登录导致ITAtomcat服务无法启动(log on as a service)

[故障类型]:ITA tomcat服务器无法启动. [关 键 词]:Logon as a service  作为服务登录  tomcat  loggeter [适用版本]:FusionCloud Solution V100R005C10/ FusionCloud Solution V100R005C20/ FusionCloud Solution V100R005C30 [问题现象]: ITA tomcat服务无法启动(loggeter服务也无法启动),在windows日志中发现有如下错误提示:

【运维监控】四款云服务监控工具介绍:Nagios 、 ganglia、zabbix、onealert

在我们日常的工作中,有时候需要监控和管理平台的运行状况,而服务运行是否存在异常,是否有软硬件bug等,均需要第一时间知道.对服务状态了如指掌,是一个很重要的事情.那么这个如何做到呢,我们之前在进行私有云平台研发过程中,曾经用过一些工具,在一定程度上能帮到大家,这里记录一下,希望对有需要的同学有帮助. 一些常见的监控.告警工具:Nagios . ganglia.zabbix.onealert 一.Nagios: Nagios是一款开源的免费网络监视工具,能有效监控Windows.Linux和Uni

【C#】WinForm 之 SQL Server 服务监控器(避免开机启动服务)

由于刚刚开始写博客加上最近人又懒,很多过去的项目都没时间去整理,先把以前写过的一个小工具发上来吧. 关于MS-SQL服务优化 安装过MS-SQL Server的人应该知道,系统会因此多出4.5项新的服务 SQL Active Directory Helper 服务 SQL Server (SQLEXPRESS)  这个是Visual Studio自带的,单独安装过数据库管理工具的数据库名字会不同 SQL Server Browser SQL Server VSS Writer SQL Serve

Mac OS启动服务优化高级篇(launchd tuning)

Mac下的启动服务主要有三个地方可配置:1,系统偏好设置->帐户->登陆项2,/System/Library/StartupItems 和 /Library/StartupItems/3,launchd 系统初始化进程配置. 前两种优化比较简单,本文主要介绍的是第三种更为复杂的launchd配置优化.launchd是Mac OS下,用于初始化系统环境的关键进程.类似Linux下的init, rc. 我们先来看一下Mac OS X的启动原理:1,mac固件激活,初始化硬件,加载BootX引导器.

SpringCloud系列七:Hystrix 熔断机制(Hystrix基本配置、服务降级、HystrixDashboard服务监控、Turbine聚合监控)

1.概念:Hystrix 熔断机制 2.具体内容 所谓的熔断机制和日常生活中见到电路保险丝是非常相似的,当出现了问题之后,保险丝会自动烧断,以保护我们的电器, 那么如果换到了程序之中呢? 当现在服务的提供方出现了问题之后整个的程序将出现错误的信息显示,而这个时候如果不想出现这样的错误信息,而希望替换为一个错误时的内容. 一个服务挂了后续的服务跟着不能用了,这就是雪崩效应 对于熔断技术的实现需要考虑以下几种情况: · 出现错误之后可以 fallback 错误的处理信息: · 如果要结合 Feign

部署audit监控文件、加固常见服务的安全、使用diff和patch工具打补丁

部署audit监控文件.加固常见服务的安全.使用diff和patch工具打补丁 要求熟悉audit审计工具的基本使用,完成以下任务操作: 使用audit监控/etc/ssh/sshd_config 当该文件发生任何变化即记录日志 通过手动和ausearch工具查看日志内容 审计的目的是基于事先配置的规则生成日志,记录可能发生在系统上的事件(正常或非正常行为的事件),审计不会为系统提供额外的安全保护,但她会发现并记录违反安全策略的人及其对应的行为. 审计能够记录的日志内容: a) 日期与事件以及事

ZooKeeper单机服务端的启动源码阅读

程序的入口QuorumPeerMain public static void main(String[] args) { // QuorumPeerMain main = new QuorumPeerMain(); try { // 初始化服务端,并运行服务端 // todo 跟进去看他如何处理 服务端的配置文件,以及根据服务端的配置文件做出来那些动作 main.initializeAndRun(args); 点击查看上图原文地址( zhaoyu_nb) 初始化和启动总览 跟进initializ