docker检测内存使用情况并记录日志

#!/bin/bash

# 定义要监控的容器名称
CONTAINER_NAME="容器名称"
while true;do
# 检查容器是否存在
if ! docker ps -a --format '{{.Names}}' | grep -q "^${CONTAINER_NAME}$"; then
    echo "Error: Container ${CONTAINER_NAME} does not exist."
fi

# 获取容器的内存占用率
MEMORY_USAGE=$(docker stats --no-stream --format "{{.MemPerc}}" ${CONTAINER_NAME} | tr -d '%')

# 输出内存占用率
echo "Container ${CONTAINER_NAME} memory usage: ${MEMORY_USAGE}%"

# 判断内存占用率是否超过阈值(例如80%)
THRESHOLD=80
if (( $(echo "${MEMORY_USAGE} > ${THRESHOLD}" | bc -l) )); then
    echo "Warning: Memory usage of container ${CONTAINER_NAME} exceeds ${THRESHOLD}%."
    # 这里可以添加额外的操作,例如重启容器或发送警报

 

posted @ 2025-02-27 10:09  龙丶谈笑风声  阅读(29)  评论(0)    收藏  举报