ELK日志分析系统
文章目录
简介
ELK日志分析系统
- Elasticsearch
- Logstash
- Kibana
日志处理步骤
- 将日志进行集中化管理
- 将日志格式化(Logstash)并输出到Elasticsearch
- 对格式化后的数据进行索引和存储(Elastticsearch)
- 前端数据的展示(Kibana)
一、Elasticsearch
介绍
- 提供了一个分布式多用户能力的全文搜索引擎
- 分布式即数据不会放在一个地方
- 正是 ES 这些优秀的机制,所以会被百度等龙头企业所选择
核心概念
接近实时:
指索引和数据处理的能力
集群:
一个内部组件 ES 的架构(特性)
节点:
有集群必定有节点
索引:
索引(库)→ 索引类型(表)→ 索引的具体文档(记录)
索引根据以上这个方式来进行数据(位置)定位
分片:
例如,一个40G的文件,分为两份20G的文件,存放至两个节点上,读取这个40G的文件时,会效率更快
副本:核心是为了容灾,不过也可以处理任务
分片加上副本的使用:例如,四台主机同时处理一项任务,理论上效率可以提高四倍
二、Logstash
介绍
- 一款强大的数据处理工具
- 可实现数据传输、格式处理、格式化输出
- 数据输入、数据加工(如过滤,改写等)以及数据输出
主要组件
- Shipper
- Indexer
- Broker
- Search and Storage
- Web Interface
三、Kibana
介绍
- 一个针对Elasticsearch的开源分析及可视化平台
- 搜索、查看存储在Elasticsearch索引中的数据
- 通过各种图标进行高级数据分析及展示
主要功能
- Elasticsearch无缝之集成
- 整合数据,复杂数据分析
- 让更多团队成员受益
- 接口灵活,分享更容易
- 配置简单,可视化多数据源
- 简单数据导出
拓展:
EFK 的构成:
- Elasticsearch
- Logstash(仅做数据格式处理的工作)
- Filebeat (搜集文件数据)
- Kafka
- Kibana
- Redis
部署ELK日志分析系统
需求描述:
- 配置ELK日志分析集群
- 使用Logstash收集日志
- 使用Kibana查看分析日志
环境
主机 | 操作系统 | IP | 所需软件 |
---|---|---|---|
当做Node1 | Centos7 | 192.168.171.7 | Elasticsearch、Kibana |
当做Node2 | Centos7 | 192.168.171.4 | Elasticsearch |
Apache | Centos7 | 192.168.171.17 | Logstash |
注:所有主机都需要关闭防火墙
配置步骤
1、 配置 Elasticsearch 环境
登录192.168.171.7 更改主机名 配置域名解析 查看Java环境
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
hostnamectl set-hostname node1
su -
vim /etc/hosts
192.168.171.7 node1
192.168.171.4 node2
#尾部添加
java -version
#查看JAVA环境,一般默认是1.8.0_131
安装java环境(jdk)
cd /opt
#将软件包传至该目录下
rpm -ivh jdk-8u201-linux-x64.rpm
vim /etc/profile.d/java.sh
export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH=$JAVA_HOME/bin:$PATH
#注释:
1.输出定义java的工作目录
2.输出指定java所需的类文件
3.输出重新定义环境变量,$PATH一定要放在$JAVA_HOME的后面,让系统先读取到工作目录中的版本信息
source /etc/profile.d/java.sh
java -version
node2也进行上方所有的配置