Logstash快速安装部署

介绍

Logstash是一个具有实时管道功能的开源数据收集引擎,Logstash可以动态地将来自不同数据源的数据统一起来,并将数据规范化为你选择的目的地,清理和大众化你的所有数据,用于各种高级下游分析和可视化用例。

虽然Logstash最初推动了日志收集方面的创新,但是它的功能远远超出了这个用例,任何类型的事件都可以通过大量的输入、过滤器和输出插件来丰富和转换,使用许多原生编解码可以进一步简化摄取过程。Logstash通过利用大量和多种数据来提高你的洞察力。
Logstash快速安装部署_第1张图片

安装使用

  • 下载logstash镜像
    docker pull logstash:7.4.1
    查看镜像
    docker images

    Logstash快速安装部署_第2张图片

  • 编辑logstash.yml配置文件
    logstash.yml配置文件放在宿主机/home/logstash目录下,内容如下:

path.config: /usr/share/logstash/conf.d/*.conf
path.logs: /home/logstash/logs
  • 新建logstash.conf文件
    logstash.conf文件放在宿主机/data/elk/logstash/logstash.conf目录下,内容如下
input {
    beats {
        port => 5044
        codec => "json"
    }
}

output {
  elasticsearch { hosts => ["192.168.12.183:9200"] }
  stdout { codec => rubydebug }
}

最终目录为
Logstash快速安装部署_第3张图片
  • 启动logstash
docker run -d --restart=always --log-driver json-file --log-opt max-size=100m --log-opt max-file=2 -p 5044:5044 --name xinyar-logstash -v /home/logstash/logstash.yml:/usr/share/logstash/config/logstash.yml -v /home/logstash/logstash.conf/:/usr/share/logstash/conf.d/ logstash:7.4.1
  • 启动成功后使用命令查看容器状态
    docker logs logstash

整合filebeat后,采集logback java日志配置

input {
    beats {
        port => 5044
    }
}

filter{
    grok{match => ["message","%{TIMESTAMP_ISO8601:timestamp} \[%{DATA:thread}\] %{DATA} %{LOGLEVEL:level}  %{NOTSPACE:className} \[%{DATA:line}\] %{GREEDYDATA:info}"]}
    mutate {
      remove_field => "input"
      remove_field => "tags"
      remove_field => "ecs"
      remove_field => "@version"
      remove_field => "host"
      remove_field => "path"
    }
}

output {
  elasticsearch {
  hosts => ["192.168.1.137:9200"]
  index => ["logstath-%{[fields][index]}-%{+YYYY-MM-dd}"]
 }
  stdout { codec => rubydebug }
}

配置文件中fields和index来自filebeat中配置信息

你可能感兴趣的:(Logstash快速安装部署)