2019独角兽企业重金招聘Python工程师标准>>>
ELK是指Elasticsearch + Logstash + Kibaba三个组件的组合。本文讲解一个基于日志文件的ELK平台的搭建过程,有关ELK的原理以及更多其他信息,会在接下来的文章中继续研究。
在这个系统中,Elasticsearch主要充当一个全文检索和分析引擎,Logstash是一款分布式日志收集系统,Kibana可以为这个平台提供可视化的Web界面
一、环境准备
目前官网最新版本为5.6.3 官网地址 https://www.elastic.co/cn/downloads
Elasticsearch-5.6.3
Logstash-5.6.3
Kibana-5.6.3
JDK-1.8.0_65
-
Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。
-
Logstash是一个完全开源的工具,他可以对你的日志进行收集、过滤,并将其存储供以后使用(如,搜索)。
-
Kibana 也是一个开源和免费的工具,它Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。
二、环境安装
1.ElasticSearch安装,官网链接:https://www.elastic.co/downloads/elasticsearch,截止目前最新版本5.6.3
(1) 下载最新包:
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.3.tar.gz
(2) 解压缩:
tar -xzvf elasticsearch-5.6.3.tar.gz
(3) 将文件夹移到 /user/local目录下
mv elasticsearch-5.6.3 /usr/local
(4)进入到elasticsearch的安装目录的config下
cd /usr/local/elasticsearch-5.6.3/config
(5)修改配置:
vim elasticsearch.yml
path.data,path.logs修改为自己本机的data路径,这里的路径需要自定义,并且设置用户权限(前提要先建好用户组和用户,这一步可以到后面在做)
chown -R elsearch:elsearch data/es/
chown -R elsearch:elsearch logs/es/
network.host修改为安装服务器地址我的ip地址是192.168.42.128
http.port为http访问端口,默认是9200
(6)启动ElasticSearch:
./bin/elasticsearch
发现报错,说不能使用root启动,由于考虑到安全性,所有只能新建用户来启动
创建elseaerch用户组及用户:
groupadd elsearch
useradd elsearch -g elsearch -p elasticsearch
更改elasticsearch文件夹及内部文件的所属用户及组为elsearch:elsearch:
chown -R elsearch:elsearch elasticsearch-5.6.3
切换用户elsearch:
su elsearch
启动elasticsearch:./bin/elasticsearch
启动过程中有可能报如下错误:
max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536],
max number of threads [1024] for user [lishang] likely too low, increase to at least [2048],
max number of threads [1024] for user [lish] likely too low, increase to at least [2048],
max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]
具体解决方案----->Elasticsearch5.0 安装问题集锦
最后再次切换elsearch用户启动
在浏览器中打开 http://192.168.42.128:9200
2. Logstash的安装
(1) 下载最新包:
wget https://artifacts.elastic.co/downloads/logstash/logstash-5.6.3.tar.gz
(2)解压
tar -xzvf logstash-5.6.3.tar.gz
(3)将文件夹移动到 /usr/local下
mv logstash-5.6.3 /usr/local
解压后是没有logstash的配置文件的,需要手动创建,下图的logstash.conf就是我手动创建的,为了测试,只是配置了简单的标准输入和标准输出,内容如下:
touch /etc/logstash.conf
input { stdin { } } output { stdout { codec => rubydebug {} } }
(4)启动logstash
./bin/logstash -f /usr/local/logstash-5.6.3/etc/logstash.conf
3.ElasticSearch和Logstash集成
修改logstash.conf文件
vim /usr/local/logstash-5.6.3/etc/logstash.conf
input { stdin { } } output { elasticsearch { hosts => "192.168.42.128:9200" index => "logstash-test" } stdout { codec => rubydebug {} } }
在output中添加elasticsearch,hosts改成elasticsearch中配置的服务器ip地址。
在浏览器中输入 http://192.168.42.128:9200/logstash-test/_search
message信息是我后来输入的2条信息。每次都这样查看数据有点麻烦,就需要用到可视化工具kibana了
5.kibana安装
(1)下载
wget https://artifacts.elastic.co/downloads/kibana/kibana-5.6.3-linux-x86_64.tar.gz
(2)解压
tar -xzvf kibana-5.6.3-linux-x86_64.tar.gz
(3)移动
mv kibana-5.6.3-linux-x86_64 /usr/local
(4)进入kibana的解压目录的config目录下,编辑kibana.yml,server.port:5601放开,server.host修改为kibana的安装服务器,配置elasticsearch的路径端口
(5)启动kibana
./bin/kibana
在浏览器中输入 http://192.168.42.128:5601
点击create
输入关键字搜索,如下图
至此elk的环境搭建完成了...