[modify] change alert method to mail
This commit is contained in:
parent
5efa59be75
commit
8d11aa9ec8
@ -1,12 +1,15 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
> /tmp/docker_alarm.log
|
||||||
docker ps -a --format "table {{.Names}}\t{{.Status}}" > /opt/logs/docker_status.log
|
docker ps -a --format "table {{.Names}}\t{{.Status}}" > /opt/logs/docker_status.log
|
||||||
while read line; do
|
while read line; do
|
||||||
echo $line | grep -q 'Exited'
|
echo $line | grep -q 'Exited'
|
||||||
if [[ $? -eq 0 ]]; then
|
if [[ $? -eq 0 ]]; then
|
||||||
name=`echo $line | awk '{print $1}'`
|
name=`echo $line | awk '{print $1}'`
|
||||||
alarm="Docker Alarm - $name:\nContainer $name has been off line, please check ASAP."
|
echo "Docker Alarm - $name: Container $name has been off line, please check ASAP." >> /tmp/docker_alarm.log
|
||||||
bash /opt/scripts/alert/sendmsg.sh "$alarm"
|
|
||||||
fi
|
fi
|
||||||
done < /opt/logs/docker_status.log
|
done < /opt/logs/docker_status.log
|
||||||
|
|
||||||
|
alarm=`cat /tmp/docker_alarm.log`
|
||||||
|
python3 /opt/scripts/alert/sendmail.py "Docker Alarms" "$alarm"
|
||||||
|
|
||||||
|
@ -4,33 +4,33 @@ import time
|
|||||||
import os
|
import os
|
||||||
|
|
||||||
|
|
||||||
def send_alert_msg(alert_msg):
|
# def send_alert_msg(alert_msg):
|
||||||
"""
|
# """
|
||||||
send warning messages to phone via Enterprise WeChat Bot API
|
# send warning messages to phone via Enterprise WeChat Bot API
|
||||||
:param alert_msg: messages needed to be sent
|
# :param alert_msg: messages needed to be sent
|
||||||
:return: None
|
# :return: None
|
||||||
"""
|
# """
|
||||||
|
#
|
||||||
# get the datetime, which is using at a failed situation
|
# # get the datetime, which is using at a failed situation
|
||||||
alert_datetime = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))
|
# alert_datetime = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))
|
||||||
# # Enterprise Wechat Bot API and the format of body to send
|
# # # Enterprise Wechat Bot API and the format of body to send
|
||||||
hook_url = 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=ddea3f5f-fbfc-4c21-994a-71e9fc50e4ef'
|
# hook_url = 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=ddea3f5f-fbfc-4c21-994a-71e9fc50e4ef'
|
||||||
body = {
|
# body = {
|
||||||
"msgtype": "text",
|
# "msgtype": "text",
|
||||||
"text": {
|
# "text": {
|
||||||
"content": alert_msg
|
# "content": alert_msg
|
||||||
}
|
# }
|
||||||
}
|
# }
|
||||||
|
#
|
||||||
# get the result of API call
|
# # get the result of API call
|
||||||
res = requests.post(hook_url, data=json.dumps(body, ensure_ascii=False).encode('utf-8'))
|
# res = requests.post(hook_url, data=json.dumps(body, ensure_ascii=False).encode('utf-8'))
|
||||||
|
#
|
||||||
# when failed, log it in /opt/logs/alert.log file
|
# # when failed, log it in /opt/logs/alert.log file
|
||||||
if res.status_code != 200:
|
# if res.status_code != 200:
|
||||||
with open('/opt/logs/alert.log', 'a', encoding='utf-8') as alert_log:
|
# with open('/opt/logs/alert.log', 'a', encoding='utf-8') as alert_log:
|
||||||
alert_log.write(alert_datetime + ' >>>> ')
|
# alert_log.write(alert_datetime + ' >>>> ')
|
||||||
alert_log.write('Failed sending message: ')
|
# alert_log.write('Failed sending message: ')
|
||||||
alert_log.write(alert_msg + '\n')
|
# alert_log.write(alert_msg + '\n')
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
@ -87,7 +87,13 @@ def main():
|
|||||||
alert_msg += '\n'
|
alert_msg += '\n'
|
||||||
|
|
||||||
alert_msg += 'So, hurry up!! Go get things done!!'
|
alert_msg += 'So, hurry up!! Go get things done!!'
|
||||||
send_alert_msg(alert_msg)
|
os.environ['subject'] = 'TODO TIPS'
|
||||||
|
os.environ['txt'] = alert_msg
|
||||||
|
# os.system('/usr/bin/echo subject = $subject')
|
||||||
|
# os.system('/usr/bin/echo txt = $txt')
|
||||||
|
# exit(9)
|
||||||
|
os.system('/usr/bin/python3 /opt/scripts/alert/sendmail.py "$subject" "$txt"')
|
||||||
|
# send_alert_msg(alert_msg)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
Loading…
x
Reference in New Issue
Block a user