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

前言

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

1. Elasticsearch
功能:Elasticsearch 是一个基于 Apache Lucene 的开源搜索和分析引擎,主要用于存储和搜索大量的结构化和非结构化数据。它是 ELK 堆栈的核心,负责存储日志数据,并提供强大的查询和分析功能。
特点:
分布式:支持跨多台机器的数据存储与处理。
高性能:优化的索引和搜索算法,能够快速处理海量数据。
实时搜索:数据一旦被索引,就可以立即进行搜索和分析。
2. Logstash
功能:Logstash 是一个强大的日志收集、处理和转发工具,用于从不同的数据源收集数据,进行过滤、转换和增强,然后将处理后的数据发送到 Elasticsearch 或其他存储系统中。
特点:
多种输入源:支持从文件、数据库、消息队列、网络等多种来源收集数据。
丰富的过滤器:提供多种内置的过滤插件,可以对日志数据进行清洗、格式化和结构化处理。
输出插件:支持将数据输出到多种目标,如 Elasticsearch、Kafka、文件等。
3. Kibana
功能:Kibana 是用于数据可视化的前端工具,提供了一个易于使用的界面,让用户能够在 Elasticsearch 中存储的数据上执行分析、创建图表、仪表盘等可视化效果。
特点:
数据可视化:支持生成各种类型的图表、仪表盘和报告,帮助用户快速理解数据的趋势和模式。
查询和分析:用户可以通过 Kibana 进行简单的查询和复杂的分析,快速发现数据中的问题或规律。
交互式仪表盘:创建动态和交互式的仪表盘,实时监控和展示重要的指标。
ELK 堆栈的工作流程:
数据收集:Logstash 从不同的数据源收集原始日志数据。
数据处理:Logstash 对数据进行格式化、解析和增强等处理。
数据存储:经过处理的数据被存储在 Elasticsearch 中。
数据可视化:用户通过 Kibana 查询 Elasticsearch 中的数据,并通过图表、仪表盘等方式进行可视化分析。
ELK 的优势:
高效处理大规模日志数据:ELK 能够处理和分析来自多个来源的大规模日志数据。
实时分析:能够实时进行日志查询和分析,帮助运维和开发人员及时发现问题。
可视化:Kibana 提供了强大的数据可视化功能,帮助用户从海量日志数据中提取有价值的信息。
开放源代码:ELK 项目是开源的,用户可以自由地定制和扩展功能。
应用场景:
日志管理和分析:对服务器、应用程序、网络设备等产生的日志进行集中存储、处理和分析。
安全事件监控:监控网络安全事件、异常行为、入侵检测等。
性能监控:监控应用程序和系统的性能指标,帮助发现瓶颈或故障。
故障排除:通过分析日志数据,帮助快速定位和解决问题。
总结来说,ELK 项目(现在也叫 Elastic Stack)是一个强大的日志收集、存储、分析和可视化工具集,广泛应用于日志管理、性能监控、安全分析等领域。

 安装部署 Elasticsearch

更新系统(非必要)

sudo dnf update -y
步骤 一:

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

sudo dnf install java-21-openjdk-devel

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

sudo alternatives --config java


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

java -version
步骤二:

导入 Elasticsearch 的 GPG 公钥:

sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

配置 Elasticsearch 的 YUM 仓库:

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:

sudo dnf install -y elasticsearch

查询 Elasticsearch 包的详细信息:

rpm -qi elasticsearch

步骤三:

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

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 保存退出。

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

步骤五:

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

/usr/share/elasticsearch/bin/elasticsearch-users useradd my_user -p 123456 -r superuser
步骤 六:

配置防火墙

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 公钥:
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
2、配置 Logstash 的 YUM 仓库:
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:
sudo dnf install -y logstash
4、查询 Logstash 包的详细信息:
rpm -qi logstash 
5、编辑 Logstash 的配置文件 logstash.yml:
sudo vim /etc/logstash/logstash.yml  

添加以下内容:

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

安装部署Kibana

1、导入 Kibana 的 GPG 公钥:

sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

 2、配置 Kibana 的 YUM 仓库:

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

sudo dnf install -y kibana

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

rpm -qi kibana

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

sudo vim /etc/kibana/kibana.yml

6、添加以下内容:

server.port: 5601
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://localhost:9200"]

7、启动 Kibana 服务:

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

8、配置防火墙

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 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/492812.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java写URI网址唤醒APP小程序等NDEF信息

本示例使用的发卡器&#xff1a;https://item.taobao.com/item.htm?spma21dvs.23580594.0.0.52de2c1bvCxCPM&ftt&id615391857885 import com.sun.jna.Library ; import com.sun.jna.Native; import java.io.IOException;interface CLibrary extends Library {//DLL绝…

Qt+OPC开发笔记(一):OPCUA介绍、open62541介绍、编译与基础环境Demo

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/144516882 长沙红胖子Qt&#xff08;长沙创微智科&#xff09;博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV…

OpenHarmony和OpenVela的技术创新以及两者对比

两款有名的国内开源操作系统&#xff0c;OpenHarmony&#xff0c;OpenVela都非常的优秀。本文对二者的创新进行一个简要的介绍和对比。 一、OpenHarmony OpenHarmony具有诸多有特点的技术突破和重要贡献&#xff0c;以下是一些主要方面&#xff1a; 架构设计创新 分层架构…

【图像配准】方法总结

图像配准(Image registration)就是将不同时间、不同传感器&#xff08;成像设备&#xff09;或不同条件下&#xff08;天候、照度、摄像位置和角度等&#xff09;获取的两幅或多幅图像进行匹配、叠加的过程&#xff0c;就是找到1幅图像像素到另1幅图像像素间的空间映射关系它已…

Ubuntu本地化安装MYSQL及Navicat

本教程记录一下&#xff0c;如何在ubuntu上安装mysql&#xff0c;并安装免费版的数据库图形化连接软件Navicat Linux上安装mysql首选使用docker安装&#xff0c;直接拉取mysql的docker镜像即可&#xff0c;这种方式最简单、快捷&#xff0c;这是linux云端服务器最常用的安装方式…

案例分享|企查查的数据降本增效之路

分享嘉宾 任何强 企查查科技股份有限公司 大数据架构负责人 关于企查查 “企查查”是企查查科技股份有限公司旗下的一款企业信用查询工具。2023年5月20日&#xff0c;企查查正式发布全球首款商查大模型——“知彼阿尔法”&#xff0c;该模型基于企查查覆盖的全球企业信用数据进…

OpenHarmony-3.HDF Display子系统(6)

Display 子系统 1.Display驱动模型介绍 当前操作系统和 SOC 种类繁多&#xff0c;各厂商的显示屏器件也各有不同&#xff0c;随之针对器件的驱动代码也不尽相同&#xff0c;往往是某一款器件驱动&#xff0c;只适用于某单一内核系统或 SOC&#xff0c;如果要迁移到其他内核或者…

【Java Web】Axios实现前后端数据异步交互

目录 一、Promise概述 二、Promise基本用法 三、async和await关键字 四、Axios介绍 4.1 Axios基本用法 4.2 Axios简化用法之get和post方法 五、Axios拦截器 六、跨域问题处理 一、Promise概述 axios是代替原生的ajax实现前后端数据交互的一套新解决方案&#xff0c;而…

龙迅#LT7911E适用于EDP/DP/TPYE-C转MIPIDSI应用,支持图像处理功能,内置I2C,主应用副屏显示,投屏领域!

1. 描述 LT7911E 是一款高性能 eDP 转 MIPI D-PHY 转换器&#xff0c;旨在将 eDP 源连接到 MIPI 显示面板。 LT7911E 集成了一个符合 eDP1.4 标准的接收器&#xff0c;支持 1.62Gbps 至 5.67Gbps 的输入数据&#xff0c;以 270Mbps 的递增步长&#xff0c;以及一个 2 端口 D…

selenium工作原理

原文链接&#xff1a;https://blog.csdn.net/weixin_67603503/article/details/143226557 启动浏览器和绑定端口 当你创建一个 WebDriver 实例&#xff08;如 webdriver.Chrome()&#xff09;时&#xff0c;Selenium 会启动一个新的浏览器实例&#xff0c;并为其分配一个特定的…

RabbitMQ个人理解与基本使用

目录 一. 作用&#xff1a; 二. RabbitMQ的5中队列模式&#xff1a; 1. 简单模式 2. Work模式 3. 发布/订阅模式 4. 路由模式 5. 主题模式 三. 消息持久化&#xff1a; 消息过期时间 ACK应答 四. 同步接收和异步接收&#xff1a; 应用场景 五. 基本使用 &#xff…

游戏何如防抓包

游戏抓包是指在游戏中&#xff0c;通过抓包工具捕获和分析游戏客户端与服务器之间传输的封包数据的过程。抓包工具可实现拦截、篡改、重发、丢弃游戏的上下行数据包&#xff0c;市面上常见的抓包工具有WPE、Fiddler和Charles Proxy等。 抓包工具有两种实现方式&#xff0c;一类…

二进制分析的新兴趋势:塑造安全的移动应用

在当今快速发展的数字世界中&#xff0c;保障移动应用的安全性变得尤为重要。随着移动技术的广泛应用&#xff0c;安全性需求也日益增强。二进制分析作为确保移动应用安全和合规性的重要手段&#xff0c;通过对已编译的应用进行深入分析&#xff0c;能够发现源代码中难以察觉的…

量子通信学习路径(一)

量子通信是一门融合量子力学和通信技术的交叉学科&#xff0c;其核心目标是利用量子力学的特性&#xff08;如叠加态和纠缠&#xff09;实现信息传递和安全通信。以下是一个系统学习量子通信的完整大纲&#xff0c;从基础知识到实际应用逐步深入&#xff0c;帮助建立全面的知识…

QGIS修行记-如何使用QGIS进行换行标注

问题描述 QGIS根据指定的文字进行换行标注 项目的需要先描述一下&#xff1a; 需要标注的字段太长&#xff0c;需要进行换行标注需要换行的数据不确定有多少&#xff08;适用于批量数据的操作&#xff09;我需要根据指定文字进行换行 如&#xff1a;成山头海洋生态自然保护区…

指针的深入讲解

本章重点&#xff1a; 字符指针数组指针指针数组数组传参和指针传参函数指针函数指针数组指向函数指针数组的指针回调函数 我们在指针的初阶的时候主要讲了&#xff1a; 1.指针就是变量&#xff0c;用来存放地址&#xff0c;地址唯一标识一块内存空间 2.指针的大小是固定4个…

LWIP协议:三次握手和四次挥手、TCP/IP模型

一、三次握手&#xff1a;是客户端与服务器建立连接的方式&#xff1b; 1、客户端发送建立TCP连接的请求。seq序列号是由发送端随机生成的&#xff0c;SYN字段置为1表示需要建立TCP连接。&#xff08;SYN1&#xff0c;seqx&#xff0c;x为随机生成数值&#xff09;&#xff1b;…

WEB开发: 全栈工程师起步 - Python Flask +SQLite的管理系统实现

一、前言 罗马不是一天建成的。 每个全栈工程师都是从HELLO WORLD 起步的。 之前我们分别用NODE.JS 、ASP.NET Core 这两个框架实现过基于WebServer的全栈工程师入门教程。 今天我们用更简单的来实现&#xff1a; Python。 我们将用Python来实现一个学生管理应用&#xff0…

WatchAlert - 开源多数据源告警引擎

概述 在现代 IT 环境中&#xff0c;监控和告警是确保系统稳定性和可靠性的关键环节。然而&#xff0c;随着业务规模的扩大和数据源的多样化&#xff0c;传统的单一数据源告警系统已经无法满足复杂的需求。为了解决这一问题&#xff0c;我开发了一个开源的多数据源告警引擎——…

ABAP SQL 取日期+时间最新的一条数据

我们在系统对接的时候&#xff0c;外部系统可能会推送多个数据给到我们。 我们 SAP 系统的表数据中日期和时间是作为主键的&#xff0c;那么如果通过 ABAP SQL 取到最新日期的最新时间呢。 解决方案&#xff1a; 方式 1&#xff1a;SELECT MAX 可以通过两个 SELECT MAX 来取…