应用场景:ELK实际上是三个工具的集合,ElasticSearch + Logstash + Kibana,这三个工具组合形成了一套实用、易用的监控架构,
很多公司利用它来搭建可视化的海量日志分析平台。
官网下载地址:https://www.elastic.co/downloads
Elasticsearch:
一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。
Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。
设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
Logstash:
用于管理日志和事件的工具,你可以用它去收集日志、转换日志、解析日志并将他们作为数据提供给其它模块调用,例如搜索、存储等。
Kibana:
是一个优秀的前端日志展示框架,它可以非常详细的将日志转化为各种图表,为用户提供强大的数据可视化支持。
Filebeat:类似于 “agent” 装在被监控端上(数据源),用来实时收集日志文件数据。
【最简单的架构图】
安装环境:三台主机安装 Elasticsearch 5.4 IP: 192.168.1.21/22/23 ;
一台主机安装 Logstash 5.4 IP: 192.168.1.24 ;
一台主机安装 Kibana 5.4 IP: 192.168.1.25 ;
一台测试机装 Filebeat 5.4
安装步骤:
前提:已经装好 Java 8(官方建议5.4版本最至少Java 8 或以上):
1. 导入官方PGP-Key
~]#rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
2. 建立下载rpm包的repo
~]# vim /etc/yum.repos.d/elk.repo
[elasticsearch-5.x]
name=Elasticsearch repository for 5.x packages
baseurl=https://artifacts.elastic.co/packages/5.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
保存后退出;
3. 安装elasticsearch包
~]#yum install elasticsearch
4. 编辑配置文件
~]# vim /etc/elasticsearch/elasticsearch.yml
保存,退出;
5. 启动服务
~]# systemctl daemon-reload
~]# systemctl start elasticsearch
~]# systemctl status elasticsearch
~]#systemctl enable elasticsearch //加入开机启动
6. 查看端口状态
~]#ss -tnl
至此,节点es-1配置完成。
7.配置集群中的另外节点es-2 和 es-3
配置同es-1,修改一下配置文件里的节点名和地址即可,不再赘述。
8. es集群的相关查询
注意:Elasticsearch 5.x版本不再支持相关插件:如 “elasticsearch-head”...,解释可以访问官网,实在需要,可以独立运行(此处跳过)。
Elasticseach 1.x 2.x仍可支持,请查看:http://mobz.github.io/elasticsearch-head/
查询集群状态方法①
~]# curl -XGET ‘http://192.168.1.21:9200/_cat/nodes‘ //随意一台es中可执行,也可更换其中的 ip(这里可22或23)
~]# curl -XGET ‘http://192.168.1.21:9200/_cat/nodes?v‘ //同上在后面添加 ?v ,表示详细显示
查询集群状态方法②
~]# curl -XGET ‘http://192.168.1.21:9200/_cluster/state/nodes?pretty‘
查询集群中的master
~]# curl -XGET ‘http://192.168.1.21:9200/_cluster/state/master_node?pretty‘
或
~]# curl -XGET ‘http://192.168.1.21:9200/_cat/master?v‘
查询集群的健康状态
~]# curl -XGET ‘http://192.168.1.21:9200/_cat/health?v‘
或
~]# curl -XGET ‘http://192.168.1.21:9200/_cluster/health?pretty‘
至此,ES集群安装结束。