首页 > 其他 > 详细

ELK学习笔记b

时间:2017-03-23 16:59:09      阅读:90      评论:0      收藏:0      [点我收藏+]

一、输入

a、标准输入:

input {
    stdin {
        add_field => {"key" =>"value"}
        codec =>"plain"
        tags => ["add"]
        type => "std"
    }
}

output {
  stdout { 
    codec => rubydebug {}
  }
}

其中tags和type 是logstash中两个特殊字段。type 一般用来指定事件类型,tags是在数据处理过程中,由具体的插件来添加或删除。

b、文件输入

logstash 使用FileWatch的ruby gem库来监听文件变化,支持glob展开文件路径

FileWatch只支持文件的绝对路径而且不会自动递归目录,但可以用**来缩写表示递归全部子目录

/path/to/**/*.log

input {
    file {
       path => "/var/log/messages"
       type => "syslog"
         }

    file {
     path => "/var/log/httpd/access_log"
    type => "apache_log"
}
}
filter {
  if [type] == "syslog" {
    grok {
      match => [ "message", "%{SYSLOGBASE} %{GREEDYDATA:message}" ]
      overwrite => [ "message" ]
        }
     } else if [type] == "apache_log" {
          grok {
            match => ["message", "%{COMMONAPACHELOG}"]
    }
    }
  }
output {
      stdout { codec => rubydebug }
      elasticsearch { embedded => "true"}
}

c、TCP输入,最常见的是配合nc命令导入旧数据



ELK学习笔记b

原文:http://jinmlinux.blog.51cto.com/9269834/1909460

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!