当前位置: 首页 > news >正文

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 

相关文章:

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

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

ubuntu20.04安装mysql5.7

安装之前要确保之前没安装过或者安装后卸载干净了&#xff0c;不然后面的配置文件可能会报错。 1. 下载安装包 打开链接 downloads.mysql.com/archives/co… 选择相应版本进行下载&#xff0c;这里mysql版本选择 5.7.35&#xff0c;系统选择Ubuntu Linux&#xff0c;选择64位…...

MacPorts 安装 Tengine

创建 Portfile 以下是我参考 nginx 调整后的 Portfile&#xff0c;如需安装指定版本&#xff0c;除了修改版本号之外还需要修改 checksums 里的 sha256 sha256 值需下载 Tengine 源码文件&#xff08;tar.gz&#xff09;进行计算 模块的调整在最后的 configure.args-append …...

Git安装及基础学习

Git学习 Git安装 概述&#xff1a; Git是一个开源的分布式版本控制系统&#xff0c;可以有效、高速的处理 从很小到非常大的项目版本管理&#xff0c;是目前使用范围最广的版本 管理工具。 下载安装&#xff1a; 下载地址&#xff1a;https://git-scm.com/ 下载后傻瓜式一键安…...

【celery】任务有时候不执行

celery任务有时执行&#xff0c;有时不执行&#xff0c;这种情况是任务被冒领&#xff1b;有时执行说明这个方法可以使用&#xff0c;有时不执行通常是被使用同一个消息队列的进程冒领了&#xff1b; 解决 Redis&#xff1a;指定一个分块就行了...

【恶意软件检测论文】通过提取 API 语义来实现的一个新颖的安卓恶意软件检测方法

目录 摘要1. 引言2. 相关工作2.1. 基于重新训练的恶意软件检测2.2. 基于应用关系图的恶意软件检测2.3. 基于异常样本识别的恶意软件检测2.4. 基于API聚类的恶意软件检测 3. AMDASE概述4. 基于语义距离的API聚类4.1. API特征提取4.2. API句子生成4.3. API句子编码4.4.聚类中心生…...

什么,不用 Tomcat 也能运行 Java web?

在 Java web 开发领域&#xff0c;传统的 Tomcat 服务器一直占据着重要地位。但如今&#xff0c;Blade 框架的出现为我们提供了一种全新的开发体验&#xff0c;它无需依赖 Tomcat 便可运行 Java web 应用。 一、Blade 框架简介 是一款轻量级且高性能的 Java web 框架。其设计理…...

华为HarmonyOS实现跨多个子系统融合的场景化服务 -- 1 构建快速验证手机号Button

场景介绍 快速验证手机号Button功能用于帮助开发者向用户发起手机号申请&#xff0c;应用在满足《常见类型移动互联网应用程序必要个人信息范围规定》&#xff08;对第三方网站的内容&#xff0c;华为公司不承担任何责任&#xff09;中使用手机号的必要业务场景&#xff0c;经…...

王佩丰24节Excel学习笔记——第十一讲:Vlookup函数

【以 Excel2010 系列学习&#xff0c;用 Office LTSC 专业增强版 2021 实践】 【本章小技巧】 掌握vlookup使用方法&#xff0c;选区的第一列一定是查询参数条件一。使用通配符查询。vlookup 限 255 位长度。掌握日常使用场景。使用vlookup模糊匹配查询个税 一、使用Vlookup函…...

【QT实战の心情笔记】

文章目录 界面布局主要界面分为三部分&#xff1a;1. 笔记列表区域2. 笔记内容编辑区域3. 操作按钮区域 Qt Designer 界面设计步骤完整界面布局图各控件设置和属性Qt Designer 文件 (.ui) 数据库表结构SQL 表结构&#xff1a; 逻辑代码1. 项目结构2. Note 类 (Note.h 和 Note.c…...

图像生成工具WebUI

介绍 Stable Diffusion WebUI&#xff08;AUTOMATIC1111&#xff0c;简称A1111&#xff09;是一个为高级用户设计的图形用户界面&#xff08;GUI&#xff09;&#xff0c;它提供了丰富的功能和灵活性&#xff0c;以满足复杂和高级的图像生成需求。如今各种人工智能满天飞&…...

排查常见的 MySQL性能问题

1. 查询速度慢&#xff1a;MySQL 数据库中最常见的性能问题之一是查询执行速度慢。缓慢的查询会增加等待时间和阻碍应用程序响应能力&#xff0c;从而显著影响用户体验。这些缓慢的查询可能由各种因素引起&#xff0c;例如缺少适当的索引、设计不佳的数据库架构、查询逻辑本身效…...

滑雪场管理系统

【毕业设计】基于SpringBoot Vue的滑雪场管理系统 摘要 随着信息化时代的快速发展&#xff0c;滑雪场作为冬季旅游的热门目的地&#xff0c;其管理效率和服务质量直接影响着游客的体验。为此&#xff0c;设计一个高效、安全、易用的滑雪场管理系统成为当务之急。本文详细阐述…...

西游记战力排名、笔记等

文章目录 战力排名对西游记的理解各个版本游戏题材西游记关卡和妖怪 西游记家喻户晓&#xff0c;没有谁不知道吧&#xff0c;无论是电视剧、影视&#xff0c;还是小说&#xff0c;乃至游戏&#xff0c;很多地方都有西游记的身影。 虽然知道&#xff0c;但总不如对三国啊、水浒啊…...

vue3 + js + vite创建的项目中配置svg图

安装 npm install vite-plugin-svg-icons npm install fast-globvite.config.js文件中配置如下内容 import { defineConfig } from vite import vue from vitejs/plugin-vue import { createSvgIconsPlugin } from vite-plugin-svg-icons import path from path export defau…...

c++ 找第一个只出现一次的字符

【题目描述】 给定一个只包含小写字母的字符串&#xff0c;请你找到第一个仅出现一次的字符。如果没有&#xff0c;输出no。 【输入】 一个字符串&#xff0c;长度小于100000。 【输出】 输出第一个仅出现一次的字符&#xff0c;若没有则输出no。 【输入样例】 abcabd【输出样…...

在 Unity 6 中使用APV为您的世界创建全局照明的新方法(一)

Unity 6 中推出的新照明功能让您能够更快速、更高效的完成对烘焙场景的照明工作&#xff0c;在本文中我们将与大家详细分享在 Unity 6 中应用自适应探针卷创建快速全局光照的更多细节与具体应用方法。由于内容比较丰富&#xff0c;我们将把内容分为三篇文章&#xff0c;以便大家…...

Win11安装安卓子系统WSA

文章目录 简介一、启用Hyper-V二、安装WSA三、安装APKAPK商店参考文献 简介 WSA&#xff1a;Windows Subsystem For Android 一、启用Hyper-V 控制面板 → 程序和功能 → 启用或关闭 Windows 功能 → 勾选 Hyper-V 二、安装WSA 进入 Microsoft Store&#xff0c;下拉框改为 …...

利用两种方式分别实现单例模式(懒汉式、饿汉式)

package testsingle;//实现单例的两种方式 public class TestMySingle {public static void main(String[] args) {ClassA ca1 ClassA.getClassA();ClassA ca2 ClassA.getClassA();System.out.println(ca1ca2);ClassB cb1 ClassB.getClassB();ClassB cb2 ClassB.getClassB(…...

js分页功能

先声明些全局变量方便我们在下面的代码中使用 //一页有多少条数据 let pagenum 10; //页码下标 let page_index 0; //总页数 let total_page; // 声明一个用于接数据的变量 let data&#xff1b; //获取数据 let res;通过获取数据渲染页面 // 渲染函数 function applys(da…...

基于Cadence Virtuoso的gm/ID曲线仿真与参数扫描实战指南

1. 从零理解gm/ID设计方法学 在模拟电路设计领域&#xff0c;随着工艺节点不断缩小&#xff0c;我们这些工程师遇到了一个尴尬的现实&#xff1a;教科书里的那些经典公式越来越不灵了。记得我第一次用28nm工艺设计运放时&#xff0c;按照传统方法计算的增益和实测结果差了近40%…...

从CTF逆向到软件分析:用z3-solver自动化求解约束方程

1. 为什么我们需要z3-solver&#xff1f; 第一次参加CTF比赛时&#xff0c;我遇到一道逆向题&#xff0c;需要解一个包含30多个变量的方程组。当时我花了整整两天时间手工计算&#xff0c;最后还是没能解出来。赛后才知道&#xff0c;原来可以用z3-solver在几分钟内自动求解。这…...

WarcraftHelper终极指南:5步解决魔兽争霸3闪退与兼容性问题

WarcraftHelper终极指南&#xff1a;5步解决魔兽争霸3闪退与兼容性问题 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还在为魔兽争霸3闪退问题烦恼吗…...

如何在Mac上免费一键解锁CrossOver游戏兼容性:CXPatcher完全指南

如何在Mac上免费一键解锁CrossOver游戏兼容性&#xff1a;CXPatcher完全指南 【免费下载链接】CXPatcher A patcher to upgrade Crossover dependencies and improve compatibility 项目地址: https://gitcode.com/gh_mirrors/cx/CXPatcher 想在Mac上流畅运行Windows游戏…...

告别手动处理!用MATLAB App Designer打造你的专属数据(图片/表格)预处理小工具

告别手动处理&#xff01;用MATLAB App Designer打造你的专属数据预处理小工具 在数据分析与科研工作中&#xff0c;我们常常陷入重复性劳动的泥潭&#xff1a;每次收到新数据集都要用不同软件打开图片查看尺寸、用Excel检查表格结构、用统计工具计算基础指标。这种碎片化操作不…...

ROFL-Player:打破英雄联盟回放观看壁垒的革命性工具

ROFL-Player&#xff1a;打破英雄联盟回放观看壁垒的革命性工具 【免费下载链接】ROFL-Player (No longer supported) One stop shop utility for viewing League of Legends replays! 项目地址: https://gitcode.com/gh_mirrors/ro/ROFL-Player 你是否曾经因为游戏版本…...

Verilog行为级建模:从initial/always到阻塞非阻塞赋值的核心语法解析

1. 项目概述&#xff1a;从“连线”到“行为”的思维跃迁刚接触数字电路设计的朋友&#xff0c;可能都是从画原理图、连逻辑门开始的。但当你面对一个需要处理复杂时序、包含状态机或者有算法逻辑的模块时&#xff0c;光靠门级网表来描述&#xff0c;那工程量简直让人头皮发麻。…...

ElevenLabs免费额度使用全攻略(2024年Q2实测版):从注册到语音生成的7个生死节点

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;ElevenLabs免费额度的核心机制与边界认知 ElevenLabs 的免费层并非基于“每月固定时长”&#xff0c;而是采用动态配额&#xff08;Dynamic Quota&#xff09;模型&#xff0c;其核心由三重维度共同约束…...

SAP屏幕导航:从SET到LEAVE,实战解析六大跳转策略

1. SAP屏幕导航的核心逻辑 在SAP ABAP开发中&#xff0c;屏幕导航就像是在迷宫中寻找出口。想象你手里有六把不同的钥匙&#xff08;六种跳转策略&#xff09;&#xff0c;每把钥匙对应不同的门锁&#xff08;业务场景&#xff09;。选错钥匙要么打不开门&#xff0c;要么可能把…...

如何在华硕路由器上3分钟安装AdGuardHome实现全网广告拦截

如何在华硕路由器上3分钟安装AdGuardHome实现全网广告拦截 【免费下载链接】Asuswrt-Merlin-AdGuardHome-Installer The Official Installer of AdGuardHome for Asuswrt-Merlin 项目地址: https://gitcode.com/gh_mirrors/as/Asuswrt-Merlin-AdGuardHome-Installer 厌倦…...