“丝路通:监控报警程序”的版本间的差异

来自CloudWiki
跳转至: 导航搜索
(创建页面,内容为“1.系统运行状态报警 我们这里通过检测程序的端口号,进程号来判断程序是否正常运行,如果检测不到端口就发送邮电警告,…”)
 
第1行: 第1行:
1.系统运行状态报警
+
1.系统运行状态报警<br>
我们这里通过检测程序的端口号,进程号来判断程序是否正常运行,如果检测不到端口就发送邮电警告,告诉运维人员及时修复,采用每分钟一次扫描机制,同时运行状态通过ES实时发送到网页展示
+
我们这里通过检测程序的端口号,进程号来判断程序是否正常运行,如果检测不到端口就发送邮电警告,告诉运维人员及时修复,采用每分钟一次扫描机制,同时运行状态通过ES实时发送到网页展示<br>
  
代码展示:
+
代码展示:<br>
 
  [root@master YXZT]# cat check.py  
 
  [root@master YXZT]# cat check.py  
 
  # coding:utf-8
 
  # coding:utf-8
第27行: 第27行:
 
     print("{0}进程不存在,发送邮件警告".format(P_name),file=f)
 
     print("{0}进程不存在,发送邮件警告".format(P_name),file=f)
 
     sm.sendmail(receivers,"{0}进程down掉了,请及时修复".format(P_name),"{0}进程down掉了,请检测原因....".format(P_name))
 
     sm.sendmail(receivers,"{0}进程down掉了,请及时修复".format(P_name),"{0}进程down掉了,请检测原因....".format(P_name))
 
 
  ## 定义收件人
 
  ## 定义收件人
 
  # 定义进程名
 
  # 定义进程名
第43行: 第42行:
 
     print("{0}进程不存在,发送邮件警告".format(P2_name),file=f)
 
     print("{0}进程不存在,发送邮件警告".format(P2_name),file=f)
 
     sm.sendmail(receivers,"{0}进程down掉了,请及时修复".format(P2_name),"{0}进程down掉了,请检测原因....".format(P2_name))
 
     sm.sendmail(receivers,"{0}进程down掉了,请及时修复".format(P2_name),"{0}进程down掉了,请检测原因....".format(P2_name))
 
 
 
  # 定义进程名
 
  # 定义进程名
 
  P2_name="filebeat"
 
  P2_name="filebeat"
第59行: 第56行:
 
     print("{0}进程不存在,发送邮件警告".format(P2_name),file=f)
 
     print("{0}进程不存在,发送邮件警告".format(P2_name),file=f)
 
     sm.sendmail(receivers,"{0}进程down掉了,请及时修复".format(P2_name),"{0}进程down掉了,请检测原因....".format(P2_name))
 
     sm.sendmail(receivers,"{0}进程down掉了,请及时修复".format(P2_name),"{0}进程down掉了,请检测原因....".format(P2_name))
 
 
 
 
  hosts = ['39.101.189.249:3000']
 
  hosts = ['39.101.189.249:3000']
 
  hosts1 = ['39.101.189.249:1314']
 
  hosts1 = ['39.101.189.249:1314']
第78行: 第72行:
 
     print("网页无法访问,发送邮件警告",file=f)
 
     print("网页无法访问,发送邮件警告",file=f)
 
     sm.sendmail(receivers,"网页无法访问,请及时修复","网页无法访问,请检测原因....")
 
     sm.sendmail(receivers,"网页无法访问,请及时修复","网页无法访问,请检测原因....")
 
 
  socket.setdefaulttimeout(5)
 
  socket.setdefaulttimeout(5)
 
  for host1 in hosts1:
 
  for host1 in hosts1:

2020年9月24日 (四) 15:03的版本

1.系统运行状态报警
我们这里通过检测程序的端口号,进程号来判断程序是否正常运行,如果检测不到端口就发送邮电警告,告诉运维人员及时修复,采用每分钟一次扫描机制,同时运行状态通过ES实时发送到网页展示

代码展示:

[root@master YXZT]# cat check.py 
# coding:utf-8
import socket
from S_mail import SendEMail   #导入邮件类
import psutil
# 实例化邮件类
f = open("yxzt.txt","a+")
sm = SendEMail()
## 定义收件人
receivers = ['15610347662@163.com','2977023867@qq.com']  # 接收人邮箱
# 定义进程名
P_name="mysqld"
#定义检测进程函数
def checkprocess(processname):
   pl = psutil.pids()
   for pid in pl:
       if psutil.Process(pid).name() == processname:
           return pid
if isinstance(checkprocess(P_name),int):
   print("{0}进程存在".format(P_name),file=f)
   pass   # 进程存在
else:
   print("{0}进程不存在,发送邮件警告".format(P_name),file=f)
   sm.sendmail(receivers,"{0}进程down掉了,请及时修复".format(P_name),"{0}进程down掉了,请检测原因....".format(P_name))
## 定义收件人
# 定义进程名
P2_name="nginx"
#定义检测进程函数
def checkprocess(processname):
   pl = psutil.pids()
   for pid in pl:
       if psutil.Process(pid).name() == processname:
           return pid
if isinstance(checkprocess(P2_name),int):
   print("{0}进程存在".format(P2_name),file=f)
   pass   # 进程存在
else:
   print("{0}进程不存在,发送邮件警告".format(P2_name),file=f)
   sm.sendmail(receivers,"{0}进程down掉了,请及时修复".format(P2_name),"{0}进程down掉了,请检测原因....".format(P2_name))
# 定义进程名
P2_name="filebeat"
#定义检测进程函数
def checkprocess(processname):
   pl = psutil.pids()
   for pid in pl:
       if psutil.Process(pid).name() == processname:
           return pid
if isinstance(checkprocess(P2_name),int):
   print("{0}进程存在".format(P2_name),file=f)
   pass   # 进程存在
else:
   print("{0}进程不存在,发送邮件警告".format(P2_name),file=f)
   sm.sendmail(receivers,"{0}进程down掉了,请及时修复".format(P2_name),"{0}进程down掉了,请检测原因....".format(P2_name))
hosts = ['39.101.189.249:3000']
hosts1 = ['39.101.189.249:1314']
socket.setdefaulttimeout(5)
for host in hosts:
   ip = host.split(':')[0]
port = host.split(':')[1]
server = socket.socket()
res = server.connect_ex((ip, int(port)))# 返回值为0代表ok,
print("检测8080端口,网页状态0为正常:")
print(res)
if res == 0:
   print("网页状态正常",file=f)
   pass
else :
   print("网页无法访问,发送邮件警告",file=f)
   sm.sendmail(receivers,"网页无法访问,请及时修复","网页无法访问,请检测原因....")
socket.setdefaulttimeout(5)
for host1 in hosts1:
   ip = host1.split(':')[0]
port = host1.split(':')[1]
server = socket.socket()
res = server.connect_ex((ip, int(port)))# 返回值为0代表ok,
print("检测端口9200,elasticsearch状态0为正常:")
print(res)
if res == 0:
   print("elasticsearch状态正常",file=f)
   pass
else :
   print("elasticsearch状态异常","发送邮件警告",file=f)
   sm.sendmail(receivers,"elasticsearch状态异常,请及时修复","elasticsearch状态异常,请检测原因....")