目录
架构一:Elasticsearch + Logstash + Kibana
架构二:Elasticsearch + Logstash + Filebeat + Kibana
架构三:Elasticsearch + Logstash + Filebeat + Kibana + Redis
架构四:Elasticsearch + Fluentd + Filebeat + Kibana
(8)安装:node02和node03节点上elasticsearch的配置
一、什么是Elk?
ELK分别代表:
Elasticsearch:负责日志检索和存储
特点:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。
Logstash:负责日志的收集分析,处理
一般工作方式为c/s架构,client端安装在需要收集日志的主机上,server端负责将收到的各节点日志进行过滤、修改等操作在一并发往elasticsearch上去。是一个日志收集、过滤、转发的中间件,主要负责将各条业务线的各类日志统一收集、过滤后,转发给 Elasticsearch 进行下一步处理。
Kibana:负责日志的可视化
Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助汇总、分析和搜索重要数据日志。
Filebeat隶属于Beats。
目前Beats包含四种工具:
- Packetbeat(搜集网络流量数据)
- Topbeat(搜集系统、进程和文件系统级别的 CPU 和内存使用情况等数据)
- Filebeat(搜集文件数据)
- Winlogbeat(搜集 Windows 事件日志数据)
二、Elk可以做什么?
ELK主要解决:开发人员不能登录线上服务器查看详细日志、各个系统虽都有日志,但日志数据分散难以查找、日志数据量大,查询速度慢,或者数据不够实时等问题。
三、ELK架构:
架构一:Elasticsearch + Logstash + Kibana
架构二:Elasticsearch + Logstash + Filebeat + Kibana
Log ------ filebeat ----- Logstash --------- Elasticsearch ------- Kibana
架构三:Elasticsearch + Logstash + Filebeat + Kibana + Redis
redis
||
Log ------ filebeat ----- Logstash --------- Elasticsearch ------- Kibana
||
kafka
基本流程如下:
1 、 Logstash-Shipper 获取日志信息发送到 redis 。
2 、 Redis 在此处的作用是防止 ElasticSearch 服务异常导致丢失日志,提供消息队列的作用。
3 、 logstash 是读取 Redis 中的日志信息发送给 ElasticSearch 。
4 、 ElasticSearch 提供日志存储和检索。
5 、 Kibana 是 ElasticSearch 可视化界面插件。
架构四:Elasticsearch + Fluentd + Filebeat + Kibana
四、Elk的部署之部署ElasticSearch集群环境
准备工作:
三台虚拟机均在hosts文件中添加IP地址:
# vim + /etc/hosts
192.168.150.15 elk-node01
192.168.150.16 elk-node02
192.168.150.17 elk-node03
(1)ELK安装jdk
(2)部署ElasticSearch集群环境
(3)配置ElasticSearch集群:
(4)安装head插件:
在5.0版本之后不支持直接把插件包放入es安装目录的plugin目录下,需要单独安装。
1>安装环境支持,需要安装nodejs
2>下载head插件
3>安装依赖包
4>修改配置文件 修改Gruntfile.js
5> 修改elasticsearch-head默认连接地址,将localhost改为本机IP
6>修改elasticsearch的配置文件elasticsearch.yml,以允许跨域访问,在文末追加如下代码即可。
7> 重启elasticsearch.service
8>启动插件
浏览器访问192.168.150.15:9100就能看到我们集群信息
(5) 安装Bigdesk插件
1>下载bigdesk-master.zip
(6)安装cerebro插件
1>下载cerebro-0.8.3.tgz
2>启动
3>浏览器访问IP:9000 就能看到数据分片信息。
(7)配置开机自启动
(8)安装:node02和node03节点上elasticsearch的配置
node02:
node03:
(9)检查Elasticsearch集群
1>查看集群状态(任意节点执行)