Logstash配置——变量的使用
2017-07-24 00:00
253 查看
摘要: 使用Logstash的grok filter plugin可以定义变量,从而可以实现通过变量定义输出的文件名等。
前置条件:Linux Logstash 5.5.0(其他版本请查阅一下文档)
使用logstash把日志从文件输出到文件,根据输入文件的路径,确定输出文件的文件名。配置如下:
input {
stdin{}
file {
path => "/tmp/app1/instance1/access.log"
start_position => "beginning"
}
}
filter {
grok {
match => {
"path" => "(?<app_name>app\d?)"
}
}
grok {
match => {
"path" => "(?<app_instance>instance\d?)"
}
}
grok {
match => {
"message" => "^(?<request_time>\d{4}-\d{2}-\d{2})\t"
}
}
}
output {
stdout {
codec => "json"
}
file {
codec => "json"
path => "/tmp/%{app_name}_%{app_instance}_%{request_time}.olog"
}
}
如果不想用多个grok,可以配置一个grok,然后将属性break_on_match设置为false。
grok {
break_on_match => false
match => {
"path" => "(?<app_name>app\d?)"
"path" => "(?<app_instance>instance\d?)"
"message" => "^(?<request_time>\d{4}-\d{2}-\d{2})\t"
}
}
前置条件:Linux Logstash 5.5.0(其他版本请查阅一下文档)
使用logstash把日志从文件输出到文件,根据输入文件的路径,确定输出文件的文件名。配置如下:
input {
stdin{}
file {
path => "/tmp/app1/instance1/access.log"
start_position => "beginning"
}
}
filter {
grok {
match => {
"path" => "(?<app_name>app\d?)"
}
}
grok {
match => {
"path" => "(?<app_instance>instance\d?)"
}
}
grok {
match => {
"message" => "^(?<request_time>\d{4}-\d{2}-\d{2})\t"
}
}
}
output {
stdout {
codec => "json"
}
file {
codec => "json"
path => "/tmp/%{app_name}_%{app_instance}_%{request_time}.olog"
}
}
如果不想用多个grok,可以配置一个grok,然后将属性break_on_match设置为false。
grok {
break_on_match => false
match => {
"path" => "(?<app_name>app\d?)"
"path" => "(?<app_instance>instance\d?)"
"message" => "^(?<request_time>\d{4}-\d{2}-\d{2})\t"
}
}
相关文章推荐
- Linux上安装配置使用Tomcat说明文档和JDK环境变量配置
- Spring PropertyPlaceholderConfigurer Usage - 使用系统变量替换spring配置文件中的变量
- linux共享库位置配置(LD_LIBRARY_PATH环境变量 或者 更改/etc/ld.so.conf 或者 使用-R选项)
- PHP 中使用 Smarty 之二:配置文件在模板变量中的使用
- linux共享库位置配置(LD_LIBRARY_PATH环境变量 或者 更改/etc/ld.so.conf 或者 使用-R选项)
- java里 使用apache-ant和cobertura测试代码覆盖率 环境变量配置
- Mysql:命令选项、配置选项、(全局、会话)系统变量、状态变量:如何使用系统变量?
- linux共享库位置配置(LD_LIBRARY_PATH环境变量 或者 更改/etc/ld.so.conf 或者 使用-R选项)
- cherrypy安装使用,配置python环境变量
- 配置好derby的环境变量后怎么在eclipse中使用derby插件来操作和管理相关的derby数据库
- 使用ssi来配置服务器,会让html 也能实现动态加载变量
- linux共享库位置配置(LD_LIBRARY_PATH环境变量 或者 更改/etc/ld.so.conf 或者 使用-R选项)
- Spring PropertyPlaceholderConfigurer Usage - 使用系统变量替换spring配置文件中的变量
- linux共享库位置配置(LD_LIBRARY_PATH环境变量 或者 更改/etc/ld.so.conf 或者 使用-R选项)
- tomcat配置及使用(环境变量设置及测试,一个简单的web应用实例)
- shell配置,选择,环境变量修改(ORACLE_HOME,ORACLE_SID),无法使用sqlplus
- Spring PropertyPlaceholderConfigurer Usage - 使用系统变量替换spring配置文件中的变量
- Linux上安装配置使用Tomcat说明文档和JDK环境变量配置
- linux共享库位置配置(LD_LIBRARY_PATH环境变量 或者 更改/etc/ld.so.conf 或者 使用-R选项)
- linux共享库位置配置(LD_LIBRARY_PATH环境变量 或者 更改/etc/ld.so.conf 或者 使用-R选项)