线上常用脚本总结
SP服务器
sp_status.sh
sp服务监控脚本,内容包括:端口监控和进程监控(命令过滤方式)
[root@BJ-APP-SP-01 python]# cat /home/ctchat/shell/sp_status.sh #!/bin/bash # 使用netstat -tnlp 命令过滤端口 sipcore=`netstat -tnlp|grep sipcore|wc -l` # 使用ps -ef 命令过滤进程 sipcore_process=`ps -ef |grep sipcore|grep -v "grep"|wc -l` if [ $sipcore -ge 5 -a ${sipcore_process} -ge 2 ];then echo "1" else echo "0" fi
get_manager.py
监控由sp服务输出的counter文件数值
[root@BJ-APP-SP-01 python]# cat get_manager.py #!/usr/bin/python #coding:utf-8 import os, sys, re def func(): # 拼接cat 命令 shell = "cat /home/ctchat/services/" + sys.argv[1] + "/counter" # 根据传入的C10001 执行cat命令,获取:后面的值 re_result = str(re.findall(sys.argv[2] + ".*", os.popen(shell).read())[0]).split(":") # 打印内容 print(re_result[1]) func()
MDS、DS、GIS、WEB、PTT、MID服务器
使用/home/ctchat/python/get_port.py 脚本监控,具体见python监控服务文档
mds也有counter文件监控,跟sp一样
OMC服务器
邮件告警脚本
[root@BJ-APP-SP-01 python]# cat get_manager.py #!/usr/bin/python #coding:utf-8 import os, sys, re def func(): # 拼接cat 命令 shell = "cat /home/ctchat/services/" + sys.argv[1] + "/counter" # 根据传入的C10001 执行cat命令,获取:后面的值 re_result = str(re.findall(sys.argv[2] + ".*", os.popen(shell).read())[0]).split(":") # 打印内容 print(re_result[1]) func()