一、前言:
日志分析是我们运维解决系统故障、发现问题的主要段。为了可以集中管理多台服务器的日志记录,开源实时日志分析ELK平台应用而生,ELK由Elasticsearch、 Logstash和Kibana三个开源 具组成,这三个具可以分别部署在不同的服务器上,并且相互关联,不过需要收集哪台服务器的日志,就必须在该服务器上部署Logstash。ELK的官网是: Elastic官网
二、搭建ELK平台:
(一)部署前准备:
服务器如下:
●放行防火墙相关端口的流量, 我这里直接关闭了防火墙。
●所有服务器的时间最好同步,可以搭建时间同步服务器,也可手动同步。
●Node1、Node2节点内存最少分配4G, Apache节点无所谓。
●下载所需软件包。提取码: gy10,三台服务器都要挂载我提供的.iso文件。
.修改节点服务器名称,并通过本地/etc/hosts配置域名解析,检查Java环境, 必须是Java 1.8或更高的版本,修改后如下所示
node1节点:
node2节点:
(二)开始安装Elasticsearch:
1、node1配置如下:
2、node2配置如下:
3、查看节点信息:
node1的节点信息:
node2的节点信息:
访问http://192. 168.1.1:9200/_ cluster/health?pretty 查看群集的健康状态:
访问http://192. 168.1.1:9200/_ cluster/state?pretty 查看群集的状态信息:
通过以上方式查看群集状体对我们显示的并不友好,可以通过安装Elaticsearch-head插件, 可以更方便的管
理群集:
在node1安装lasticsearch-head插件(需要提前安装node和phantomjs) :
现在就可以通过浏览器访问http://192.168.1.1:9100去查看群集信息了,如下:
4、安装Kibana (可单独安装在一台服务器.上,我这里资源有限,所以安装在了node1上)
5、配置apache服务器(自行搭建网站)
6、创建索引:
1、通过浏览器访问htp://192. 168.1.1:9100查看索引是否创建:
关于索引,有几个很重要的概念:
.索引:类似于关系数据库中的“库”;
●Type (编写Logstash时指定的type) :类似于关系数据库中的“表”;刚才创建的索引,在我标记红框中,可以看到node1和node2对应的位置,都有绿色背景的0、1. 2、3、4、5表示是该索引被分为了5个分片,其中因为在L ogstash中指定的Elasticsearch服务器是node1,所node1的分片是主分片,node2会自动同步node1的分片,node2的分片为备份分片,称为副本,用来提供数据冗余及负载分担。默认情况下,Elasticsearch自 动对索弓请求进行负载分担。
现在访问ttp://192.168.1.1:5601登录到Kibana,添加索引:
关于apach的错误日志索引.自行添加即可,添加完毕后,单机“discover即可”在下面的下拉列表选择一个索引,如apache_accrss-,可以查看相应的图表及日志信息