记一次添加一个docker 监控的的小工具 - 孤舟勇进 - D1h.Net第一号博客
返回主页

孤舟勇进

记一次添加一个docker 监控的的小工具

背景

由于测试环境docker 容器里的celery, 进程在但是不执行任务!故猜测是由于docker 内存不够,导致的问题(PS: 但是目前不知道为啥进程在,但是任务不执行了。这个问题,需要接下来查下原因)。

解决思路

添加docker 容器内存监控,明确出问题的确切原因

方法

写一个shell文件,使用docker stats 拿到容器使用情况。crontab定时执行。

过程

  • a.编写.sh文件
#!/bin/bash # 获取当前时间 cur_date=`date +%Y%m%d` cur_time=`date +%H%M%S` subject="Get docker stats. ${cur_date}_${cur_time}" echo $subject docker_stats_log_folder=./logs # 一天生成一个文件 bizeff_backup_file="${docker_stats_log_folder}/docker_stats_${cur_date}.log" echo "" >> $bizeff_backup_file echo "==========================================================================${subject}==========================================================================" >> $bizeff_backup_file docker stats --no-stream >> $bizeff_backup_file # 添加个分界线 echo "=====================================================================================================================================================================================" >> $bizeff_backup_file echo "Getting docker stats is complete!" 
  • b.编写crontab 定时语句
# 每隔十分钟拉取一次,docker stats 信息 */10 * * * * /root/exec_file/get_docker_stats.sh >> /root/exec_file/logs/exec_get_docker_stats.log 
  • c.拿到测试执行 没有问题

  • d.添加定时任务

编辑定时任务 crontab -e 
  • e.结果没执行

      1. 确定没执行(难过的哇哇的)
      1. 打开crontab 执行日志,确定crontab有执行
 #打开crontab 执行日志 vim /etc/rsyslog.d/50-default.conf cron.* /var/log/cron.log # 去掉这个签名的# sudo service rsyslog restart # 重启日志 # 得到如下日志 Aug 1 23:12:01 dev-services-1 CRON[22734]: (root) CMD (/root/exec_file/get_docker_stats.sh >> /root/exec_file/logs/exec_get_docker_stats.log) Aug 1 23:12:01 dev-services-1 CRON[22733]: (root) MAIL (mailed 67 bytes of output but got status 0xffffffff from MTA#012) 得到结论 crontab 正在执行 # 查错得知,默认好像要配个邮箱啥的,不配置 选择 输出后面添加 */10 * * * * /root/exec_file/get_docker_stats.sh >> /root/exec_file/logs/exec_get_docker_stats.log 2>&1 # 之前系统创建了这个文件但是没有输出日志 所以是个空文件,经过上述调整得到日志输出 exec_get_docker_stats.log /bin/sh: 1: /root/exec_file/get_docker_stats.sh: Permission denied # 没有权限执行 加执行权限 chmod +x bash.sh 

完结撒花

对了,crontab -e 编辑的时候默认的编辑器超级难用。反正我是没玩明白。最后使用了select-editor 选了vim。

岁月不饶人,我亦曾绕过岁月。 很喜欢的一句话,与君共勉。做不绕过岁月的好汉!!!
posted @ 2021-08-02 00:04  孤舟勇进  阅读(6)  评论(0编辑  收藏  举报
Copyright © 2021 孤舟勇进
Powered by .NET 6 on Kubernetes

问答 28u iTmz.Net 3q科技 A8团队1 A8团队2 A8团队3 A8备