文章目录
一、ELK日志分析系统
ELK是一套完整的日志集中处理解决方案,将Elastic Search、Logstash和Kibana三个开开源工具配置使用,发挥出更强大的用户对日志查询、排序、统计需求(还可以加一个filebeat)。
1、组成
①Elasticserach
Elasticsearch是基于Lucene开发的分布式存储检索引擎,用来存储各类日志。
Elasticsearch是基于JAVA开发的,可以通过RESTful Web接口让用户通过浏览器与Elasticsearch通信。
Elasticsearch是一个实时的、分布式的可扩展搜索引擎,允许进行全文、结构化地搜索。通常用于索引和搜索大容量的日志数据,也可以用于搜索不同类型的文档。
②Logstash
Logstash作为一个数据收集引擎,支持动态的从各种数据源搜集数据并对数据进行过滤、分析、丰富、统一格式等操作,然后存储到用户指定的位置(一般会发送给Elasticsearch)。
③Kibana
通常与Elasticsearch一起部署,kibana是Elasticsearch的一个数据可视化Dashboard。Kibana提供图形化的WEB界面来浏览Elasticsearch日志数据,可以用来汇总、分析和搜索重要数据。
④Filebeat
Filebeat是一款轻量级的开源日志文件数据搜集器。通常在采集数据的客户端安装Filebeat并指定目录与日志格式,Filebeat就能快速收集数据并发送给Logstash进行分析,或是直接发给ES存储。性能上相比于运行于JVM上的Logstash优势明显,是对它的替代。
优势
·通过Logstash具有基于磁盘的自适应缓冲系统,该系统将吸收传入的吞吐量从而减轻Elasticsearch持续写入数据的压力
·从其他数据源(例如数据库,消息队列等)中提取
·将数据发送到多个目的地,例如S3,HDFS或写入文件
·使用条件数据流逻辑组成更复杂的处理管道
日志集中化管理工具
·Packetbeat 用来搜索网络流量数据
·Topbeat 用来搜索系统、进程和文件系统级别的cpu和内存使用情况等数据
·Filebeat 用来搜集文件数据
·Winlogbeat 用来搜集windows时间日志数据
2、日志处理步骤
①将日志进行集中化管理
②对日志格式化(Logstash)并输出到Elasticsertach
③对格式化后的数据进行索引和存储
④前端数据展示(Kibana)
3、完整日志系统基本特征
①收集
能够采集多种来源的日志数据
②传输
能够稳定的把日志数据解析过滤并传输到存储系统
③存储
存储日志数据
④分析
支持UI分析
⑤警告
有监控机制,能够提供错误报告
二、ELK部署
1、环境
node1 192.168.10.102 ElasticSearch、Kibana
node2 192.168.10.103 ElasticSearch
web 192.168.10.30 Logstash、apache
2、node1配置
①修改hosts文件
②安装JDK并设置环境变量
这里用的是rpm包安装
设置环境变量
source加载
③安装ES
这里也是用rpm包安装
④修改配置文件
vim /etc/elasticsearch/elasticsearch.yml
集群名
节点名,每个节点各自独立
指定数据存放路径
指定日志存放路径
不锁定内存
监听所有地址
默认监听端口9200