文章目录
一、ELK概述
(一)ELK日志分析系统
- ELK是由Elasticsearch、Logstash、Kiban三个开源软件的组合。在实时数据检索和分析场合,三者通常是配合共用,而且又先后归于Elastic.co公司名下,故有此简称。
(二)ELK日志处理步骤
① :将日志进行集中化管理(beats)
② :将日志格式化(Logstash),然后将格式化后的数据输出到Elasticsearch
③:对格式化后的数据进行索引和存储(Elasticsearch)
④:前端数据的展示(Kibana)
(三)Elasticsearch概述
- Elasticsearch是一个基于Lucene的搜索服务器。它基于RESTful web接口提供了一个分布式多用户能力的全文搜索引擎。
Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是第二流行的企业搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
1、Elasticsearch的特性
- 接近实时的搜索
- 集群
- 节点
- 索引
- 索引(库) →类型(表) →文档(记录)
- 分片和副本
2、分片和副本
分片的特点:
- 水平分割扩展,增大存储量
- 分布式并行跨分片操作,提供性能和吞吐量
副本的特点:
- 高可用性,以应对分片或者节点故障,处于这个原因,分片副本要在不同的节点上
- 性能加强,增加吞吐量,搜索可以并行在所有副本上执行
(四)LogStash概述
- 一款强大的数据处理工具
- 可实现数据传输、格式化处理、格式化输出
- 数据输入、数据加工(如过滤,改写等)以及数据输出
- 常用插件:Input、Filter Plugin、Output
- Input:收集源数据(访问日志、错误日志等)
- Filter Plugin:用于过滤日志和格式处理
- Output:输出日志
(五)Kibana概述
- 一个针对Elasticsearch的开源分析及可视化平台
- 搜索、查看存储在Elasticsearch索引中的数据
- 通过各种图表进行高级数据分析及展示
Kibana主要功能:
-
Elasticsearch无缝之集成
- Kibana架构为Elasticsearch定制,可以将任何结构化和非结构化数据加入Elasticsearch索引。Kibana还充分利用了Elasticsearch强大的搜索和分析功能。
-
整合数据
- Kibana能够更好地处理海量数据,并据此创建柱形图、折线图、散点图、直方图、饼图和地图。
-
复杂数据分析
- Kibana提升了Elasticsearch分析能力,能够更加智能地分析数据,执行数学转换并且根据要求对数据切割分块。
-
让更多团队成员收益
- 强大的数据库可视化接口让各业务岗位都能够从数据集合受益。
-
接口灵活,分享更容易
- 使用Kibana可以更加方便地创建、保存、分享数据,并将可视化数据快速交流。
-
配置简单
- Kibana的配置和启用非常简单,用户体验非常友好。Kibana自带Web服务器,可以快速启动运行。
-
可视化多数据源
- Kibana可以非常方便地把来自Logstash、ES-Hadoop、Beats或第三方技术的数据整合到Elasticsearch,支持的第三方技术包括Apache flume、 Fluentd 等。
-
简单数据导出
- Kibana可以方便地导出感兴趣的数据,与其它数据集合并融合后快速建模分析,发现新结果。
二、部署ELK日志分析系统
- 配置和安装ELK日志分析系统,安装集群方式,2个elasticsearch节点,并监控apache服务器日志
主机 | 操纵系统 | 主机名 | IP地址 | 主要软件 |
---|---|---|---|---|
服务器 | centos7 | node1 | 192.168.10.10 | Elasticsearch、Kibana |
服务器 | centos7 | node2 | 192.168.10.20 | Elasticsearch |
服务器 | centos7 | apache | 192.168.10.30 | Logstash、Apache |
1、配置elasticsearch环境
node1:192.168.10.10
node2:192.168.10.20
echo '192.168.10.10 node1' >> /etc/hosts
echo '192.168.10.20 node2' >> /etc/hosts
java -version #如果没有安装,yum -y install java
2、部署elasticsearch软件
node1:192.168.10.10
node2:192.168.10.20
①安装elasticsearch——rpm包
cd /opt
rpm -ivh elasticsearch-5.5.0.rpm
②加载系统服务
systemctl daemon-reload
systemctl enable elasticsearch.service
③更改elasticsearch主配置文件
cp /etc/elasticsearch/elasticsearch.yml /etc/elasticsearch/elasticsearch.yml.bak
vim /etc/elasticsearch/elasticsearch.yml
#17行;取消注释,修改;集群名字
cluster.name: my-elk-cluster
#23行;取消注释,修改;节点名字(node2修改成node2)
node.name: node1
#33行;取消注释,修改;数据存放路径
path.data: /data/elk_data
#37行;取消注释,修改;日志存放路径
path.logs: /var/log/elasticsearch
#43行;取消注释,修改;不在启动的时候锁定内存
bootstrap.memory_lock: false
#55行;取消注释,修改;提供服务绑定的IP地址,0.0.0.0代表所有地址