十分钟搭建和使用ELK日志分析系统
前言
为满足研发可视化查看测试环境日志的目的,准备采用EK+filebeat实现日志可视化(ElasticSearch+Kibana+Filebeat)。题目为“十分钟搭建和使用ELK日志分析系统”听起来有点唬人,其实如果单纯满足可视化要求,并且各软件都已经下载到本地,十分钟是可以搭建一个ELK系统的。本文介绍如何快速安装、配置、使用EK+FILEBEAT去实现日志搜集。本文中没有使用LOGSTASH做日志搜集过滤,但为了后期需要先进行了安装。
工作原理
ElasticSearch:是一个开源的分布式搜索引擎,其特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,Rest风格接口,多数据源,自动搜索负载等。
Logstash:是一个开源的日志收集和分析工具,能够将日志进行分析后,提供给ElasticSearch进行使用。
Kibana:可以为ElasticSearch和Logstash提供一个进行日志分析的友好Web界面,帮助汇总、分析、搜索重要日志。
Filebeat:是一个开源的文件收集器,最初是基于Logstash-forward源码的日志数据shipper,适合用于日志文件的收集。把Filebeat安装在服务器上,作为代理来监视日志目录或特定的日志文件,然后把日志数据转发到Logstash中进行分析,或者是直接转发到ElasticSearch中进行搜索。

环境信息
| IP | 功能 | 软件 | 安装路径 | 操作系统 |
| 192.168.9.11 | ELK | openjdk1.8.0_171,elk6.3.2 | rpm安装缺省路径 | centos7.5 |
| 192.168.9.12 | Filebeat | sonarqube-scanner3.2.0 | rpm安装缺省路径 | centos6.8 |
ELK下载地址:https://www.elastic.co/downloads/
搭建步骤
1.系统基础环境的准备
#修改vm限制
vi /etc/sysctl.conf
vm.max_map_count=
!wq 保存退出
sysctl -p #修改文件和线程限制
vi /etc/security/limits.conf
* hard nofile
* soft nofile
* soft nproc
* hard nproc #修改非root用户线程限制
vi /etc/security/limits.d/-nproc.conf #(修改soft行,新增hard行)
* soft nproc
2.JDK及ELK的安装
#安装jdk
yum install java-1.8.-openjdk -y
#进入rpm包所在路径,进行安装
cd /usr/local/src
rpm -ivh elasticsearch-6.3..rpm
rpm -ivh logstash-6.3..rpm
rpm -ivh kibana-6.3.-x86_64.rpm
3.配置文件配置(注意以上ELK安装完后现不要重启,先进行基本配置)
#elasticsearch配置
vim /etc/elasticsearch/elasticsearch.yml
network.host: 0.0.0.0 #修改为0.0.0. 允许外部所有主机访问 #kib
vim /etc/kibana/kibana.yml
server.host: "192.168.9.11" #修改为本机IP,否则外部用户将无法访问
4.服务启动及验证
#启动 elasticsearch
service elasticsearch start #启动kibana
service kibana start
在浏览器中打开http://192.168.9.11:9200 验证elasticsearch是否启动,当看到如下信息,说明已正常启动。

打开http://192.168.9.26:5601验证已kibana启动情况,当看到如下界面说明已启动(启动后要等待10秒左右至完全启动完成)

5.filebeat的安装及配置及启动(在日志被搜集服务器上进行)
#安装filebeat
cd /usr/local/src
rpm -ivh filebeat-6.3.-x86_64.rpm #配置filebeat,这里搜集tomcat及Node日志,通过tags进行区分
filebeat.inputs:
- type: log
enabled: true
paths:
- /usr/local/tomcat/logs/catalina.out
tags: ["saas_server"]
- type: log
enabled: true
paths:
- /usr/local/nodejs/workspace/saas_web/logs/saas-web*
tags: ["saas_web"] output.elasticsearch:
# Array of hosts to connect to.
hosts: ["192.168.9.11:9200"] #filebeat启动
service filebeat start
以上ELK+Filebeat安装完成后,就可以在Kinaba上进行配置使用了,首次使用先在“discover”处进行采集器添加,添加关键字为filebeat-*,(若是logstash则默认为logstash*),添加完成后就可以看到搜集到的日志。如下图:

如上日志已经被搜集到elasticsearch中,并通过kibana呈现,另外还可以通过点击tags,分类查看Tomcat或node的日志,如上filebeat中已经通过tags进行了分类,至此在十分钟内日志系统已经搭建完毕。这仅仅是一个满足可视化的简单应用,若日志量大、需要权限认证、需要过滤等插件的复杂功能,就需要建立集群、增加缓冲、采用X-PACK,安装对应插件等。
可参考博客:https://www.cnblogs.com/frankdeng/p/9139035.html#4028638 和官方文档。
十分钟搭建和使用ELK日志分析系统的更多相关文章
- Docker笔记(十):使用Docker来搭建一套ELK日志分析系统
一段时间没关注ELK(elasticsearch —— 搜索引擎,可用于存储.索引日志, logstash —— 可用于日志传输.转换,kibana —— WebUI,将日志可视化),发现最新版已到7 ...
- Windows搭建Log4Net+FileBeat+ELK日志分析系统过程
参考博客:http://udn.yyuap.com/thread-54591-1-1.html ; https://www.cnblogs.com/yanbinliu/p/6208626.html ; ...
- ELK日志分析系统简单部署
1.传统日志分析系统: 日志主要包括系统日志.应用程序日志和安全日志.系统运维和开发人员可以通过日志了解服务器软硬件信息.检查配置过程中的错误及错误发生的原因.经常分析日志可以了解服务器的负荷,性能安 ...
- Rsyslog+ELK日志分析系统
转自:https://www.cnblogs.com/itworks/p/7272740.html Rsyslog+ELK日志分析系统搭建总结1.0(测试环境) 因为工作需求,最近在搭建日志分析系统, ...
- ELK日志分析系统-Logstack
ELK日志分析系统 作者:Danbo 2016-*-* 本文是学习笔记,参考ELK Stack中文指南,链接:https://www.gitbook.com/book/chenryn/kibana-g ...
- elk 日志分析系统Logstash+ElasticSearch+Kibana4
elk 日志分析系统 Logstash+ElasticSearch+Kibana4 logstash 管理日志和事件的工具 ElasticSearch 搜索 Kibana4 功能强大的数据显示clie ...
- 《ElasticSearch6.x实战教程》之实战ELK日志分析系统、多数据源同步
第十章-实战:ELK日志分析系统 ElasticSearch.Logstash.Kibana简称ELK系统,主要用于日志的收集与分析. 一个完整的大型分布式系统,会有很多与业务不相关的系统,其中日志系 ...
- ELK 日志分析系统的部署
一.ELK简介 ElasticSearch介绍Elasticsearch是一个基于Lucene的搜索服务器. 它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口. Elasti ...
- Rsyslog+ELK日志分析系统搭建总结1.0(测试环境)
因为工作需求,最近在搭建日志分析系统,这里主要搭建的是系统日志分析系统,即rsyslog+elk. 因为目前仍为测试环境,这里说一下搭建的基础架构,后期上生产线再来更新最后的架构图,大佬们如果有什么见 ...
随机推荐
- yii2.0的gradview点击按钮通过get方式传参
1.直接看views层里的代码就可以了 , <!--?= GridView::widget([ 'dataProvider' =--> $dataProvider, 'filterMode ...
- Yii正则验证
required : 必须值验证属性 [['字段名'],required,'requiredValue'=>'必填值','message'=>'提示信息']; #说明:CRequiredV ...
- 文本处理三剑客之 Sed ——高级编辑命令
本篇介绍sed的高级编辑命令 高级编辑命令 P:打印模式空间开端至\n内容,并追加到默认输出之前 n: 读取匹配到的行的下一行覆盖至模式空间 N:读取匹配到的行的下一行追加至模式空间 h: 把模式空间 ...
- PLSQL使用绑定变量
想对一个sql做10046trace,结果因为10g数据库无法对sql_id做,只能使用绑定变量的方法,下面sql是如何使用绑定变量运行sql的语句 declare v_sql VARCHAR2( ...
- 如何退出virtualbox scale mode
进入scale mode之后,可能会退不出来 HOST Key + C. 默认是 右Ctrl + C
- 使用简单的Java代码在SAP C4C里创建销售订单
需要创建的销售订单的明细通过硬编码指定: 比如销售订单的描述为Jerry Test 2019-1-23 16:05PM 执行之后,看到Status Code 201,说明创建成功: 到UI上能看到成功 ...
- UVALive 4025 Color Squares(BFS)
题目链接:UVALive 4025 Color Squares 按题意要求放带有颜色的块,求达到w分的最少步数. //yy:哇,看别人存下整个棋盘的状态来做,我什么都不想说了,不知道下午自己写了些什么 ...
- spring定时器quartz版本问题
如果quartz的版本是1.8.5启动会报错,修改给2.0版本以上即可 <dependency> <groupId>org.quartz-scheduler</group ...
- SQL 关联两个表的视图总结
视图就是一条select查询语句,是一张虚拟表. table a , table b 以表a基表(a LEFT JOIN b) 1.1 当update view时 更新view中表b字段并且表b ...
- spring加载属性(properties)文件
一.注解方式加载 jdbc.driver=org.mariadb.jdbc.Driver jdbc.url=jdbc:mariadb://localhost:3306/kt jdbc.user=roo ...