Python 配置Rsyslog(Docker->;TCP->;Rsyslog->;ElasticSearch)
我不熟悉rsyslog、远程日志和elasticsearch 我配置了一个python脚本(从docker容器运行)通过TCP将日志发送到$HOST:$PORT 我已经安装了rsyslog、mmnormalize模块和omelasticsearch模块 现在我想了解我的rsyslog.conf(在主机上)应该如何使用elasticsearch收集日志(来自172.17.0.0/16)Python 配置Rsyslog(Docker->;TCP->;Rsyslog->;ElasticSearch),python,logging,
elasticsearch,rsyslog,Python,Logging,
elasticsearch,Rsyslog,我不熟悉rsyslog、远程日志和elasticsearch 我配置了一个python脚本(从docker容器运行)通过TCP将日志发送到$HOST:$PORT 我已经安装了rsyslog、mmnormalize模块和omelasticsearch模块 现在我想了解我的rsyslog.conf(在主机上)应该如何使用elasticsearch收集日志(来自172.17.0.0/16) 谢谢大家! 以下是我解决问题的方法: # /etc/rsyslog.d/docker.rb version=2
谢谢大家! 以下是我解决问题的方法:
# /etc/rsyslog.d/docker.rb
version=2
# My sample record
# [Apr 25 12:00]$CONTAINER_HOSTNAME:INFO:Package.Module.Sub-Module:Hello World
#
# Here there is the rule to parse the log records into trees
rule=:[%date:char-to:]%]%hostname:char-to::%:%level:char-to::%:%file:char-to::%:%message:rest%
#
# alternative to set date field in rfc3339 format
# rule=:[%date:date-rfc3339%]%hostname:char-to::%:%level:char-to::%:%file:char-to::%:%message:rest%
接下来安装kibana可以“配置索引模式”,只需将“索引名称或模式”设置为“docker日志”,将“时间字段名称”设置为“@timestamp”
注意,对日志的来源没有控制(172.17.0.0/16);发送到$HOST:$PORT的每个日志记录如果正确解析,将插入elasticsearch索引。以下是我解决问题的方法:
# /etc/rsyslog.d/docker.rb
version=2
# My sample record
# [Apr 25 12:00]$CONTAINER_HOSTNAME:INFO:Package.Module.Sub-Module:Hello World
#
# Here there is the rule to parse the log records into trees
rule=:[%date:char-to:]%]%hostname:char-to::%:%level:char-to::%:%file:char-to::%:%message:rest%
#
# alternative to set date field in rfc3339 format
# rule=:[%date:date-rfc3339%]%hostname:char-to::%:%level:char-to::%:%file:char-to::%:%message:rest%
接下来安装kibana可以“配置索引模式”,只需将“索引名称或模式”设置为“docker日志”,将“时间字段名称”设置为“@timestamp” 注意,对日志的来源没有控制(172.17.0.0/16);发送到$HOST:$PORT的每个日志记录,如果正确解析,将插入到elasticsearch索引中