kafka与elk整合搭建日志系统

版本:

centos7

jdk1.8

kafka2.12-2.1.0

elasticsearch6.6.0

logstash6.6.0

kibana6.6.0

准备工作:

logstash,elasticsearch,kafka 的运行都需要java虚拟机。

本机在centos7下已安装好JDK1.8及kafka2.12-2.1.0,安装参考链接:

centos7下安装JDK1.8_QYHuiiQ的博客-CSDN博客

centos7下kafka2.12-2.1.0的安装及使用_QYHuiiQ的博客-CSDN博客_kafka2.12安装

安装elasticsearch,logstash,kibana:

1.官网下载elasticsearch:Download Elasticsearch | Elastic

2.官网下载logstash:Download Logstash Free | Get Started Now | Elastic

3.下载kibana:Download Kibana Free | Get Started Now | Elastic

参考链接:【ELK】利用ELK+Kafka解决方案,搭建企业级实时日志分析平台_asssscmcs的博客-CSDN博客                                       kafka+elk日志系统实战 - 活的潇洒80 - 博客园

参考书籍:《kafka从入门到实践》电子书分享链接:https://pan.baidu.com/s/1-P0RfgBUIxVIL5TYjkr1xg             提取码:nul7 

4.下载好安装包之后,使用SSHH Secure File Transafer将安装包放到Linux下的/usr/local/wyh/elk-kafka路径下:

5.解压缩安装包:tar -xzvf 压缩包名

配置elasticsearch

5.1:修改解压缩后的elasticsearch-6.6.0/config/elasticsearch.yml文件

进入config下,vi  elasticsearch.yml:

​
添加或修改:
cluster.name: wyh-cluster
node.name: wyh-node-1
network.host: 192.168.184.128
http.port: 9200
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
注意冒号后面的空格
​http.enabled: true

5.2修改/etc/security/limits.conf文件,增加以下配置:

* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
要记得前面有*

5.3修改/etc/security/limits.d/90-nproc.conf文件,将该文件中第一行的值改为4096:

​
*          soft    nproc     4096

​

5.4修改/etc/sysctl.conf文件,增加以下配置:

vm.max_map_count=655360

然后执行sysctl   -p使之生效。

注意:以上修改配置的操作都是在root角色下执行的,root与自己创建的用户之间相互切换使用su   root或su   elssearch.

5.5由于elasticsearch不允许以root身份运行,所以我们需要创建一个运行elasticsearch的用户(如:elssearch)

创建elssearch用户组:

 groupadd elssearch

 创建用户elssearch。创建一个elssearch的用户,并将该用户加入到elssearch用户组,同时设置该用户登录密码为elssearch:

useradd elssearch -g elssearch -p elssearch

更改elasticsearch安装目录所属用户。修改elasticsearch安装目录及其子目录属于elssearch用户,进入elasticsearch安装目录下执行命令:

[root@localhost elk-kafka]# chown -R elssearch:elssearch /usr/local/wyh/elk-kafka

切换到elssearch用户:

[root@localhost elk-kafka]# su elssearch

切换后如图:

进入elasticsearch的bin目录下启动elasticsearch:

[elssearch@localhost bin]$ ./elasticsearch

如图说明启动成功。

5.6使用9200端口进入浏览器查看输出信息:

如图说明启动成功。

如果想要停止es服务,执行jps查看正在运行的进程,然后kill进程号:

6.接下来我们安装一下head插件,方便我们查看elasticsearch的信息:

之前已经安装好了nodejs及npm(由于安装的时候不太顺利,所以写的博客总结的步骤比较杂乱,在此就不分享了),现在接着来安装一下grunt:

6.1先来查看一下node和npm的版本:

6.2使用npm安装grunt:

[root@localhost bin]# npm install -g grunt

查看是否安装成功:

[root@localhost bin]# grunt -version
grunt-cli v1.2.0

6.3下载head插件源码:

[root@localhost /]# wget https://github.com/mobz/elasticsearch-head/archive/master.zip

6.4解压安装包:

[root@localhost /]# unzip master.zip
bash: unzip: 未找到命令

需要先安装zip、unzip应用:

[root@localhost /]# yum install zip unzip

安装完之后再执行刚才的解压命令。

6.5进入到elasticsearch-head-master目录下,并执行安装下载下来的包:

[root@localhost /]# cd elasticsearch-head-master
[root@localhost elasticsearch-head-master]# npm install

安装过程中如果出错,可以使用下面的方式安装:

[root@localhost elasticsearch-head-master]# npm install -g cnpm --registry=https://registry.npm.taobao.org

6.6如果elasticsearch已经启动,先要停止:

[root@localhost elasticsearch-head-master]# jps
7505 Jps
6918 Elasticsearch
[root@localhost elasticsearch-head-master]# kill 6918

6.7我们需要修改elasticsearch中的config下的elasticsearch.yml,使之可以跨域访问:

http.cors.enabled: true
http.cors.allow-origin: "*"

注意冒号后面有空格。

6.8进入elasticsearch-head-master目录下,修改Head插件的配置:

[root@localhost elasticsearch-head-master]# vi Gruntfile.js

添加红框部分。

6.9启动elasticsearch:

要注意切换到elssearch用户下。使用-d后台启动。进入到elasticsearch的bin目录下。

​
​[elssearch@localhost bin]$ ./elasticsearch -d

6.10启动 head:

进入到elasticsearch-head-master目录下执行:

[root@localhost elasticsearch-head-master]# grunt server

6.11在浏览器中访问9100端口:

出现not  connected,把connect按钮左边的localhost改为ip即可:

至此elasticsearch及其head插件就安装好了。

7.安装kibana:

7.1解压:

[elssearch@localhost elk-kafka]$ tar -xzvf kibana-6.6.0-linux-x86_64.tar.gz

7.2修改配置文件:

进入kibana-6.6.0-linux-x86_64--------config,修改kibana.yml:

7.3启动kibana:

注意在启动kibana之前一定要先把elasticsearch启动起来,因为kibana要去连接elasticsearch。

[elssearch@localhost bin]$ ./kibana

7.4在浏览器中访问5601端口:

kibana启动成功。(第一次启动kibana好慢好慢啊啊啊)

8.安装logstash

8.1解压安装包 

8.2在config文件夹下创建一个从kafka消费消息的配置文件。

[root@localhost elk-kafka]# vi config/wyh-logstash.conf

8.3启动logstash

[root@localhost logstash-6.6.0]# ./bin/logstash -f ./config/wyh-logstash.conf

8.4在kafka中创建topic:wyh-elk-kafka-topic

8.5在kibana中创建索引:

在创建之前需要先向kafka中写入一些数据.

创建索引:

索引就是我们在创建logstash的配置文件(wyh-logstash.conf)时写的output中的Index,用*模糊匹配。

step2:我们可以选择timestamp来filter,然后点击create index pattern:

8.6创建好索引之后,我们可以在左侧菜单栏中点击Discover来查看elasticsearch中的数据:

右上角有刷新频率可以选择,然后点击refresh进行刷新。上面的柱状图展示了一定时间范围内的数据量,下面展示的就是具体的elasticsearch中的数据。红框部分就是我们之前发送到kafka的json格式的数据,以键值对的形式出现。

在左上角还可以添加filter进行过滤筛选查询,可以根据自己的需求定义。

如果你同时启动kafka、elasticsearch、logstash、kibana出现了某个服务挂掉或者jvm不满足的情况,那么你可以试着先启动kafka、elasticsearch、logstash,保证以logstash为桥梁将kafka中的数据传到elasticsearch中,这样保证数据到了elasticsearch之后,就可以把kafka和logstash停掉,这时只启动elasticsearch和kibana来查看数据,也就是在kibana启动之前传到elasticsearch中的数据在kibana启动之后还是可以看到的,因为kibana中的数据只与elasticsearch有关。当然,这只是在初始使用的时候这么做,如果在实际使用中我们还是需要将kafka和logstash都正常启动的,因为我们要保证整个平台实时运行。

以上就是实现了kafka与elasticsearch、logstash、kibana之间的整合,以后会继续研究整个平台在实际中的应用案例。

参考博客:安装ElasticSearch 6.1.1 head插件_冰峰zoubf的博客-CSDN博客

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

QYHuiiQ

听说打赏的人工资翻倍~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值