自己服务器搭建的gitlab, cpu|memory过高总报警,脚本监控

自己搭建的gitlab 总是因为cpu或memory过高,导致报警不断,尝试了各种改gitlab.rb文件,但是问题依旧存在。

主要是服务器配置偏低导致的吧,cpu: 两核  内存: 4G

报警后,时间长不处理会导致登录不上服务器,所以搞了个脚本检测,如果偏高了就自动重启。

代码: 没啥注释,就这么几行好理解

# vim: set ts=4 et sw=4 sts=4 fileencoding=utf-8:
import psutil
import os,datetime, time,sys
import logging
from logging.handlers import TimedRotatingFileHandler

log_path = os.getcwd()+'/monitor'
try:
    if not os.path.exists(log_path):
        os.makedirs(log_path)
except:
    pass

class LogHandler(logging.Logger):

    def __init__(self, name='monitor', level='DEBUG'):
        logging.Logger.__init__(self, name, level=level)
        file_name = os.path.join(log_path, 'monitor.log')
        file_handler = TimedRotatingFileHandler(filename=file_name, when='D', interval=1, backupCount=15)
        file_handler.suffix = '%Y%m%d.log'
        self.file_handler = file_handler
        self.addHandler(file_handler)

def run():
    system_data = psutil.virtual_memory()
    #print(system_data)
    memory_rate = system_data.percent
    #print (memory_rate)
    cpu_rate = psutil.cpu_percent(interval=1)
    #print (cpu_rate)
    LogHandler().info('time:%s memory:%s cpu:%s' %(datetime.datetime.now(), memory_rate, cpu_rate))
    if int(cpu_rate) > 90 or int(memory_rate) > 95:
        os.system('gitlab-ctl restart')

if __name__=='__main__':
    run()

  

 

posted @ 2020-12-02 15:09  c-c  阅读(1)  评论(0)    收藏  举报