当前在我的Logstash配置中,我有类似以下内容:
input {
file {
type => "catalina-out"
path => [ "/var/tomcat/logs/catalina.out"]
sincedb_path => "$HOME/.sincedb"
tags => ["tomcat", "catalina-out"]
codec => multiline {
pattern => "(^.+Exception: .+)|(^\s+at .+)|(^\s+... \d+ more)|(^\s*Caused by:.+)|(%{LOGLEVEL}: %{GREEDYDATA})"
what => "previous"
}
}
...
我有很多Tomcat输出文件,并且我想将其codec
(或者,最好不是pattern
)与其他file
定义一起重用。
我的问题是,以下内容给我一个错误:
input {
tomcat_multiline_codec => multiline {
pattern => "(^.+Exception: .+)|(^\s+at .+)|(^\s+... \d+ more)|(^\s*Caused by:.+)|(%{LOGLEVEL}: %{GREEDYDATA})"
what => "previous"
}
file {
type => "catalina-out"
path => [ "/var/tomcat/logs/catalina.out"]
sincedb_path => "$HOME/.sincedb"
tags => ["tomcat", "catalina-out"]
codec => tomcat_multiline_codec
}
...
如何与块分开定义一次codec
(或在必要时定义pattern
),file
以便可以在其他file
块中重用?
根本不支持此功能。Logstash没有通用变量。除非可以使用多行过滤器,否则最好的选择是使用具有模板支持的配置管理系统来生成和部署Logstash配置文件。无论如何,您都不应该手工维护它们。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句