定时检测服务状态脚本实现

简介: 定时检测服务状态脚本实现

1、定时监测服务状态需求

背景:
当前有一服务实时在运行,从互联网搜索引擎(百度、360、bing等)搜索结果并返回。由于该服务被多个进程调用,负载均衡机制处理的并不好。
要求:
1)、定时监测该服务的返回状态,出现错误后,邮件告警。
2)、周期可以自定义。

2、定时监测服务状态实现

[root@lasearch]# cat running.sh

#!/bin/sh

step=5 #间隔的秒数,不能大于60
for(( i = 0; i < 60; i=(i+step))); do

  DOWN_LOG="/home/yy/search/down_log.txt"
  SUCC_LOG="/home/yy/search/success_log.txt"
  SEARCH_ADDR="110.128.8.252:19783"

  #cat /dev/null > $DOWN_LOG
  #cat /dev/null > $SUCC_LOG

  curTime=`date`
  rst=`curl http://$SEARCH_ADDR/search?word=%E5%8D%8E%E8%A5%BF%E5%8C%BB%E9%99%A2\&sid=baidu\&page=1\&sort=1\&ie=utf-8\&query_code=Ebc31058 | grep "{"`

  #echo "time = $curTime, rst = $rst"

  if [[ $rst == "" ]]; then
  echo "[$curTime] may be $SEARCH_ADDR is down!" >> $DOWN_LOG
  else
  echo "[$curTime] $SEARCH_ADDR is ok!" >> $SUCC_LOG
  fi
  sleep $step

关于邮件预警的思路:

1)同样上面shell脚本用Java探测实现,根据返回码来区分;
2)非200的实现邮件告警!Java自动邮件程序实现即可。

3、小结

需注意地方——curl中的url中含有”&”的时候,要加上””反斜杠处理。否则会报错。


作者:铭毅天下
转载请标明出处,原文地址:http://blog.csdn.net/laoyang360/article/details/70946264

相关文章
|
8月前
|
Shell 开发工具
【优化篇】telegraf+shell脚本实现秒级的服务状态异常监测与告警
【优化篇】telegraf+shell脚本实现秒级的服务状态异常监测与告警
194 0
|
5月前
|
负载均衡 算法 微服务
前置知识 判断服务的健康状态
【8月更文挑战第19天】
44 0
|
8月前
|
弹性计算 运维 监控
|
存储 Kubernetes Linux
k8s日志自动收集脚本
k8s日志自动收集脚本
200 0
|
监控
zabbix配置自动恢复动作
zabbix配置自动恢复动作
331 0
zabbix配置自动恢复动作
|
大数据 Python
Pythpn实现多脚本处理定时运行
Pythpn实现多脚本处理定时运行
143 0
Pythpn实现多脚本处理定时运行
|
测试技术
自动定时发送每日构建测试报告
自动定时发送每日构建测试报告
162 1
|
监控 Shell 应用服务中间件
使用crontab配合shell脚本定时检测拉起服务
使用crontab配合shell脚本定时检测拉起服务
268 0
|
调度 Python
定时功能
利用Py简单实现定时功能
|
负载均衡 搜索推荐 Java
定时检测服务状态脚本实现
1、定时监测服务状态需求
237 0