搜索引擎

ElK集成filebeat以及kafka

2019-07-07  本文已影响0人  nhhnhh

ELK分别代表Elasticsearch,Logstash,Kibana。

Elasticsearch是个开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。

Logstash 主要是用来日志的搜集、分析、过滤日志的工具,支持大量的数据获取方式。一般工作方式为c/s架构,client端安装在需要收集日志的主机上,server端负责将收到的各节点日志进行过滤、修改等操作在一并发往elasticsearch上去。

Kibana 也是一个开源和免费的工具,Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助汇总、分析和搜索重要数据日志。

为了在生产中处理大量数据,所以再集成filebeat,kafka。filebeat性能非常好,部署简单,是一个非常理想的文件采集工具。kafka能帮助我们削峰。

结构如下图所示:

图片.png

filebeat获取日志文件内容,发送到kafka,logstash获取kafka的内容,输出到elasticsearch。kibaba查看elasticsearch中的日志内容

一、kafka安装:

  下载地址:[**http://mirrors.tuna.tsinghua.edu.cn/apache/kafka/1.1.0/kafka_2.11-1.1.0.tgz**](http://mirrors.tuna.tsinghua.edu.cn/apache/kafka/1.1.0/kafka_2.11-1.1.0.tgz)
  1. 下载文件 kafka_2.11-1.1.0.tgz 并解压 tar -xzf kafka_2.11-1.1.0.tgz
  2. Kafka 使用 ZooKeeper 所以你需要首先启动ZooKeeper服务
    bin``/zookeeper-server-start``.sh config``/zookeeper``.properties
  3. 再启动kafka服务
    bin``/kafka-server-start``.sh config``/server``.properties
    注意:server.properties文件需要修改,将该内容补齐,否则默认为localhost,导致filebeat启动时连接kafka会有问题:
    图片.png
  1. 创建一个topic
    bin``/kafka-topics``.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic kklog
  2. 如果控制台打印的内容没有显示服务shutdown则为安装成功

二、Elasticsearch安装:

     下载地址:[https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.4.tar.gz](https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.4.tar.gz)

    1.下载完成后的文件为:elasticsearch-6.2.4.tar.gz。

    2.输入以下命令解压文件:tar -zxvf elasticsearch-6.2.4.tar.gz

    3.输入以下命令编辑配置文件:vi config/elasticsearch.yml

修改以下4个属性的内容

cluster.name: my-application (集群名称)
node.name: node-1 (节点名称)
path.data: /Users/software/software/path/data   (存储数据的目录,需要根据具体服务器目录配置)
path.logs: /Users/software/software/path/logs  (存储日志的目录,需要根据具体服务器目录配置)
network.host: localhost (ip地址,需要根据具体服务器地址配置)
http.port: 9200        (端口号,默认为9200)

4. 输入./bin/elasticsearch -d (输入-d表示后台运行) Linux下elasticsearch不允许root用户运行,需要切换到其他用户执行该命令

5.在浏览器上输入localhost:9200 如果显示以下页面则说明安装成功

图片.png

如果出现类似

       max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]

       max number of threads [1024] for user [lishang] likely too low, increase to at least [2048]

这种报错信息,参考https://www.cnblogs.com/sloveling/p/elasticsearch.html

如果安装成功浏览器却无法访问,需要放开端口配置,安装下述的Kibana也是一样,需要开放端口

三、Logstash安装:

    下载地址:[https://artifacts.elastic.co/downloads/logstash/logstash-6.2.4.tar.gz](https://artifacts.elastic.co/downloads/logstash/logstash-6.2.4.tar.gz)
  1. 下载完成后的文件为logstash-6.2.4.tar.gz
  2. 输入以下命令解压文件tar -zxvf logstash-6.2.4.tar.gz
  3. 在config文件中定义一个kafka.conf文件,定义input以及output,
  4. 启动服务 ./bin/logstash -f config/kafka.conf
  5. 如果控制台没有报错信息即认为成功启动

四、Kibana安装:

    下载地址:[https://artifacts.elastic.co/downloads/kibana/kibana-6.2.4-linux-x86_64.tar.gz](https://artifacts.elastic.co/downloads/kibana/kibana-6.2.4-linux-x86_64.tar.gz)
  1. 下载后的文件为:kibana-6.2.4-darwin-x86_64.tar.gz,解压文件
  2. 修改config 文件中的kibana.yml文件,更改以下字段
    server.port: 5601 #默认值: 5601 Kibana 由后端服务器提供服务,该配置指定使用的端口号。
    server.host: "localhost" #默认值: "localhost" 指定后端服务器的主机地址。
    elasticsearch.url: "http://localhost:9200" #默认值: "http://localhost:9200" 用来处理所有查询的 Elasticsearch 实例的 URL 。
  3. 输入 ./bin/kibana启动服务
  4. 在浏览器中输入localhost:5601。弹出以下页面即为安装成功:


    图片.png

六、filebeat安装:

下载地址:https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.2.4-linux-x86_64.tar.gz

  1. 下载后的文件为filebeat-6.2.4-darwin-x86_64.tar.gz,解压。
  2. 修改filebeat.yml文件
    内容为:输入内容log方式,path为读取的日志文件的地址


    图片.png

输出为kafka服务地址,topic为需要监控的topic名称


图片.png

3.启动filebeat ./filebeat -e -c filebeat.yml
4.如果控制台没有报错信息,则为安装成功。

上一篇 下一篇

猜你喜欢

热点阅读