Logstash安装部署

1、logstash安装准备

  logstash是基于java语言开发,所以先安装JDK。logstash 7 目前只支持 Java8 或者 Java 11,安装前确认JDK版本是否正确

2、安装配置

[root@localhost app]# tar xf logstash-7.12.1-linux-x86_64.tar.gz 
[root@localhost app]# mv logstash-7.12.1 logstash

  logstash启动命令位于安装路径的bin目录中,直接启动会报错,需要按照如下方式提供参数:

logstash -e "input {stdin {}} output {stdout {}}"

  启动时应注意以下两点:

  > 在Windows下使用logstash.bat;

  > -e 参数后面需要使用双引号,否则会报错

  如果在命令行启动日志中看到 "Successfully started Logstash API endpoint {:port=>9600}" ,就说明启动成功,上面命令行定义的是一个标准输入插件(即 stdin)和一个标准输出插件(即 stdout),意思就是从命令行提取输入,并从命令行直接将提取的数据输出,我们可以测试下,启动后如下图,界面在等待输入;

Logstash安装部署_第1张图片

   输入”hello world“ 后,会返回结果如下:

Logstash安装部署_第2张图片

3、连接 Elasticsearch

  logstash可以通过命令行并使用 -e 参数传入配置字符串,指定了标准输入 stdin 插件和 stdout 插件,但在实际应用中,通常使用配置文件指定插件,配置文件的语法形式与命令行相同,要使用的插件使用过插件名称来指定,一般配置文件均放置到部署目录的config目录中,如下在配置中一个名为std_es.conf的文件,具体配置如下:

Logstash安装部署_第3张图片

  启动命令:./logstash -f ../config/std_es.conf

5、filebeat 连接logstash

修改filebeat.yml

Logstash安装部署_第4张图片

配置logstash配置文件:

[root@localhost logstash]# cat config/beats_es.conf 
input {
  beats {
    port => 9600 
  }
}

output {
  elasticsearch {
    hosts => ["192.168.53.21:9200","192.168.53.22:9200"]
    index => "nginx-%{+yyyy.MM}"
    }
}

其中input 中对应的端口,要与filebeat设置的监听端口一致

6、启动服务

首先需要先启动 logstash 的服务

[root@localhost logstash]# nohup ./bin/logstash -f config/beats_es.conf >/dev/null &

接下来启动filebeat服务,再去elasticsearsh-head中查看数据是否被传输过来

你可能感兴趣的:(java,python,linux,大数据,centos)