diff --git a/L1/dockerfiles/collector/Dockerfile b/L1/dockerfiles/collector/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..61c7876736718ac2b36b612ded9d9eae4c8e657c --- /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 0000000000000000000000000000000000000000..96c283820c148d1ad300bc0ca1a531e9c3a72567 --- /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 0000000000000000000000000000000000000000..262740ab08e1bd7cbaa97ecc34050806e9f44214 --- /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 5f0f5283f67a8205a526a86fb0479fdef1603e59..e6eaffd1ddf0bf34cd2e7f39d4717cc5bebe6392 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