分布式解决方案之分布式日志采集elk+kafka 环境的构建

一、软件下载列表
1. zookeeper

zookeeper-3.4.10.tar.gz

wget http://archive.apache.org/dist/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz
2. kafka

kafka_2.12-2.1.1.tgz

wget https://archive.apache.org/dist/kafka/2.1.1/kafka_2.12-2.1.1.tgz
3. logstash

logstash-6.7.2.tar.gz

wget https://artifacts.elastic.co/downloads/logstash/logstash-6.7.2.tar.gz
4. elasticsearch

elasticsearch-6.7.2.tar.gz

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.7.2.tar.gz
5. kibana

kibana-6.7.2-linux-x86_64.tar.gz

wget https://artifacts.elastic.co/downloads/kibana/kibana-6.7.2-linux-x86_64.tar.gz
6. zktools
链接: https://pan.baidu.com/s/1c8m6yBwPc5DBTg5lIrfkKw
提取码:7agv

说明:elasticsearch和kibana 演示采用docker安装方便,后续都更换成docker

二、安装zk环境
2.1. 上传安装包

上传Zookeeper安装包,#进入软件安装目录/app

cd /app
2.2. 解压

解压zookeeper到安装目录

tar -zxvf zookeeper-3.4.10.tar.gz
2.3. 创建data目录
  1. 创建data及logs目录
cd /app/zookeeper-3.4.10
mkdir data
2.4. 修改配置

修改Zookeeper的配置文件

cd /app/zookeeper-3.4.10/conf
cp zoo_sample.cfg zoo.cfg
vim zoo.cfg

修改配置文件:dataDir=/app/zookeeper-3.4.10/data

2.5.启动zk
cd /app/zookeeper-3.4.10/bin
./zkServer.sh start

在这里插入图片描述

三、安装kafka环境
3.1. 上传安装包

1.上传kafka安装包kafka_2.12-2.1.1.tgz到/app 目录下

3.2. 解压kafka安装包
tar -zxvf kafka_2.12-2.1.1.tgz
3.3. 创建data文件夹
  1. 进入到kafka安装目录下,创建data文件夹
cd cd /app/kafka_2.12-2.1.1/
mkdir data
3.4. 修改配置

修改kafka的配置文件

vim config/server.properties

log.dirs=/app/kafka_2.12-2.1.1/data
listeners=PLAINTEXT://当前服务器ip:9092
advertised.listeners=PLAINTEXT://当前服务器ip:9092

在这里插入图片描述

3.5. 启动kafka
cd /app/kafka_2.12-2.1.1/
bin/kafka-server-start.sh config/server.properties

后台启动:nohup bin/kafka-server-start.sh config/server.properties &

在这里插入图片描述

四、docker安装ES
4.1. 安装ES

1.安装elasticsearch

docker run \
-d \
--name es \
-p 9200:9200 -p 9300:9300 \
-e ES_JAVA_OPTS="-Xms512m -Xmx512m" \
elasticsearch:6.7.2
4.2. 验证服务
[root@localhost ~]# curl 127.0.0.1:9200
{
    
    
  "name" : "A_ZAaLs",
  "cluster_name" : "docker-cluster",
  "cluster_uuid" : "vkEHjf_fRO-11XSDYmjW-A",
  "version" : {
    
    
    "number" : "6.7.2",
    "build_flavor" : "default",
    "build_type" : "docker",
    "build_hash" : "56c6e48",
    "build_date" : "2019-04-29T09:05:50.290371Z",
    "build_snapshot" : false,
    "lucene_version" : "7.7.0",
    "minimum_wire_compatibility_version" : "5.6.0",
    "minimum_index_compatibility_version" : "5.0.0"
  },
  "tagline" : "You Know, for Search"
}

五、docker安装Kibana
5.1. 创建Kibana容器

& Kibana

docker run  \
-it  \
-d  \
-e ELASTICSEARCH_URL=http://192.168.92.137:9200  \
--name kibana  \
--restart=always  \
-p 5601:5601  \
kibana:6.7.2
5.2. 验证服务

测试运行结果

http://192.168.92.137:5601/app/kibana
六、构建环境

logstash 同步到 elasticsearch

Logstash是一个开源数据收集引擎,具有实时管道功能。Logstash可以动态地将来自不同数据源的数据统一起来,并将数据标准化到你所选择的目的地

Logstash输入数据源:

  1. 本地文件
  2. Kafka
  3. Redis/mysql
    Logstash输出数据源:
  4. Es
  5. Mongdb
  6. Redis
  7. Mysql
6.1. 解压logstash
tar -zxvf logstash-6.7.2.tar.gz
6.2. 安装kafka输入插件
cd /app/logstash-6.7.2
bin/logstash-plugin install logstash-input-kafka
6.3. 安装elasticsearch输入插件
bin/logstash-plugin install logstash-output-elasticsearch
6.4. Kafka logstash配置文件
vim /app/logstash-6.7.2/config/mylog.conf

添加以下内容:

input {
    
    
  kafka {
    
    
    bootstrap_servers => "192.168.92.137:9092" # kafka服务端地址
    topics => "mayikt-log" # 队列名称
 }
}
filter {
    
    
  #Only matched data are send to output.
}
output {
    
    
   
   elasticsearch {
    
    
    action => "index"          #The operation on ES
    hosts  => "192.168.92.137:9200"   # ElasticSearch host, can be array.
    index  => "mayikt_logs"         # The index to write data to.
  }
   
}
6.5. 启动logstash
cd /app/logstash-6.7.2/bin
./logstash -f ../config/kafka.conf

到目前为止,zookeeper、kakfa、elasticsearch、kibana、logstash-6.7.2 都启动完毕了

七、Elk整合实际项目

https://gblfy.blog.csdn.net/article/details/123434785

猜你喜欢

转载自blog.csdn.net/weixin_40816738/article/details/123433995