日志服务器:
1、提高安全性;2、集中存放日志;3、缺陷:对日志的分析困难
1、将日志进行集中格式化;2、将日志格式化(logstash)并输出到 Elasticsearch;3、对格式化后的数据进行索引和存储(Elasticsearch);4、前端数据的展示(Kibana)ELK:Elasticsearch + Logstash + KibanaELK是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、让更多团队成员收益。
第一步:先配置 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节点都做了同步备份,同时也提高了容灾的能力,一台宕机不会造成数据的丢失。