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