一、ELK说明
ELK是Elasticsearch(ES) + Logstash + Kibana 这三个开源工具组成,官方网站: The Elastic Search AI Platform — Drive real-time insights | Elastic
简单的ELK架构
ES: 是一个分布式、高扩展、高实时的搜索与数据分析引擎。它能很方便的使大量数据具有搜索、分析和探索的能力。
Kibana: 可以对 Elasticsearch 进行可视化,还可以在 Elastic Stack 中进行导航,这样便可以进行各种操作了,从跟踪查询负载,到理解请求如何流经您的整个应用,都能轻松完成。
Logstash: 是开源的服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的“存储库”中。一般用在日志的搜集、分析、过滤,支持大量的数据获取方式。
Filebeat:收集文件数据。
二、基础环境
1. 准备以下几台机器:
主机 | 服务器角色 | 主机系统 | 软件版本 |
es-node1 | Elasticsearch(搜索引擎) | Centos7 | Elasticsearch:7.15.5 |
es-node2 | Elasticsearch(搜索引擎) | Centos7 | Elasticsearch:7.15.5 |
es-node3 | Elasticsearch(搜索引擎) | Centos7 | Elasticsearch:7.15.5 |
kibana | Kibana(界面展示) | Centos7 | Kibana:7.15.5 |
logstash | Logstash(日志处理) | Centos7 | Logstash:7.15.5 |
filebeat | Filebeat(日志收集) | Centos7 | Filebeat:7.15.5 |
2. 关闭selinux
3.主机之间同步时间
三、Elasticsearch集群部署
3.1 前提准备
3.1.1 安装包下载
https://www.elastic.co/cn/downloads/past-releases#elasticsearch 进行下载相应的产品版本,点击“Download”后选择需要的方式包进行下载,本文以linux 二进制方式进行部署
3.1.2 创建用户及授权(注:每个节点都需要操作)
ElasticSerach要求以非root身份启动,在每个节点创建用户及用户组
解压安装包并附所属权
tar
-xvzf elasticsearch-7.17.5-linux-x86_64.
tar
.gz -C
/home/elasticsearch
chown
-R elasticsearch:elasticsearch
/home/elasticsearch/elasticsearch-7
.17.5
在每个节点上创建数据data和logs目录:
3.1.3 java环境
配置环境变量
|
使环境变量生效并验证
3.1.4 内存不能锁定问题(可选)
注:需要重启机器
3.1.5 修改vm.max_map_count
修改一个进程可以拥有的VMA(虚拟内存区域)的数量
vim /etc/sysctl.conf 调整:
vm.max_map_count=262144
执行:sysctl -p 生效
3.2 配置
3.2.1 修改elasticsearch配置文件
配置elasticsearch.yml文件说明:
node1节点
node2节点
grep
-Ev
"^$|^[#;]"
elasticsearch.yml
node3节点
3.2.2 修改JVM内存限制
3.2.3 开启跨域访问支持(可选)
3.3 启动并验证
浏览器访问查看:
查看集群健康状态:http://IP:9200/_cluster/health?pretty
查看集群详细信息:http://IP:9200/_cluster/state?pretty
查看索引列表:http://IP:9200/_cat/indices?v
四、Kibana部署
本文复用ES的一台机器进行部署,实际环境可以单独部署一台。
4.1 前提准备
4.1.1 安装包下载
在 https://www.elastic.co/cn/downloads/past-releases#kibana 进行下载相应的软件版本
4.1.2 创建用户及授权
4.1.3 解压安装包并附所属权
4.1.4 创建日志目录并附所属权
4.2 配置
4.3 启动并验证
使用kibana账号启动
4.3.1 启动
4.3.2 验证
浏览器验证:http:IP:5601
五、Logstash部署
5.1 准备
5.1.1 安装包下载
通过官网下载链接: https://www.elastic.co/cn/downloads/past-releases#logstash 选择对应的版本
5.1.2 创建数据和日志目录
5.2 配置
5.2.1 修改logstash配置文件(可以不修改)
5.2.2 创建监控日志的配置文件
5.3 启动
5.4 验证
六、Filebeat部署
6.1准备
官网下载安装包链接: https://www.elastic.co/cn/downloads/past-releases#filebeat ,选择对应版本
6.2 配置
6.3 启动
6.4 验证
进程启动验证:
七、完整应用验证
首先所有服务都正常启动。
7.1 Filebeat验证
如何通过filebeat数据正常处理完成并输出符合预期的内容,可以采用输出到控制台进行调试验证,在filebeat.yml配置文件中调整输出为控制台方式:
7.2 Logstash验证
如何通过logstash数据正常处理完成并输出符合预期的内容,可以采用输出到控制台进行调试验证,在logstash.conf 配置文件中调整输出为控制台方式:
7.3 ES验证
通过地址api查看是否有相应的索引自动创建并占用存储:http://IP:9200/_cat/indices?v
7.4 Kibana验证
7.4.1 创建索引模版
按照截图中,进入management 中,选择“stack management”
7.4.2 查看索引
点击“Discover”
进入日志查询界面