一个朋友总催着我把ELK的安装文档整理出来给他,但是本人自我感觉有的时候比较懒,所以就一直没有整理,这不今天是周末,我就抽空整理了一下ELK安装及测试过程,网上ELK安装的文档有很多,本人也是结合网上加上自己亲自动手安装整理的下面的安装步骤,如果整理的有哪里不对的地方,很乐意听各位大神的指点,目前只是单机器安装,没有做集群,等有空在整理集群的安装步骤吧,我相信大家都知道什么是ELK,但是还是简单介绍一下吧,ELK(Elasticsearch+Logstash+Kibana组成),是开源的实时日志分析平台,能够很方便的帮助大家收集日志,进行集中话的日志管理,并且能提供日志的检索和统计。废话有点多了,直接进入主题。
一、Elasticsearch
tar -xvf elasticsearch-6.3.2.tar.gz
4.解压完启动elasticsearch
[root@localhost bin]# ./elasticsearch
此时会出现下图的错误:
此错误的意思就是说不能用root用户进行启动,经上网查询需要自己建立用户去启动,还与一种方案是启动时增加es.insecure.allow.root=true参数,此方法没有测试,网上说该方法用在elasticsearch-2.1.1版本启动成功了(./bin/elasticsearch -Des.insecure.allow.root=true),有兴趣的小伙伴可以自己尝试一下,这里我就不多说了,我只描述我测试过的解决方案,新建用户。
5.创建elasticsearch用户组
[root@localhost local]# groupadd elasticsearch
6.创建用户 els 并设置密码为els
[root@localhost local]# useradd els
[root@localhost local]# passwd els
如下图:
7.将用户els 添加到 elasticsearch 用户组中
[root@localhost local]# usermod -G elasticsearch els
8.增加sudo权限
[root@localhost etc]# vim sudoers
增加内容如下图,保存时需要强制退出并保存(:wq!)
增加完用户就可以切换els用户了
[root@localhost etc]# su els
9.修改elasticsearch-6.4.0 文件夹以及内部文件的所属用户为els, 用户组为elasticsearch,-R表示逐级
[root@localhost local]$ sudo chown -R els:elasticsearch elasticsearch-6.4.0
10.修改elasticsearch.yml文件
[root@localhost config]# vi elasticsearch.yml
11.此时启动elasticsearch会报如下图的错误:
12.修改sysctl.conf文件,在最后增加vm.max_map_count=262144
[root@localhost etc]# vi sysctl.conf
增加完之后,执行sysctl -p,刷新生效,如下图:
13.修改security/limits.conf
[root@localhost etc]# vi security/limits.conf
在最下面增加如下内容:
els hard nofile 65536
els soft nofile 65536
[root@localhost etc]# vi security/limits.d/90-nproc.conf
修改内容如下:
15.重新启动Elasticsearch,此时启动应该可以成功了,然后访问http://ip:9200,如果出现如下也没,说明启动成功了
二、Logstash
1.描述:
Logstash 是开源的服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的 “存储库” 中。(我们的存储库当然是 Elasticsearch。)
2.将logstash-6.4.0.tar.gz上传到/usr/local,目录下,然后解压:
[root@localhost local]# tar -xvf logstash-6.4.0.tar.gz
3.进入目录logstash-6.4.0/config创建logstash.conf文件,内容如下:
我这里的数据来源是redis,所以配置入口是redis地址,大家也可以不用我这个,也可以用log4j作为来源。
4.启动Logstash
[root@localhost logstash-6.4.0]# ./bin/logstash -f config/logstash.conf
启动成功如下图:
三、Kibana
1.描述:
Kibana是一个开源的分析和可视化平台,可以帮助您汇总、分析和搜索重要数据日志。
2.将kibana-6.4.0-linux-x86_64.tar.gz上传到/usr/local,目录下,然后解压:
[root@localhost local]# tar -zxvf kibana-6.4.0-linux-x86_64.tar.gz
3.进入kibana-6.4.0-linux-x86_64/config目录修改kibana.yml中修改如下配置:
server.port: 5601
server.host: "localhost"
elasticsearch.url: "http://ip:9200"
kibana.index: ".kibana"
4.启动服务
[root@localhost kibana-6.4.0-linux-x86_64]# ./bin/kibana
启动完,访问:http://ip:5601,看到如下页面代表成功:
到现在为止,Elasticsearch+Logstash+Kibana都已经成功的安装完成了,下面我们要测试一下看看,是否可用。
现在通过redis-cli,发送消息
127.0.0.1:6379> PUBLISH logstash-demo "hello world"
Logstash打印的log如下:
此时代表数据发送成功,并且logstash也收到数据了,现在需要在kibana上创建日志的索引,如图:
目前我已经创建好了索引,如图:
此时就可以查到我们刚才发送的数据了,如果:
好啦,截至到目前Elasticsearch+Logstash+Kibana的安装及测试已经完成了,如果我写的有问题可以及时提醒我,我会及时改正的,欢迎大家相互沟通相互学习,如果问题可以给我留言,我会尽快回复大家的谢谢。