Flask PyGelf&;灰色的CPU达到99%
我们只是从Graylog v1.3.3移动到Graylog 2.0.3(f07c170)如果请求量不大的话,它运行良好 我们在Flask uWSGI python 3.5上运行,请求速度约为每分钟1000条,日志消息速度约为每分钟2700-3000条 我们已经尝试过的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
- 作为Graylog2的发货人,结果是CPU 99%
- 作为Graylog2的发货人,结果也是CPU 99%
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)