elk部署详解(logstash搭建)

Logstash

是一个管理日志和事件的工具。

安装部署

  • 1:首先安装java(建议1.7)
  • 2:下载https://download.elastic.co/logstash/logstash/logstash-2.4.0.tar.gz
  • 3:tar -zxvf logstash-2.4.0.tar.gz
  • 4:bin/logstash -e 'input { stdin { } } output { stdout {} }'
  • 5:bin/logstash -e 'input { stdin { } } output { stdout { codec => json} }'

使用-f参数替换命令行中的-e参数 bin/logstash -f logstash-simple.conf

                                                     bin/logstash -f logstash-simple.conf --auto-reload

Logstash inputs

file

path => "/data/mysql/mysql.log"

path =>  [ "/var/log/messages", "/var/log/*.log" ]

start_position:指定从什么位置开始读取文件数据,默认是结束位置,也可以指定为从头开始。

注意:start_position仅在该文件从未被监听过的时候起作用,因为logstash在读取文件的时候会记录一个.sincedb文件来跟踪文件的读取位置,当文件被读取过一次之后,下次就会从.sincedb中记录的位置读取,start_position参数就无效了。文件默认在用户目录下。

注意一个坑:ignore_older属性,表示忽略老的数据,值默认为86400,表示忽略24小时以前的数据。如果你新监控一个24小时以上没有被修改过的老文件的话,就算把start_position设置为beginning,也无法获取之前的数据,默认是根据最后更新的时间

Logstash outputs

redis

elasticsearch hosts=>"192.168.1.100" hosts=>["192.168.1.100:9200","192.168.1.101"] 1.x中属性名称叫host 默认向es中创建的索引库是logstash-%{+YYYY.MM.dd},可以利用es中的索引模板特性定义索引库的一些基础配置

logstash读写性能调整优化

threads=>10 启动十个线程接收

workers=>10 启动十个线程接收

更改filebeat 配置文件

打开output.logstash:注释
hosts: ["bigdata-sg-a-02:5044"]

启动logstash bin/logstash -e 'input { beats {port => 5044} } output { stdout { codec => json} }'

指定监控5044端口 输出到控制台以json格式

成功收到日志.

outputs ES

output {
     if [type] == "tomcat_ctmpweb" {            ##按照type类型创建多个索引
        elasticsearch {
                       hosts => ["bigdata-sg-a-03:9200"]
                       index => "tomcat_ctmpweb_%{+YYYY.MM.dd}"
                                 }

          }



     if [type] == "nginx_access" {            ##按照type类型创建多个索引
        elasticsearch {
                       hosts => ["bigdata-sg-a-03:9200"]
                       index => "nginx_access_%{+YYYY.MM.dd}"
                                 }

          }



     if [type] == "nginx_error" {            ##按照type类型创建多个索引
        elasticsearch {
                       hosts => ["bigdata-sg-a-03:9200"]
                       index => "nginx_error_%{+YYYY.MM.dd}"
                                 }
          }

}

type是根据filebeat 标示收集不同日志自己的FLAG

下一篇主要logstash filter

猜你喜欢

转载自blog.csdn.net/qq_33283716/article/details/81239907
今日推荐