Linux环境下 搭建ELk项目 -单机版练习

前言

ELK 项目是一个由三个开源工具组成的日志处理和分析解决方案,ELK 是 Elasticsearch、Logstash 和 Kibana 的首字母缩写。这个项目的目标是帮助用户采集、存储、搜索和可视化大量的日志和事件数据,尤其是在分布式系统中。下面是每个组件的概述:

  1. Elasticsearch

功能:Elasticsearch 是一个基于 Apache Lucene 的开源搜索和分析引擎,主要用于存储和搜索大量的结构化和非结构化数据。它是 ELK 堆栈的核心,负责存储日志数据,并提供强大的查询和分析功能。

特点:

分布式:支持跨多台机器的数据存储与处理。

高性能:优化的索引和搜索算法,能够快速处理海量数据。

实时搜索:数据一旦被索引,就可以立即进行搜索和分析。

  1. Logstash

功能:Logstash 是一个强大的日志收集、处理和转发工具,用于从不同的数据源收集数据,进行过滤、转换和增强,然后将处理后的数据发送到 Elasticsearch 或其他存储系统中。

特点:

多种输入源:支持从文件、数据库、消息队列、网络等多种来源收集数据。

丰富的过滤器:提供多种内置的过滤插件,可以对日志数据进行清洗、格式化和结构化处理。

输出插件:支持将数据输出到多种目标,如 Elasticsearch、Kafka、文件等。

  1. Kibana

功能:Kibana 是用于数据可视化的前端工具,提供了一个易于使用的界面,让用户能够在 Elasticsearch 中存储的数据上执行分析、创建图表、仪表盘等可视化效果。

特点:

数据可视化:支持生成各种类型的图表、仪表盘和报告,帮助用户快速理解数据的趋势和模式。

查询和分析:用户可以通过 Kibana 进行简单的查询和复杂的分析,快速发现数据中的问题或规律。

交互式仪表盘:创建动态和交互式的仪表盘,实时监控和展示重要的指标。

ELK 堆栈的工作流程:

数据收集:Logstash 从不同的数据源收集原始日志数据。

数据处理:Logstash 对数据进行格式化、解析和增强等处理。

数据存储:经过处理的数据被存储在 Elasticsearch 中。

数据可视化:用户通过 Kibana 查询 Elasticsearch 中的数据,并通过图表、仪表盘等方式进行可视化分析。

ELK 的优势:

高效处理大规模日志数据:ELK 能够处理和分析来自多个来源的大规模日志数据。

实时分析:能够实时进行日志查询和分析,帮助运维和开发人员及时发现问题。

可视化:Kibana 提供了强大的数据可视化功能,帮助用户从海量日志数据中提取有价值的信息。

开放源代码:ELK 项目是开源的,用户可以自由地定制和扩展功能。

应用场景:

日志管理和分析:对服务器、应用程序、网络设备等产生的日志进行集中存储、处理和分析。

安全事件监控:监控网络安全事件、异常行为、入侵检测等。

性能监控:监控应用程序和系统的性能指标,帮助发现瓶颈或故障。

故障排除:通过分析日志数据,帮助快速定位和解决问题。

总结来说,ELK 项目(现在也叫 Elastic Stack)是一个强大的日志收集、存储、分析和可视化工具集,广泛应用于日志管理、性能监控、安全分析等领域。

安装部署 Elasticsearch

更新系统(非必要)

bash 复制代码
sudo dnf update -y
步骤 一:

安装jdk 保证版本兼容Elasticsearch 所需要的 Java 运行环境。

bash 复制代码
sudo dnf install java-21-openjdk-devel

配置系统使用哪个 Java 版本作为默认版本。

bash 复制代码
sudo alternatives --config java

查看当前系统中安装的 Java 版本。

bash 复制代码
java -version
步骤二:

导入 Elasticsearch 的 GPG 公钥:

bash 复制代码
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

配置 Elasticsearch 的 YUM 仓库:

bash 复制代码
sudo tee /etc/yum.repos.d/elasticsearch.repo <<EOF
[elasticsearch-8.x]
name=Elasticsearch repository for 8.x packages
baseurl=https://artifacts.elastic.co/packages/8.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
EOF

安装 Elasticsearch:

bash 复制代码
sudo dnf install -y elasticsearch

查询 Elasticsearch 包的详细信息:

bash 复制代码
rpm -qi elasticsearch
步骤三:

编辑 Elasticsearch 的配置文件 elasticsearch.yml:

bash 复制代码
sudo vim /etc/elasticsearch/elasticsearch.yml
#设置集群名称:
cluster.name: my-cluster
#设置节点名称:
node.name: node-1
#设置网络绑定地址(默认是绑定到本地环回地址,生产环境中可能需要改为 0.0.0.0 或具体的 IP 地址):
network.host: 0.0.0.0
#如果要设置 HTTP 端口:
http.port: 9200

:wq 保存退出。

步骤四:
bash 复制代码
启动 Elasticsearch 服务:
sudo systemctl start elasticsearch
设置 Elasticsearch 服务在系统启动时自动启动:
sudo systemctl enable elasticsearch
检查 Elasticsearch 服务的状态:
sudo systemctl status elasticsearch
步骤五:

创建自定义用户并设置密码(用户:my_user 密码:123456):

bash 复制代码
/usr/share/elasticsearch/bin/elasticsearch-users useradd my_user -p 123456 -r superuser
步骤 六:

配置防火墙

bash 复制代码
sudo firewall-cmd --zone=public --add-port=9200/tcp --permanent
sudo firewall-cmd --reload
步骤七:

浏览器访问 https://localhost:9200

登录账户和密码 之前步骤五:设置的 用户:my_user 密码:123456

输入以下内容表示成功

补充内容:

1、配置 Elasticsearch 的 Java 堆内存

sudo vim /etc/elasticsearch/jvm.options

-Xms4g

-Xmx4g

上述设置会将 Elasticsearch 的最小和最大堆内存大小都设置为 4GB。您可以根据您的硬件配置来调整这些值。

2、启动和监控 Elasticsearch 集群

运行健康检查:

curl -X GET "localhost:9200/_cluster/health?pretty"

查看节点信息:

curl -X GET "localhost:9200/_nodes?pretty"

安装部署Logstash

1、导入 Logstash 的 GPG 公钥:
bash 复制代码
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
2、配置 Logstash 的 YUM 仓库:
bash 复制代码
sudo tee /etc/yum.repos.d/logstash.repo <<EOF
[logstash-8.x]
name=Elastic Logstash repository for 8.x packages
baseurl=https://artifacts.elastic.co/packages/8.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
EOF
3、安装 Logstash:
bash 复制代码
sudo dnf install -y logstash
4、查询 Logstash 包的详细信息:
bash 复制代码
rpm -qi logstash 
5、编辑 Logstash 的配置文件 logstash.yml:
bash 复制代码
sudo vim /etc/logstash/logstash.yml  

添加以下内容:

bash 复制代码
http.host: "0.0.0.0"
xpack.monitoring.elasticsearch.hosts: ["http://localhost:9200"]  
6、启动 Logstash 服务:
bash 复制代码
sudo systemctl start logstash  
设置 Logstash 服务在系统启动时自动启动:
sudo systemctl enable logstash
检查 Logstash 服务的状态:
sudo systemctl status logstash

安装部署Kibana

1、导入 Kibana 的 GPG 公钥:

bash 复制代码
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

2、配置 Kibana 的 YUM 仓库:

bash 复制代码
sudo tee /etc/yum.repos.d/kibana.repo <<EOF
[kibana-8.x]
name=Elastic Kibana repository for 8.x packages
baseurl=https://artifacts.elastic.co/packages/8.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
EOF

3、安装 Kibana

bash 复制代码
sudo dnf install -y kibana

4、查询 Kibana 包的详细信息:

bash 复制代码
rpm -qi kibana

5、编辑 Kibana 的配置文件 kibana.yml:

bash 复制代码
sudo vim /etc/kibana/kibana.yml

6、添加以下内容:

bash 复制代码
server.port: 5601
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://localhost:9200"]

7、启动 Kibana 服务:

bash 复制代码
sudo systemctl start kibana
设置 Kibana 服务在系统启动时自动启动:
sudo systemctl enable kibana  
检查 Kibana 服务的状态:
sudo systemctl status kibana

8、配置防火墙

bash 复制代码
sudo firewall-cmd --list-ports
sudo firewall-cmd --add-port=5601/tcp --permanent
sudo firewall-cmd --reload

9、浏览器访问 Kibana:

打开浏览器,访问http://localhost:5601。如果看到 Kibana 的 Web 界面,则表示安装成功。

补充说明:

安装目录和配置文件目录

Elasticsearch安装目录
cd /usr/share/elasticsearch/

编辑 Elasticsearch 的配置文件目录
sudo vim /etc/elasticsearch/elasticsearch.yml

安装 Logstash目录
cd /usr/share/logstash/

编辑 Logstash 的配置文件
sudo vim /etc/logstash/logstash.yml

安装 Kibana目录
cd /usr/share/kibana/

编辑 Kibana 的配置文件 kibana.yml:
sudo vim /etc/kibana/kibana.yml

相关推荐
元气满满的热码式33 分钟前
Centos7.9安装docker
运维·docker·容器
whoami-41 小时前
Linux基础入门
linux·运维·服务器
꧁༺朝花夕逝༻꧂1 小时前
tomcat的安装以及配置(基于linuxOS)
java·服务器·tomcat
weixin_387545641 小时前
从 MeshConfig 迁移到 Istio Telemetry API:提升网格观测性和灵活性
java·运维·前端·python·istio
吹老师个人app编程教学1 小时前
clickhouse-副本和分片
java·服务器·clickhouse
魏+Mtiao15_2 小时前
短视频矩阵:构建多平台曝光的高效运营网络
大数据·人工智能
阿斯卡码2 小时前
服务器运行Vue项目
运维·服务器·vue.js
NiNg_1_2342 小时前
Linux中用户和用户管理详解
linux·运维·服务器
Benson30020739972 小时前
G口带宽服务器与1G独享带宽服务器:深度剖析其差异
运维·服务器·网络
weisian1512 小时前
Redis篇-20--运维篇2-哨兵机制(主从节点监听,故障转移,高可用,配置案例)
运维·redis