docekr容器状态监控脚本

docekr容器状态监控脚本

1.实现目标

1.监控docker服务状态,并打印日志。
2.监控docker容器状态,并打印日志。
3.docker服务状态异常时重启docker服务。
4.docker容器状态异常时重启docker容器。
5.重启docker服务或docker容器状态还是异常,实现邮件或微信告警,通知管理人处理。

2.docker监测脚本

#!/bin/bash

now=`date +"%Y-%m-%d %H:%M:%S"`

####查看docker服务状态###
service_exist=`systemctl is-active docker`
if [ "${service_exist}" != "active" ]; then
	systemctl start docker.service
	echo "${now} 重启docker服务" >> /var/log/docker_monitor.log
fi

###查看进程是否存在###
for containerId in `docker ps -a -q`
do
	pro_exist=`docker inspect --format '{{.State.Running}}' ${containerId}`
	if [ "${pro_exist}" != "true" ]; then
			docker start ${containerId}
			containerName=`docker inspect --format='{{.Name}}' $containerId | cut -c 2-`
			echo "${now} 重启docker容器,容器名:${containerName},容器ID:${containerId}" >> /var/log/docker_monitor.log
	fi
done

3.添加定时任务

*/5 * * * * sh ~/scripts/docker-monitor.sh > /dev/null 2&>1

版权声明:本文为m0_37814112原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。