ELK+Kafka搭建
#####部署图



------------
#####服务节点对应图
elk0 192.168.182.50  filebeats 日志收集客户端
elk1 192.168.182.51  kafka+zk
elk2 192.168.182.52  kafka+zk+es(data_node)
elk3 192.168.182.53  kafka+zk+es(data_node)
elk4 192.168.182.54  elk(es为master节点)
#####一.kafka+zk集群安装配置
1.下载kafka包到/usr/local/下,
下载地址http://kafka.apache.org/downloads.html

2.先建立zk集群,直接使用kafka自带的zookeeper建立zk集群,修改zookeeper.properties文件:



三个机器上的zookeeper.properties文件配置相同,需要注意的是日志保存的路径,不会自动生成,需要自己手动建立相关的路径
3.建myid文件,进入/usr/local/kafka/zookeeper,创建myid文件,将三个服务器上的myid文件分别写入1,2,3,如图:


4.进入kafka目录 执行启动zookeeper命令: 

./bin/zookeeper-server-start.sh config/zookeeper.properties & 
三台机器都执行启动命令,查看zookeeper的日志文件,没有报错就说明zookeeper集群启动成功了。
5.搭建kafka集群,修改server.properties配置文件: 

需要注意的点是broker.id的值三个节点要配置不同的值,分别配置为1,2, 3;log.dirs必须保证目录存在,不会根据配置文件自动生成
6.启动kafka集群,进入kafka目录,执行如下命令 : 
./bin/kafka-server-start.sh –daemon config/server.properties & 
三个节点均要启动;启动无报错,即搭建成功.
#####二.elk搭建
下载相关软件包到/usr/local/下.
下载地址.https://www.elastic.co/de/downloads
1.es安装配置
解压文件到/usr/local/es下.修改配置文件.
master配置

es data 配置

2.添加elk用户.修改es目录权限为elk

3.设置程序打开的文件数

4.修改sysctl配置

5.使用elk用户启动es
/usr/local/elasticsearch/bin/elasticsearch -d 
6.验证

7.kibana 配置

8.启动 kibana
/usr/local/kibana/bin/kibana

9.


10.logstash 配置
[root@elk4 config]# cat fb.conf  | grep -v ^# | grep -v ^$
input {
    kafka {
        bootstrap_servers => "192.168.182.52:9092,192.168.182.51:9092,192.168.182.53:9092"
        topics => ["es-kafkalogs"]
        codec => json
        }
}


output {
    elasticsearch {
        hosts => ["192.168.182.54:9200"]
        index => "%{[fields][type]}111-%{+YYYY.MM.dd}"
    }
    stdout{
        codec=>rubydebug
    }
 
}
11.logstash启动
 /usr/local/logstash/bin/logstash -f fb.conf 
#####三.filebeats配置
1.下载filebates包到/usr/local目录下
2.修改filebeat.yml.
多日志目录文件添加.
-type: log   
  enabled: true
  paths:
    - /tmp/2.log
  fields:
    type: p4test5logs
    host: "182_50"
-type: log
  enabled: true
  paths:
    - /tmp/3.log
  fields:
    type: p4errlogs
    host: p4182_50
匹配日志格式合并
  multiline.pattern: '(WARN|DEBUG|ERROR|INFO) \d{4}/\d{2}/\d{2}'
  multiline.negate: true
  multiline.match: after
输入到kafka配置
output.kafka:
    enabled: true
    hosts: ["192.168.182.51:9092"]
    topic: es-kafkalogs
    compression: gzip
    max_message_bytes: 100000
3.启动filebeats
/usr/local/filebeat/filebeat -c  /usr/local/filebeat/filebeat.yml
#####四.kibana配置
1.创建索引


2.discover 查看
Logo

Kafka开源项目指南提供详尽教程,助开发者掌握其架构、配置和使用,实现高效数据流管理和实时处理。它高性能、可扩展,适合日志收集和实时数据处理,通过持久化保障数据安全,是企业大数据生态系统的核心。

更多推荐