一、ELK日志分析系统简介
ELK不仅适用于日志分析,还可以支持其他数据搜索、分析和收集的场景,如网络流量分析、性能分析等
1.1 日志服务器
-  
提高安全性
 -  
集中存放日志
 -  
缺陷(对日志分析困难)
 
1.2 ELK日志分析系统
-  
Elasticsearch
 -  
Logstash
 -  
Kibana
 
1.2.1 Elasticsearch
1.2.1.1 Elasticsearch的概述
提供了一个分布式多用户能力的全文搜索引擎,例如百度。而且它是由java开发的,可通过RESTful web接口,可让用户通过浏览器和Elasticsearch。通常用于是索引和搜索大容量的日志,也可以搜索许多不同类型的文档
解释:RESTful web
1.2.1.2 Elasticsearch核心概念
- 接近实时
 - 集群
 - 节点
 - 索引 
  
- 索引(库)->类型(表)->文档(记录)
 
 - 分片和副本
 
1.2.2 Logstash介绍
1.2.2.1 Logstash介绍
一款强大的数据处理工具,可实现数据传输、格式处理、格式化输出,数据输入、数据加工(如过滤、改写等)记忆数据输出
1.2.2.1 LogStash主要组件
-  
Shipper:日志收集者,专门负责监控当地的web微服务日志
 -  
Indexer:日志存储者
 -  
Broker:类似于日志的harbor,主要负责连接多个日志收集者,相当于中间人
 -  
Search and Storage:搜索和存储
 -  
Web Interface:基于web展示数据界面
 
1.2.2.2 logstash主要做的三件事
- input(数据采集)
 - filter(数据过滤)
 - output(数据输出)
 
1.2.2.3 filebeat
轻量级的开源日志文件数据收集器
1.2.2.3.1 filebeat结合logstash的优势
-  
通过logstash
 -  
从其他数据源中提取
 -  
将数据发送给多个目的地或写入数据
 -  
使用条件数据流逻辑组成更复杂的处理管道
 
1.2.3 Kibana介绍
1.2.3.1 kibana介绍
一个针对Elasticsearch的开源分析及可视化平台,搜索、查看存储在Elasticsearch索引中的数据,通过各种图表进行高级数据分析及管理
1.2.3.2 Kibana主要功能
-  
Elasticsearch无缝集成
 -  
整合数据,复杂数据分析
 -  
更加收益
 -  
接口容易,分享工人也
 -  
配置简单,可视化多数据源
 -  
简单数据导出
 
1.3 日志处理步骤
- 将日志进行集中化管理
 - 将日志格式化(Logstash)并输出到Elasticsearch
 - 对格式化后的数据进行索引和存储(Elasticsearch)
 - 前段数据的展示(Kibana)
 
1.4 完整日志系统基本特征
- 收集:能够采集多种来源的日志数据
 - 传输:能够稳定的把日志数据分析过滤并传输到系统文件
 - 存储:存储日志数据
 - 分析:支持UI分析
 - 警告:能够提供错误报告,监控机制
 
二、ELK实施部署
2.1 ELK Elasticsearch集群部署(在Node1、Node2节点上操作)
2.1.1 为node1、node2关闭防火墙,改名,编辑hosts


2.1.2 解压压缩包
在node1远程传输内容到node2,为node1、node2解压压缩包ES


2.1.3 为node1、node2解压压缩包,重新配置服务并开机自启ES服务


2.1.4 为node1和node2配置文件,配置信息,创建文件夹和设置权限








2.1.5 为node1和node2启动ES服务


2.1.6 查看节点信息node1、node2


2.1.7 查看群集的健康情况


2.2 在node1节点下操作
2.2.1 在opt下安装gcc、gcc-c++

2.2.2 在opt下解压node压缩包,同时编译安装



2.2.3 在opt下解压phantomjs到usr/local/src/下

2.2.4 切换目录,复制内容到/usr/local/src/

2.2.5 在opt下解压ES

2.2.6 切换到刚刚解压玩的目录下后进行安装

2.2.7 修改 Elasticsearch 主配置文件

2.2.8 重新启动ES服务
2.2.9 切换到elasticsearch-head,在后台运行
2.2.10 查看ES信息

2.2.11 插入索引

2.2.12 重新查看索引信息

2.3 ELK Logstash 部署(在 Apache 节点上操作)
2.3.1 关闭防火墙设置别名apache,安装httpd并启动


2.3.2 安装java环境,查看java版本


2.3.3 在opt下将logstash转移到xshell下,然后解压,为它做软链接,同时开机自启logstash服务

2.3.4 输入输出流

2.3.5 使用 rubydebug 输出详细格式显示

2.3.6 使用Logstash将信息写入Elasticsearch中


2.3.7 为message增加读权限,编辑system.conf配置文件,重新启动logstash服务

2.3.8 查看索引信息

2.4 ELK Kiabana部署(在 Node1 节点上操作)
2.4.1 安装kibana


2.4.2 启动服务,查看5601端口
2.4.3 增加索引

 
2.4.4 将Apache服务器的日志(访问的、错误的)添加到Elasticsearch并通过Kibana显示

2.4.5 切换到conf.cd下,运行apache_log配置文件











