ELK是目前最流行的开源日志分析架构技术栈。
世上本没有路,走的人多了,便成了路.
简介:
ELK是Elasticsearch,Logstash,Kibana三大开源框架首字母大写简称。也被称为Elastic Stack。ElasticSearch是一个基于Lucene(基于Java的全文搜索引擎),分布式,通过Restful(HTTP的接口)方式进行交互
的近实时搜索框架;Logstash是一个开源日志搜集工具,可以从不同目标(文件/数据存储/MQ)采集不同格式的
的数据,经过过滤后输出到不同目的地(文件/MQ/redis/es/kafka);Kibana可以将es中数据通过友好的页面展示
出来,提供实时分析,可视化的功能。
架构图:
这边部署在虚拟机上,只使用了最简单粗暴的部署方式。这种架构只是我用来实验的,按照官方推荐应该使用filebeat等收集,发送至消息中间件Kafka或redis暂存信息,然后发送至Logstash进行过滤,由其发送至ES。
下载
注意ES和Kibana具有依赖性,因此都下载最新版本。注意ES和Logstash都需要Java8环境,需要下载JDK1.8.0的包—推荐使用yum install java-1.8.0-openjdk命令进行安装。
下载地址:https://www.elastic.co/cn/products
提前准备:新建elk用户
groupadd elk;
useradd elk;
passwd elk进行密码配置
安装
安装logstash
—注意权限配置,最好以root执行以便读取日志a.解压至/home/elk目录下
b. 在解压文件的config目录中新建logstash.conf,输入如下配置:
说明:input表示传输的数据来源,此处使用file,表示监听/root/logs/目录下所有log文件的内容。start_position是监听的位置,默认为end也就是说只看新增的内容。Beginning表示从头开始读取。
c.启动logstash,配置文件设置为conf/logstash.conf
命令:./logstash –f ../conf/logstash.conf
Logstash已经启动,下一步就是进行ES配置。
安装ElasticSearch
a.解压ES包至/home/elk目录下,更改文件所有者和所属组为elkchown elk:elk elasticsearch
切换至elk用户,然后解压文件
b.进入解压后的config目录,配置elasticsearch.yml文件
1 | 解除一下注释,并进行配置 |
 c.启动ES<br>
回到es的bin目录下执行./elstaicsearch,然后curl –s localhost:9200查看是否启动成功。如果启动不成功,则根据报错信息进行排查。
d.启动中可能会遇到的报错信息
1 | (1)max file descriptors [4096]for elasticsearch process is too low, increase to at least [65536]----每个进程最大同时打开文件数太小 |
-------至此,ES安装也完成了,下一步进行Kibana安装------
安装Kibana
1 | a.将压缩包移动至/home/elk下,更改所属组和所有者至elk,然后切换至elk用户进行解压。 |
e.配置kibana,index patterns
---------------------------------------------------------------至此,ELK安装完毕。-----------------------------------------