Flask PyGelf&;灰色的CPU达到99%

Flask PyGelf&;灰色的CPU达到99%,flask,uwsgi,python-3.5,graylog2,Flask,Uwsgi,Python 3.5,Graylog2,我们只是从Graylog v1.3.3移动到Graylog 2.0.3(f07c170)如果请求量不大的话,它运行良好 我们在Flask uWSGI python 3.5上运行,请求速度约为每分钟1000条,日志消息速度约为每分钟2700-3000条 我们已经尝试过的 作为Graylog2的发货人,结果是CPU 99% 作为Graylog2的发货人,结果也是CPU 99% logger_info.py log_graylog2_adapter.py(Pygelf) log\u graylog

我们只是从Graylog v1.3.3移动到Graylog 2.0.3(f07c170)如果请求量不大的话,它运行良好

我们在Flask uWSGI python 3.5上运行,请求速度约为每分钟1000条,日志消息速度约为每分钟2700-3000条

我们已经尝试过的

  • 作为Graylog2的发货人,结果是CPU 99%
  • 作为Graylog2的发货人,结果也是CPU 99%
logger_info.py log_graylog2_adapter.py(Pygelf) log\u graylog2\u adapter.py(GrayPy) 每个请求都在脚本下面运行。 关于这个问题有什么想法。

我现在用的是,它工作得很好

import logging
class LoggerInfo(logging.Filter):
    def __init__(self, message_id=None, full_message=None, feed_id=None):
        self.message_id = message_id
        self.full_message = full_message
        self.feed_id = feed_id

    def filter(self, record):
        record.message_id = self.message_id
        record.full_message = self.full_message
        record.feed_id = self.feed_id
        return True
from config import setting
from pygelf import GelfUdpHandler
import logging


class LogGraylog2Adapter():
    gelf_version = '1.1'

    def __init__(self, feed_id):
        self.feed_id = feed_id
        self.init_logger(feed_id)
    def init_logger(self, feed_id):
        try:
            logging.basicConfig(level=logging.INFO)
            self.my_logger = logging.getLogger(setting.LOG_NAME)
            self.my_logger.addHandler(
                GelfUdpHandler(host='127.0.0.1', port=12201,
                               compress=True, chunk_size=1350, include_extra_fields=True))
        except Exception as er:
            printd('graylog_error %s' % er)

    def log(self, logger_info):
        try:
            self.my_logger.addFilter(logger_info)
            self.my_logger.info(logger_info.full_message)
        except Exception as er:
            printd('graylog_error %s' % er)
import logging
import graypy


class LogGraylog2Adapter():
    gelf_version = '1.1'

    def __init__(self, feed_id):
        self.server = '127.0.0.1'
        self.port = 12201
        self.feed_id = feed_id
        self.init_logger(feed_id)

    def init_logger(self, feed_id):
        self.my_logger = logging.getLogger('logname')
        self.my_logger.setLevel(logging.INFO)
        self.init_handler()

    def init_handler(self):
        try:
            self.handler = graypy.GELFHandler(self.server, self.port, debugging_fields=False,
                                              localname='hostname')
            self.my_logger.addHandler(self.handler)
        except Exception as er:
            printd('graylog_error %s' % er)

    def log(self, logger_info):
        try:
            self.my_logger.addFilter(logger_info)
            self.my_logger.info(logger_info.full_message)
        except Exception as er:
            printd('graylog_error %s' % er)
from log_graylog2_adapter import LogGraylog2Adapter
from logger_info import LoggerInfo

logger = LogGraylog2Adapter('feed_id')
log_info = LoggerInfo(
   message_id='message_id',
   feed_id='feed_id',
   full_message='full_message'
)
logger.log(log_info)