linux下安装ELK

ELK(Elastic search,Logstash,Kibana)是时下比较流行的日志检索框架,三者均为Elastic公司的产品,所以三者基本上达到了密不可分的地步。

Elastic search:是一个分布式数据存储以及检索架构,基于Lucene(一个开放源代码的全文检索引擎工具包)实现,通信方面是基于restful接口,为当前世界上最流行的企业级搜索架构(比solr还流行)。

Logstash:是一个日志框架,主要对日志进行收集、分析和处理。

Kibana:是一个web可视化的交互工具,主要对es进行数据的存储、查看和搜索。

1.下载安装包

三者版本均为6.8.3,没有下最新版的,目前最新版7.4.2要求jdk版本是11,我的是1.8的jdk,所以下6.x版本就可以了,以下是下载地址:
elastic search:https://www.elastic.co/cn/downloads/elasticsearch
logstash:https://www.elastic.co/cn/downloads/logstash
kibana:https://www.elastic.co/cn/downloads/kibana
三者的下载都是一样的,看清楚名字别下错了就好(不愧是同一个公司的产品)。我们主要下载tar.gz安装包和sha,sha是一个完整性校验的东西,如果你觉得你的下载没问题其实可以不下这玩意。(这是国外网站,所以下载速度慢,我是在本地下载了再通过xftp传服务器的,服务器用wget下载一个es花了个把小时。。。)
es下载页面

2.安装Elastic search

这里提一句,安装ELK需要首先安装jdk环境,这个很简单,网上有安装步骤,或者参考:https://blog.csdn.net/liu1160848595/article/details/102838318

2.1 解压安装包

我就不用sha检查安装包了,我直接开始安装了。将文件从下载目录解压到指定的解压目录:

#-C为指定解压目录
[root@VM_0_4_centos elasticSearch]# tar -zxvf elasticsearch-6.8.3.tar.gz -C /usr/ELK/

可以看到解压目录有解压文件,文件目录如下所示:
es文件目录

2.2 修改配置文件

修改config目录下的elasticsearch.yml中的host及port

[root@VM_0_4_centos elasticsearch-7.4.2]# vim config/elasticsearch.yml

增加以下两条配置:

network.host: 0.0.0.0
http.port: 9200

设置host和端口

2.3 启动es

启动bin目录下的elasticsearch

[root@VM_0_4_centos elasticsearch-7.4.2]# ./bin/elasticsearch

当发现started的时候代表启动成功了
es启动成功
es的安装问题太多了,我单独记录下来了:CentOS7下安装elastic search错误记录
这时候我新开了一个xshell窗口,运行以下命令测试连接:

[root@VM_0_4_centos ~]# curl http://172.17.0.4:9200

这是我的内网ip,es好像是不能外网访问的,我找了网上的一些方法配置外网访问都不成功,也可能是我找的姿势不对,不过也不强求,我只要内网访问就行,下面是访问成功的显示:
es启动成功

3 安装Logstash

es安装成功之后,接着安装logstash。

3.1 解压安装包

将下载好的logstash安装包解压到指定目录:

[lgs@VM_0_4_centos logstash]$ tar -zxvf logstash-6.8.3.tar.gz -C /usr/ELK/

可以看到解压目录如下:
logstash解压目录

3.2 启动程序

进入logstash安装目录,执行以下命令启动:

[lgs@VM_0_4_centos logstash-6.8.3]$ ./bin/logstash -e 'input { stdin { } } output { stdout {} }'

稍等一会启动成功之后,输入字符串可以看到输出如下:
logstash启动成功
这次启动没es那么多幺蛾子,心里还是很舒畅的。
接下来配置日志输出到es中,在config目录下创建一个脚本文件:logs.conf,写入下面内容:

input {
  tcp {
    mode => "server"
    host => "0.0.0.0"
    port => 4560
    codec => json_lines
  }
}
output {
  elasticsearch {
    hosts => "172.17.0.4:9200"
    index => "logstash-%{+YYYY.MM.dd}"
  }
}

其中:下面的hosts为es的地址和端口,index为es的索引。
接下来按配置文件启动:

[lgs@VM_0_4_centos logstash-6.8.3]$ ./bin/logstash -f ./config/logs.conf

这里启动的时候突然给我出现了一个错,之前也没出现:

[lgs@VM_0_4_centos logstash-6.8.3]$ ./bin/logstash -f ./config/logs.conf 
Java HotSpot(TM) Server VM warning: INFO: os::commit_memory(0xaac00000, 1006632960, 0) failed; error='Cannot allocate memory' (errno=12)
#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (mmap) failed to map 1006632960 bytes for committing reserved memory.
# An error report file with more information is saved as:
# /usr/ELK/logstash-6.8.3/hs_err_pid12341.log

这个是因为服务器内存很小,但是es和logstash默认的都是分配1G内存,导致我的服务器分配不过来,所以需要将es和logstash的内存改成适合的就好,我按照网上的方法修改了一下logstash的jvm内存,再启动就没问题了:
在config/jvm.options里修改:-Xms768m ,-Xmx768m
下面是启动成功的界面:
logstash启动成功
至此,logstash也安装成功了!

4 安装kibana

现在安装ELK的最后一个,kibana

4.1 解压安装包

首先将kibana的安装包解压到指定目录

[root@VM_0_4_centos kibana]# tar -zxvf kibana-6.8.3-linux-x86_64.tar.gz -C /usr/ELK/

解压后的目录如下:
kibana解压目录

4.2 修改配置文件

kibana需要修改地址和端口供远程访问,所以需要简单配置一下:修改config/kibana.yml文件,添加以下几行:
#开放端口
server.port: 5601
#设置远程访问
server.host: “0.0.0.0”
#配置es地址
elasticsearch.hosts: [“http://172.17.0.4:9200”]

[root@VM_0_4_centos kibana-6.8.3-linux-x86_64]# vim config/kibana.yml 

kibana配置端口

4.3 启动kibana

启动bin目录下的kibana,可以后台启动并将输出追加到nohup.out中:nohup ./bin/kibana &,我这里就简单启动一下,不让他后台启动。

[root@VM_0_4_centos kibana-6.8.3-linux-x86_64]# ./bin/kibana

这时候理论上已经可以启动了,但是出现了一个比较尴尬的事情,我的服务器配置很低,内存才2G,所以三个框架装上去了之后,启动Kibana的时候老是说连接不上es,我跑到es那边看看,发现已经被kill掉了,重启es还是在半路上就killed了
es启动失败
还是内存太小的问题,没办法只能改内存,把es的内存改到256m,这时候es才能启动成功。一般来说es的数据量不会小,所以应该分配一个比较大的内存,但是我这里只是用来学习的服务器,所以不会有大数据量,所以就先这么用着。
kibana启动成功:
kibana启动成功
kibana启动成功之后,就可以在浏览器直接访问了(如果没开放对应的防火墙需要先开放系统5601端口的防火墙):
防火墙关闭
下面是远程访问kibana的界面:
远程访问kibana

此时此刻,ELK的环境已经部署好了,但是真正的挑战还未开始,而ELK也只是这类日志处理方式的一种比较原始的方式而已(单机版的),后期如果有机会,我会在此基础上加上kafka,Filebeat这些框架,再通过与其他分布式框架的结合,来进行实战演练。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值