使用ELK搭建日志存储分析平台(2)

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

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管道有两个必需元素,输入和输出以及一个可选元素,过滤器。 输入插件消耗来自源的数据,过滤器插件会按照您指定的方式修改数据,并且输出插件将数据写入到目的地。

static/images/basic_logstash_pipeline.png

测试您的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"

    ]}

 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/876588674b0db6f53aac79e13277688a.html