From afdb7cf7d6bf1e3a844e8c91f8e6381dc7f17804 Mon Sep 17 00:00:00 2001 From: zxl Date: Thu, 13 Jun 2024 15:28:28 +0800 Subject: [PATCH] =?UTF-8?q?=E6=97=A5=E5=BF=97=E6=A0=BC=E5=BC=8F=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- L1/dockerfiles/collector/Dockerfile | 12 ++++++++++++ L1/dockerfiles/collector/Makefile | 19 +++++++++++++++++++ L1/dockerfiles/collector/ReadMe.MD | 17 +++++++++++++++++ L1/dockerfiles/collector/collector.sh | 10 +++------- 4 files changed, 51 insertions(+), 7 deletions(-) create mode 100644 L1/dockerfiles/collector/Dockerfile create mode 100644 L1/dockerfiles/collector/Makefile create mode 100644 L1/dockerfiles/collector/ReadMe.MD diff --git a/L1/dockerfiles/collector/Dockerfile b/L1/dockerfiles/collector/Dockerfile new file mode 100644 index 0000000..61c7876 --- /dev/null +++ b/L1/dockerfiles/collector/Dockerfile @@ -0,0 +1,12 @@ +FROM hub.cstcloud.cn/scalebox/agent + +LABEL maintainer="Xiaoli Zhang" + +COPY run.sh /app/bin/ +RUN chmod +x /app/bin/run.sh +COPY --from=hub.cstcloud.cn/scalebox/base /usr/local/sbin /usr/local/sbin + +RUN mkdir /work/ +WORKDIR /work/ + +ENTRYPOINT ["goagent"] \ No newline at end of file diff --git a/L1/dockerfiles/collector/Makefile b/L1/dockerfiles/collector/Makefile new file mode 100644 index 0000000..96c2838 --- /dev/null +++ b/L1/dockerfiles/collector/Makefile @@ -0,0 +1,19 @@ +IMAGE_NAME:=hub.cstcloud.cn/scalebox/collector +IMAGE_PATH:=/obsfs/temp + +build: + docker build --network=host -t $(IMAGE_NAME) . + +dist: +#docker save $(IMAGE_NAME) | zstdmt | pv | ssh c0 'zstd -d | docker load' + docker save $(IMAGE_NAME) > $(IMAGE_PATH)/collector.tar + ssh c0 docker load -i $(IMAGE_PATH)/collector.tar + ssh c1 docker load -i $(IMAGE_PATH)/collector.tar + ssh c2 docker load -i $(IMAGE_PATH)/collector.tar + +push: + docker push $(IMAGE_NAME) +run: + docker run -it --entrypoint bash $(IMAGE_NAME) +down: + docker stop $(IMAGE_NAME) diff --git a/L1/dockerfiles/collector/ReadMe.MD b/L1/dockerfiles/collector/ReadMe.MD new file mode 100644 index 0000000..262740a --- /dev/null +++ b/L1/dockerfiles/collector/ReadMe.MD @@ -0,0 +1,17 @@ +# Crontab 设置 + +## 目录说明 +- 每个用户可以有自己的 crontab 文件,存储在 /var/spool/cron 目录中; +- root 用户的 crontab 文件通常存储在 /etc/crontab 文件中; +## crontab 文件格式 +- 每一行代表一个定时任务,格式如下: +```bash +* * * * * command +# 分别表示分钟(0-59)、小时(0-23)、日期(1-31)、月份(1-12)、星期(0-7)和要执行的命令。 + +#设置为23:56执行此命令 +56 23 * * * /home/zhangxiaoli/backup_log.sh +``` + +56 23 * * * /home/csst/collector/backup_log.sh + diff --git a/L1/dockerfiles/collector/collector.sh b/L1/dockerfiles/collector/collector.sh index 5f0f528..e6eaffd 100644 --- a/L1/dockerfiles/collector/collector.sh +++ b/L1/dockerfiles/collector/collector.sh @@ -1,21 +1,17 @@ #!/bin/bash # collect meminfo and docker disk -printf " %-10s %-10s %-15s %-15s %-15s %-15s \n" "Time" "" "MemTotal" "MemFree" "MemAvailable" "DockerFiles(MB)" | tee -a /var/log/collector.log -# printf " %-10s %-10s %-15s %-15s %-15s %-15s \n" "Time" "" "MemTotal" "MemFree" "MemAvailable" "DockerFiles(MB)" >> /var/log/collector.log - +printf " %-20s %-15s %-15s %-15s %-15s \n" "Time" "MemTotal" "MemFree" "MemAvailable" "DockerFiles(MB)" | tee -a /var/log/collector.log while true do - curDate=$(printf "%(%Y-%m-%d)T" -1) - curTime=$(printf "%(%H:%M:%S)T" -1) + curTime=$(printf "%(%Y-%m-%dT%H:%M:%S)T" -1) memTotal=$(cat /proc/meminfo|grep MemTotal|awk '{print $2 $3}') memFree=$(cat /proc/meminfo|grep MemFree|awk '{print $2 $3}') memAva=$(cat /proc/meminfo|grep MemAvailable|awk '{print $2 $3}') dockerFiles=$(du -ms /var/lib/docker|awk '{print $1}') - printf " %-10s %-10s %-15s %-15s %-15s %-15s \n" $curDate $curTime $memTotal $memFree $memAva $dockerFiles | tee -a /var/log/collector.log - # printf " %-10s %-10s %-15s %-15s %-15s %-15s \n" $curDate $curTime $memTotal $memFree $memAva $dockerFiles >> /var/log/collector.log + printf " %-20s %-15s %-15s %-15s %-15s \n" $curTime $memTotal $memFree $memAva $dockerFiles | tee -a /var/log/collector.log sleep 10 -- GitLab