Splunk logger可以将日志消息直接从您的Python代码发送到Splunk。
项目描述
Splunk logger
Splunk的日志处理器。允许您直接从Python代码将信息发送到Splunk。
用法
请确保将***替换为您的凭证和特定的API域名,然后运行
import logging from splunk_logger import SplunkLogger ACCESS_TOKEN = '***' PROJECT_ID = '***' API_DOMAIN = 'api-***.data.splunkstorm.com' splunk_logger = SplunkLogger(access_token=ACCESS_TOKEN, project_id=PROJECT_ID, api_domain=API_DOMAIN) logging.getLogger('').addHandler(splunk_logger) logging.error('This is sent to splunk')
等待Splunk处理新信息几秒钟后,您应该在Web界面中看到类似以下内容
{ data : "This is sent to splunk", level : "ERROR", line : 1, module : "<stdin>" }
当在实际的Python程序中使用代码,而不是从Python控制台时,使用实际的行号和模块名。
配置文件
总是避免在源代码中硬编码凭证是一个好主意。该模块可以从当前目录或用户的家目录中的YAML文件中获取凭证。文件名命名为.splunk_logger,其格式如下
credentials: project_id: *** access_token: *** api_domain: api-***.data.splunkstorm.com
文件就位后,您可以使用模块如下
import logging from splunk_logger import SplunkLogger # No credentials specified here splunk_logger = SplunkLogger() logging.getLogger('').addHandler(splunk_logger) logging.error('This is sent to splunk')
通过环境变量进行配置
另一个splunk logger接受的配置源是环境变量。再次使用它们可以避免在源代码中硬编码凭证
SPLUNK_PROJECT_ID
SPLUNK_ACCESS_TOKEN
SPLUNK_API_DOMAIN
增强
这个模块中还有一些可以改进的地方
可以将记录器重构为以异步方式发送消息,这将使 logging.foo() 调用立即返回,而不是等待日志消息发送。
批量发送消息
欢迎提交拉取请求!
参考文献
本软件包实现了与Storm Splunk的通信,具体指定如下 这里。
报告错误
在 Splunk Logger的问题跟踪器 中报告您的问题和功能请求,我将非常乐意修复它们。
变更日志
2014年6月30日:用户需要指定API端点域名。修复了#2。
项目详情
关闭
splunk_logger-1.0.0.tar.gz的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | be0a8c87dbc2a447033f93ff3fbcdc56361cae37ff46c9446315326131643f16 |
|
MD5 | 70235a20590564178c6e18a1c4251e72 |
|
BLAKE2b-256 | babd64c2db322df72577dd3bc8db8ad95252dde1774bd8cb1898dd40af048587 |