赞
踩
首先,从整体来看,ELK是一套完整的日志采集、分析、展示的解决方案。
在下图中,除了以上三个产品,我们还可以看到Beats模块,其中Filebeat通常也被用于日志的采集,与Logstash相比,Filebeat更为轻量级。
按照数据流向依次说明:
搭建ELK时需要注意的是,所有软件尽量选用相同版本,避免出现兼容性问题。本教程以6.8.10版本为例。所需安装包如下:(官网地址)
0.ES 6.8.10版本需要java版本1.8或以上,因此安装ES前需要先安装好java环境。
1.解压安装包
tar -zxvf elasticsearch-6.8.10.tar.gz
2.进入config目录,修改elasticsearch.yml
配置文件
在Network栏配置host,使es可以通过ip访问
如存在跨域问题可通过以下两行配置
http.cors.enabled: true
http.cors.allow-origin: "*
3.创建es用户和用户组
groupadd elsearch
adduser elsearch -g elsearch
passwd elsearch
chown -R elsearch:elsearch elasticsearch-6.8.10/
4.切换到elsearch用户,进入bin目录,通过-d
参数后台启动es
./elasticsearch -d
5.启动成功后,通过浏览器访问ES所在服务器IP:9200,成功返回json即可。
6.在没安装kibana之前,ES中的数据只能通过REST接口访问,十分不方便,因此建议安装ES head插件,提供简易的图形化界面对ES中的数据进行操作和查看。
head插件为独立的前端web应用,需要安装nodejs和npm
yum -y install nodejs npm
yum -y install git
//下载head插件源码
git clone git://github.com/mobz/elasticsearch-head.git
cd elasticsearch-head/
//安装依赖
npm install
7.修改head目录下的Gruntfile.js
文件,添加hostname: '*'
8.修改_site/app.js
文件,配置ES地址
9.启动head插件
启动成功后,通过IP:9100访问web,即可通过web页面对数据进行简单的操作
1.解压安装包
tar -zxvf filebeat-6.8.10-linux-x86_64.tar.gz
2.进入安装目录,修改配置文件filebeat.yml
配置文件中需要修改的主要有两部分,分别是input和output,即日志的数据源和要推送的目的地
input配置如下,type属性可支持的选项有:log,udp,tcp,syslog等(参考官网文档)
output配置如下,根据架构设计,此处数据需要推送到redis,所以在配置中,仅配置了redis的output,并注释掉其他output。可根据实际架构情况调整output方式
3.保存修改后,通过-c
参数指定配置文件,启动filebeat
nohup ./filebeat -c to_redis.yml >/dev/null &
4.启动成功后,登录redis客户端,根据配置文件中设置的key查看数据
至此,filebeat的任务已完成
1.解压安装包
tar -zxvf logstash-6.8.10.tar.gz
2.进入安装bin目录,创建配置文件redis_es.conf
分别配置input和output,filter用于日志过滤,后面会提到,暂时略过,此处仅配置input和output即可
3.保存后,通过-f
参数指定配置文件,启动logstash
./logstash -f redis_es.conf
4.logstash与filebeat相比,体量要重一些,因此启动会比较慢
5.启动成功后,登录redis查看数据,刚刚通过filebeat存入redis的数据已被logstash消费
6.通过ES head插件访问ES,查看数据是否已录入。
1.解压安装包
tar -zxvf kibana-6.8.10-linux-x86_64.tar.gz
2.修改config/kibana.yml
配置文件
3.进入bin目录,启动kibana
./kibana &
3.访问IP:5601即可访问kibana
创建kibana的索引视图
下一步,选择@timestamp,然后创建
创建成功后,再次点击左侧Discover菜单
可以看到刚才创建的索引名称,右上角默认展示的是近15分钟的数据,所以可能会看不到数据,不要慌,选择合适的时间即可。
/etc/security/limits.conf
文件* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
/etc/sysctl.conf
文件,添加vm.max_map_count=655360
,保存后执行sysctl -p
,再重新启动ES即可更多操作后续会陆续更新
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。