一、ELK 日志分析系统简介:
日志服务器:
1、提高安全性;
2、集中存放日志;
3、缺陷:对日志的分析困难
二、ELK日志处理步骤:
1、将日志进行集中格式化;
2、将日志格式化(logstash)并输出到 Elasticsearch;
3、对格式化后的数据进行索引和存储(Elasticsearch);
4、前端数据的展示(Kibana)
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 日志分析系统:
第一步:先配置 elasticsearch 环境
(1)修改两台主机名,分别是:node1 和 node2
(2)修改 hosts 文件:
(3)防火墙都关闭
第二步:部署安装 elasticsearch 软件(两台节点都需要)
(1)安装:
(2)修改配合文件:
注意:第二台节点服务器配置和第一台一样,注意修改一下节点名和ip地址即可。
(3)创建数据存放路径并授权:
(4)开启服务:
1、浏览器输入以下网址,检查群集健康状态:
2、检查群集状态信息:
第三步:安装 elasticsearch-head 插件
(1)安装依赖包:
(2)编译安装 node 组件:
(3)安装 phantomjs 前端框架:
(4)安装 elasticsearch-head 数据可视化工具:
(5)修改主配置文件:
(6)启动 elasticsearch-head
此时,可以检查一下 9100和9200 这个两个端口的状态:
第四步:创建索引
可以直接新建索引:
也可以输入以下命令创建索引:
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
浏览器刷新一下,就会看到刚刚创建的索引信息,可以看出索引默认被分片5个,并且有一个副本。
第五步:安装 logstash 并做一些日志搜集输出到 elasticsearch中
(1)修改主机名
(2)安装Apache服务:
(3)安装 logstash
(4)logstash(Apache)与 elasticsearch(node)功能是否正常,做对接测试:
可以用 logstash 这个命令测试:
(5)输入采用标准输入、输出采用标准输出:
logstash -e 'input { stdin{} } output { elasticsearch { hosts=>["192.168.220.136:9200"] } }'
此时,浏览器访问 http://192.168.220.136:9200/ 查看索引信息,就会多出 logstash-2019.12.17
(6)登录Apache主机,做对接配置:
logstash 配置文件主要由三部分组成:input、output、filter(这个视情况做不做
重启服务:
(7)浏览器查看索引信息:会多出 system-2019.12.17
第六步:node1主机安装 kibana
(1)
浏览器访问:192.168.220.136:5601
接下来在可视化界面中创建一个索引名:system-* (对接系统日志文件)
(2)对接 Apache 主机的 Apache 日志文件 (包括正常访问的、错误的)
重启服务:
再在可视化界面上, 创建两个索引:
1、apache_access-
2、apache_error-
稍等片刻,就可以在Discover 看见这两个日志文件了:
由于,我们之前给node节点都做了同步备份,同时也提高了容灾的能力,一台宕机不会造成数据的丢失。
谢谢观看!
来源:51CTO
作者:wx5d3faba330584
链接:https://blog.51cto.com/14475593/2459836