rpm -ivh filebeat-5.2.2-x86_64.rpm
rpm -ivh logstash-5.2.2.rpm
rpm -ivh elasticsearch-5.2.2.rpm
rpm -ivh kibana-5.2.2-x86_64
Filebeat 和 ELK 的安装很简单,比较难的是如何根据需求进行配置。这个章节简单介绍一下配置需求和配置方法。
Filebeat配置:Filebeat被安装在 /usr/share/filebeat 中,配置文件为 /etc/filebeat/filebeat.yml
1 2 3 4 5
filebeat.prospectors: - input_type: log paths: - /var/log/*.log #- c:\programdata\elasticsearch\logs\*
对于最基本的Filebeat配置,您可以使用单个路径定义单个探测器。在这个例子中,探测器收录路径/var/log/*.log中的所有文件,这意味着Filebeat将收集以.log结尾的目录/var/log /中的所有文件。 Golang Glob支持的所有模式也在此支持。
Filebeat配置Logstash作为输出:您可以编辑Filebeat配置文件以通过注释elasticsearch菜单来禁用elasticsearch搜索输出,并通过取消注释logstash部分来启用Logstash输出:
#----------------------------- Logstash output --------------------------------
output.logstash:
hosts: ["127.0.0.1:5044"]
启动Filebeat:sudo /etc/init.d/filebeat start
更多
Logstash首先,我们通过运行最基本的Logstash管道来测试您的Logstash安装。Logstash管道有两个必需元素,输入和输出以及一个可选元素,过滤器。 输入插件消耗来自源的数据,过滤器插件会按照您指定的方式修改数据,并且输出插件将数据写入到目的地。
测试您的Logstash安装,运行最基本的Logstash管道。 例如:
/usr/share/logstash/bin/logstash -e 'input { stdin { } } output { stdout {} }'
-e标志使您能够直接从命令行指定配置。 在命令行中指定配置可以快速测试配置,而无需在迭代之间编辑文件。 示例中的流水线从标准输入stdin输入,并将该输入以结构化格式移动到标准输出stdout。
启动Logstash后,等到看到“Pipeline main started”,然后在命令提示符下输入hello world,会看到如下输出:
1 2 3 4 5 6
{ "@timestamp" => 2017-04-13T06:02:08.393Z, "@version" => "1", "host" => "localhost.localdomain", "message" => "hello world" }
恭喜! 您已创建并运行基本的Logstash管道。 接下来,将学习如何创建更逼真的管道。
Logstash与Filebeat整合:刚刚我们配置了Filebeat,使Filebeat输出到Logstash中,现在我们要在配置文件中接收,创建一个 first-pipeline.conf
1 2 3 4 5 6 7 8 9 10 11 12 13
input { beats { port => "5044" } } # The filter part of this file is commented out to indicate that it is # optional. # filter { # # } output { stdout { codec => rubydebug } }
保存后运行 bin/logstash -f first-pipeline.conf --config.test_and_exit–config.test_and_exit 选项解析您的配置文件并报告任何错误。如果配置文件通过配置测试,请使用以下命令启动Logstash:bin/logstash -f first-pipeline.conf --config.reload.automatic
–config.reload.automatic 选项启用自动配置重新加载,以便每次修改配置文件时不必停止并重新启动Logstash。如果您的管道正常工作,您应该看到一系列类似于写入控制台的事件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
{ "request" => "/", "agent" => "\"spiderman\"", "geoip" => { "timezone" => "Asia/Shanghai", "ip" => "42.156.251.187", "latitude" => 30.2936, "coordinates" => [ [0] 120.1614, [1] 30.2936 ], "continent_code" => "AS", "city_name" => "Hangzhou", "country_code2" => "CN", "country_name" => "China", "country_code3" => "CN", "region_name" => "Zhejiang", "location" => [ [0] 120.1614, [1] 30.2936 ], "longitude" => 120.1614, "region_code" => "33" }, "offset" => 146998, "auth" => "-", "ident" => "-", "input_type" => "log", "verb" => "GET", "source" => "/usr/local/nginx/logs/shortUrl.access.log", "type" => "nginx_access", "tags" => [ [0] "beats_input_codec_plain_applied" ]}