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

简介: 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

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

关于邮件预警的思路:

1)同样上面shell脚本用Java探测实现,根据返回码来区分;

2)非200的实现邮件告警!Java自动邮件程序实现即可。


3、小结

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

相关文章
|
1月前
|
Kubernetes 监控 测试技术
在K8S中,如何查看pod状态的详情? 事件显示cpu不足如何处理?
在K8S中,如何查看pod状态的详情? 事件显示cpu不足如何处理?
|
3月前
|
监控 关系型数据库 MySQL
Flink实现实时异常登陆监控(两秒内多次登陆失败进行异常行为标记)
Flink实现实时异常登陆监控(两秒内多次登陆失败进行异常行为标记)
|
4月前
|
传感器 自然语言处理 自动驾驶
自动执行与反馈
自动执行与反馈
28 1
|
数据采集 监控 Linux
一日一技:不用轮询,基于事件监控文件变动
一日一技:不用轮询,基于事件监控文件变动
115 0
|
大数据 Python
Pythpn实现多脚本处理定时运行
Pythpn实现多脚本处理定时运行
130 0
Pythpn实现多脚本处理定时运行
|
测试技术
自动定时发送每日构建测试报告
自动定时发送每日构建测试报告
149 1
「WGCLOUD」指令下发后需要多长时间执行完成
「WGCLOUD」的指令下发后需要多长时间执行完成
「WGCLOUD」指令下发后需要多长时间执行完成
|
调度 Python
定时功能
利用Py简单实现定时功能
|
Java Shell
定时检测服务状态脚本实现
定时检测服务状态脚本实现
540 0
定时检测服务状态脚本实现
|
Arthas Java 测试技术
Arthas 手动触发生产定时任务的危险操作
背景 最近来了个实习僧小弟,安排他实现对目标网站 连通性检测的小功能,简单讲就是将下边的shell 脚本换成Java 代码来实现 #!/bin/bash URL="https://www.baidu" HTTP_CODE=`curl -o /dev/null -s -w "%{http_code}...
1667 0