一、ELK 日志分析系统简介:

日志服务器:

1、提高安全性;
2、集中存放日志;
3、缺陷:对日志的分析困难

二、ELK日志处理步骤:

1、将日志进行集中格式化;
2、将日志格式化(logstash)并输出到 Elasticsearch;
3、对格式化后的数据进行索引和存储(Elasticsearch);
4、前端数据的展示(Kibana)
搭建 ELK 日志分析系统_第1张图片
ELK:Elasticsearch + Logstash + Kibana
ELK是Elasticsearch、Logstash、Kibana的简称,这三者是核心套件,但并非全部。
(1)Elasticsearch 是实时全文搜索和分析引擎,提供搜集、分析、存储数据三大功能;是一套开放REST和JAVA API等结构提供高效搜索功能,可扩展的分布式系统。它构建于Apache Lucene搜索引擎库之上。
(2)Logstash 是一个用来搜集、分析、过滤日志的工具。它支持几乎任何类型的日志,包括系统日志、错误日志和自定义应用程序日志。它可以从许多来源接收日志,这些来源包括 syslog、消息传递(例如 RabbitMQ)和JMX,它能够以多种方式输出数据,包括电子邮件、websockets和Elasticsearch。
(3)Kibana 是一个基于Web的图形界面,用于搜索、分析和可视化存储在 Elasticsearch指标中的日志数据。它利用Elasticsearch的REST接口来检索数据,不仅允许用户创建他们自己的数据的定制仪表板视图,还允许他们以特殊的方式查询和过滤数据。

功能:

1、Elasticsearch无缝之集成;
2、整合数据,复杂数据分析;
3、接口灵活,分享更容易;
4、配置简单,可视化多数据源;
5、简单数据导出;
6、让更多团队成员收益。

二、搭建 ELK 日志分析系统:

搭建 ELK 日志分析系统_第2张图片
第一步:先配置 elasticsearch 环境
(1)修改两台主机名,分别是:node1 和 node2

(2)修改 hosts 文件:
搭建 ELK 日志分析系统
(3)防火墙都关闭
搭建 ELK 日志分析系统
第二步:部署安装 elasticsearch 软件(两台节点都需要)
(1)安装:
搭建 ELK 日志分析系统
(2)修改配合文件:

注意:第二台节点服务器配置和第一台一样,注意修改一下节点名和ip地址即可。
搭建 ELK 日志分析系统_第3张图片
(3)创建数据存放路径并授权:
(4)开启服务:
搭建 ELK 日志分析系统
搭建 ELK 日志分析系统
搭建 ELK 日志分析系统
1、浏览器输入以下网址,检查群集健康状态:
搭建 ELK 日志分析系统
搭建 ELK 日志分析系统_第4张图片
2、检查群集状态信息:
搭建 ELK 日志分析系统
搭建 ELK 日志分析系统_第5张图片
第三步:安装 elasticsearch-head 插件
(1)安装依赖包:
(2)编译安装 node 组件:
搭建 ELK 日志分析系统
搭建 ELK 日志分析系统_第6张图片
(3)安装 phantomjs 前端框架:
搭建 ELK 日志分析系统
(4)安装 elasticsearch-head 数据可视化工具:
搭建 ELK 日志分析系统
(5)修改主配置文件:
搭建 ELK 日志分析系统
搭建 ELK 日志分析系统
(6)启动 elasticsearch-head
此时,可以检查一下 9100和9200 这个两个端口的状态:
搭建 ELK 日志分析系统
搭建 ELK 日志分析系统
搭建 ELK 日志分析系统_第7张图片
第四步:创建索引
可以直接新建索引:
搭建 ELK 日志分析系统_第8张图片
也可以输入以下命令创建索引:

curl -XPUT '192.168.220.136:9200/index-demo/test/1?pretty&pretty' -H 'content-Type: application/json' -d '{"user":"zhangsan","mesg":"hello world"}'
//索引名为 index-demo,类型为test

搭建 ELK 日志分析系统_第9张图片
浏览器刷新一下,就会看到刚刚创建的索引信息,可以看出索引默认被分片5个,并且有一个副本。
搭建 ELK 日志分析系统_第10张图片
搭建 ELK 日志分析系统_第11张图片
第五步:安装 logstash 并做一些日志搜集输出到 elasticsearch中
(1)修改主机名
(2)安装Apache服务:
搭建 ELK 日志分析系统
搭建 ELK 日志分析系统
(3)安装 logstash
搭建 ELK 日志分析系统
(4)logstash(Apache)与 elasticsearch(node)功能是否正常,做对接测试:

  可以用 logstash 这个命令测试:

搭建 ELK 日志分析系统
(5)输入采用标准输入、输出采用标准输出:

logstash -e 'input { stdin{} } output { elasticsearch { hosts=>["192.168.220.136:9200"] } }'

此时,浏览器访问 http://192.168.220.136:9200/ 查看索引信息,就会多出 logstash-2019.12.17
搭建 ELK 日志分析系统_第12张图片
搭建 ELK 日志分析系统_第13张图片
(6)登录Apache主机,做对接配置:

logstash 配置文件主要由三部分组成:input、output、filter(这个视情况做不做
搭建 ELK 日志分析系统_第14张图片
重启服务:
搭建 ELK 日志分析系统
(7)浏览器查看索引信息:会多出 system-2019.12.17
搭建 ELK 日志分析系统_第15张图片
搭建 ELK 日志分析系统_第16张图片
第六步:node1主机安装 kibana
搭建 ELK 日志分析系统_第17张图片
(1)

浏览器访问:192.168.220.136:5601
接下来在可视化界面中创建一个索引名:system-* (对接系统日志文件)
搭建 ELK 日志分析系统_第18张图片
搭建 ELK 日志分析系统_第19张图片
(2)对接 Apache 主机的 Apache 日志文件 (包括正常访问的、错误的)
搭建 ELK 日志分析系统_第20张图片
重启服务:
搭建 ELK 日志分析系统
再在可视化界面上, 创建两个索引:

1、apache_access-
2、apache_error-

搭建 ELK 日志分析系统_第21张图片
稍等片刻,就可以在Discover 看见这两个日志文件了:
搭建 ELK 日志分析系统_第22张图片
搭建 ELK 日志分析系统_第23张图片
由于,我们之前给node节点都做了同步备份,同时也提高了容灾的能力,一台宕机不会造成数据的丢失。

谢谢观看!