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
三个机器上的zookeeper.properties文件配置相同,需要注意的是日志保存的路径,不会自动生成,需要自己手动建立相关的路径
3.建myid文件,进入/usr/local/kafka/zookeeper,创建myid文件,将三个服务器上的myid文件分别写入1,2,3,如图:
三台机器都执行启动命令,查看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
[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 查看
#####部署图
![](https://i-blog.csdnimg.cn/blog_migrate/69f1ac546816e1dc387aed10142b69da.png)
------------
#####服务节点对应图
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
![](https://i-blog.csdnimg.cn/blog_migrate/4a354f5a6f85e96f4a4fe69ace3c6ec2.png)
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配置文件:
![](https://i-blog.csdnimg.cn/blog_migrate/0110e448a5c7113cebc706e4868055c3.png)
需要注意的点是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配置
![](https://i-blog.csdnimg.cn/blog_migrate/0f2f79cdd287a44273ea09ca001630a2.png)
es data 配置
![](https://i-blog.csdnimg.cn/blog_migrate/40ea2e64c5fd00ef1af0518ee87524be.png)
2.添加elk用户.修改es目录权限为elk
![](https://i-blog.csdnimg.cn/blog_migrate/6e7ec3a5b0ee12e9e95eb65414bcfc3d.png)
3.设置程序打开的文件数
![](https://i-blog.csdnimg.cn/blog_migrate/7e70939cdbacd6335f4aea4e3b522d36.png)
4.修改sysctl配置
![](https://i-blog.csdnimg.cn/blog_migrate/47c4bcb77b1f68f3197e9098316a432e.png)
5.使用elk用户启动es
/usr/local/elasticsearch/bin/elasticsearch -d
6.验证
![](https://i-blog.csdnimg.cn/blog_migrate/7a0c457a034c8666863fbcef2d5e6acf.png)
7.kibana 配置
![](https://i-blog.csdnimg.cn/blog_migrate/05525a25702e12af72b1736e412e7825.png)
8.启动 kibana
/usr/local/kibana/bin/kibana
9.
[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.创建索引
![](https://i-blog.csdnimg.cn/blog_migrate/6669c3ba53645d45c37a554f926711f2.png)
![](https://i-blog.csdnimg.cn/blog_migrate/77cf8239d5339c97bd40cc531687bceb.png)
2.discover 查看
![](https://i-blog.csdnimg.cn/blog_migrate/a604a68a27604ec8bbb8f123a4458967.png)