Skip to main content

用于弹性搜索的 Python 日志记录处理程序。

项目描述

python-弹性-logstash

无论格式或复杂性如何,Logstash 都会动态摄取、转换和发送您的数据。使用 grok 从非结构化数据中派生结构,从 IP 地址破译地理坐标,匿名或排除敏感字段,并简化整体处理。

安装

使用点子:

pip install python-elastic-logstash

特征

  1. 在 elasticsearch 中发送 Python 日志。

  2. 适用于 Python Django。

  3. 停止容差能力。

  4. 覆盖自定义字段的索引。

如果有任何问题,请在https://github.com/wasim/python-elastic-logstash/issues提交问题

用法

例如:

import logging
import sys
from python_elastic_logstash import ElasticHandler, ElasticFormatter

"""
Provide logger name simple without any special character
Logger name will become as Elastic Search Index
"""
logger = logging.getLogger('python-elastic-logstash')
logger.setLevel(logging.DEBUG)

elasticsearch_endpoint = 'http://localhost:9200' # No trailing slash

elastic_handler = ElasticHandler(elasticsearch_endpoint, 'dev')  # Second argument is optional
elastic_handler.setFormatter(ElasticFormatter())

logger.addHandler(elastic_handler)

# Extra is optional.
extra = {
    'elastic_fields': {
        'version': 'python version: ' + repr(sys.version_info)
    }
}

logger.debug("Python elastic logstash configured", extra=extra)

Kibana 创建索引页面

https://raw.githubusercontent.com/wasim/python-elastic-logstash/master/index.png

Kibana 发现页面

https://raw.githubusercontent.com/wasim/python-elastic-logstash/master/discover.png

使用 Django

修改你的 settings.py

例子:

LOGGING = {
    ...
    'version': 1,
    'disable_existing_loggers': False,
    'handlers': {
        'elastic_handler': {
            'level': 'DEBUG',
            'class': 'python_elastic_logstash.ElasticHandler',
            'url': 'http://localhost:9200'
        },
        'console': {
            'class': 'logging.StreamHandler'
        },
    },
    'root': {
        'handlers': ['console'],
        'level': 'WARNING',
    },
    'loggers': {
        'django.request': {
            'handlers': ['elastic_handler'],
            'level': 'DEBUG',
            'propagate': True,
        },
        'python-elastic-logstash': {
            'handlers': ['elastic_handler'],
            'level': 'DEBUG',
            'propagate': True,
        },
    }
    ...
}

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

python_elastic_logstash-2.0.0.tar.gz (3.9 kB 查看哈希

已上传 source

内置分布

python_elastic_logstash-2.0.0-py3-none-any.whl (4.7 kB 查看哈希

已上传 py3