安装es、kibana、logstash

下载 elk

下载地址
elasticsearch地址: https://www.elastic.co/cn/downloads/elasticsearch
kibana地址: https://www.elastic.co/cn/downloads/kibana
logstash地址: https://www.elastic.co/cn/downloads/logstash

解压elk

创建es全家桶文件夹

cd /usr/local
mkdir elk
cd elk

将下载文件放入elk中,也可以通过wget+下载地址直接下载

 tar -zxvf logstash-9.1.2-linux-x86_64.tar.gztar -zxvf kibana-9.1.2-linux-x86_64.tar.gztar -zxvf elasticsearch-9.1.2-linux-x86_64.tar.gz

修改配置文件

elasticsearch

vim -v elasticsearch-9.1.2/config/elasticsearch.yml
# 修改外网可访问、端口号、集群节点、添加密码验证、日志数据存储位置等
# ~如图
# 关闭自动学习功能,或者更新下载插件#elasticsearch.yml插入
xpack.ml.enabled: false#或下载插件
yum install -y glibc libstdc++ libatomic

在这里插入图片描述

# 修改内存大小,看自己的内存,不能超过当前运行内存剩余的一半,否则会报错
vim -v elasticsearch-9.1.2/config/jvm.options

在这里插入图片描述
修改最小缓存

vim -v /etc/sysctl.confvm.max_map_count=262144
#生效配置
sudo sysctl -p

在这里插入图片描述

如果是root用户

# es不允许使用root启动
#添加新分组和指定用户,授权访问文件,通过指定用户访问sudo groupadd elksudo useradd -g elk elasticsearchsudo chown -R elasticsearch:elk /usr/local/elksudo -u elasticsearch elasticsearch-9.1.2/bin/elasticsearch

启动后

启动后在config中自动生成certs文件(里边为key文件)
并在elasticsearch.yml中自动插入验证配置
在这里插入图片描述

修改默认账户密码

可以使用自动生成和手动输入

# 生成随机密码
# elastic(超级管理员,默认用户名)
./elasticsearch-9.1.2/bin/elasticsearch-reset-password -u elastic -a
# 默认账号
# 手动设置默认账号的密码
./elasticsearch-9.1.2/bin/elasticsearch-reset-password -u kibana_system -i
# kibana_system(Kibana 连接 Elasticsearch 使用的用户)
# logstash_system(Logstash 连接 Elasticsearch 使用的用户)
# beats_system(Filebeat/Metricbeat 等连接 Elasticsearch 使用的用户)
# apm_system(APM Server 连接 Elasticsearch 使用的用户)
# remote_monitoring_user(用于监控的用户)

在这里插入图片描述

修改kibana.yml

vim -v kibana-9.1.2/config/kibana.yml
#修改如下

在这里插入图片描述
写入es账号密码

在这里插入图片描述kabana设置中文
在kibana.yml
在这里插入图片描述

如果是root用户

# kibana同样不允许使用root启动
#添加新分组和指定用户,授权访问文件,通过指定用户访问
# sudo groupadd elk
# sudo useradd -g elk elasticsearch
# sudo chown -R elasticsearch:elk /usr/local/elksudo -u elasticsearch ./kibana-9.1.2/bin/kibana

修改logstash.yml (一个同步mysql的例子)

 vim -v logstash-9.1.2/config/logstash.yml#修改端口号范围、以及账号密码

在这里插入图片描述
在这里插入图片描述新建conf文件

# 创建conf
touch logstash-9.1.2/config/logstash.conf
# 修改conf
vim -v logstash-9.1.2/config/logstash.conf
cd logstash-9.1.2
bin/logstash-plugin install logstash-integration-jdbc

分为三个模块,输入、过滤、输出

input {file {path => "/data/workspace/workspace/work-cloud/logs/project/test-server.log"  # 日志文件路径start_position => "beginning"  # 从文件开头开始读取(可选:改为 "end" 仅读取新日志)sincedb_path => "NUL"   # 防止记录读取位置(Windows下可用 "NUL")# 如果是在Linux/Mac,使用:sincedb_path => "/dev/"# 如果是在Windows,使用:sincedb_path => "NUL"}
}filter {# 使用 grok 解析日志格式grok {match => {"message" => [# 匹配时间、日志级别、线程、类名、SQL 或其他信息"%{TIMESTAMP_ISO8601:timestamp} \| %{DATA:log_level} %{NUMBER:pid} \| %{GREEDYDATA:thread_info} \| %{DATA:class_name} \| %{GREEDYDATA:log_content}"]}# 如果 grok 解析失败,标记为 _grokparsefailuretag_on_failure => ["_grokparsefailure"]}# 提取 SQL 语句(如果日志内容包含 SQLif [log_content] =~ /Preparing: (.+)$/ or [log_content] =~ /==> Parameters: (.+)$/ {grok {match => {"log_content" => ["Preparing: %{GREEDYDATA:sql_statement}",  # 提取 "Preparing: SELECT ...""==> Parameters: %{GREEDYDATA:sql_parameters}"  # 提取参数(可选)]}}}# 提取错误信息(如果日志级别是 ERROR 或包含异常堆栈)if [log_level] == "ERROR" or [log_content] =~ /Exception|Error/ {grok {match => {"log_content" => ["Exception: %{GREEDYDATA:exception_message}",  # 提取异常信息"Caused by: %{GREEDYDATA:cause_message}"       # 提取原因(可选)]}}}# 日期解析(将字符串时间转换为 Logstash 时间格式)date {match => ["timestamp", "yyyy-MM-dd HH:mm:ss.SSS"]target => "@timestamp"  # 覆盖默认的 @timestamp 字段}# 移除不需要的字段(可选)mutate {remove_field => ["message", "timestamp", "host", "path"]  # 移除原始消息和其他冗余字段}
}output {# 输出到 Elasticsearchelasticsearch {hosts => ["http://localhost:19200"]  # Elasticsearch 地址index => "scrm-server-logs-%{+YYYY.MM.dd}"  # 索引名称(按天分割)user => "logstash_system"  # 如果启用了 Elasticsearch 安全认证password => "pass"  # 替换为实际密码}# 可选:输出到控制台(调试用)stdout {codec => rubydebug  # 以结构化格式输出到控制台}
}

常用 Grok 关键词

关键词注释示例
WORD非空格字符串 Hello、123
NOTSPACE非空格的连续字符GET /index.html
DATA任意数据(可能包含空格)This is a test
GREEDYDATA贪婪匹配(尽可能多的字符)*(直到行尾)
QUOTEDSTRING引号包裹的字符串“Hello World”
IPIPv4 地址192.168.1.1
IPV6IPv6 地址2001:0db8::1
HOSTNAME主机名example.com
PORT端口号8080
TIMESTAMP_ISO8601ISO8601 时间格式2023-10-10T13:55:36Z
HTTPDATEHTTP 日期格式10/Oct/2023:13:55:36 +0800
DATE通用日期格式10/Oct/2023
METHODHTTP 方法GET、POST
URIPATHURI 路径/index.html
URIQUERYURI 查询参数?id=123
USERAGENTUser-Agent 字符串Mozilla/5.0
NUMBER整数或浮点数123、3.14
INT整数42
BASE10NUM十进制数12345

自定义模式

filter {grok {match => {"message" => "%{CUSTOM_PATTERN:field_name}"}patterns_dir => ["/usr/local/elk/custom_patterns"]  # 可选:自定义模式文件路径}
}

在这里插入图片描述

同步mysql

# 安装jdbc插件
https://downloads.mysql.com/archives/c-j/
tar -zxvf mysql-connector-java-8.0.20.tar.gz

在这里插入图片描述

如果是root用户

# kibana同样不允许使用root启动
#添加新分组和指定用户,授权访问文件,通过指定用户访问
# sudo groupadd elk
# sudo useradd -g elk elasticsearch
# sudo chown -R elasticsearch:elk /usr/local/elk
sudo -u elasticsearch ./logstash-9.1.2/bin/logstash -f logstash-9.1.2/config/logstashMysql.conf

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

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

相关文章

Django admin 后台开发案例【字段/图片】

这是一个简单的django admin 管理后台,这个应用案例主要是给运营人员进行填写数据 主要功能包括: 上传图片功能【选择上传时可以预览】【替换已有数据中的图片时可以预览新旧图片】 每条数据都将会记录操作历史。记录操作人是谁?修改内容是什么?并且定位责任到某一员。 …

【C++】const和static的用法

目录🚀前言💻const:“只读”的守护者💯修饰普通变量💯修饰指针💯修饰函数💯修饰类成员💯修饰对象🌟static:“静态存储”与“作用域控制”💯修饰全…

F019 vue+flask海外购商品推荐可视化分析系统一带一路【三种推荐算法】

文章结尾部分有CSDN官方提供的学长 联系方式名片 B站up: 麦麦大数据 关注B站,有好处! 编号: F019 关键词:海外购 推荐系统 一带一路 python 视频 VueFlask 海外购电商大数据推荐系统源码 (三种推荐算法 全新界面布局…

【大数据专栏】流式处理框架-Apache Fink

Apache Fink 1 前言 1.1 功能 1.2 用户 国际 国内 1.3 特点 ◆ 结合Java、Scala两种语言 ◆ 从基础到实战 ◆ 系统学习Flink的核心知识 ◆ 快速完成从入门到上手企业开发的能力提升 1.4 安排 ◆ 初识Flink ◆ 编程模型及核心概念 ◆ DataSet API编程 ◆ Data…

向内核社区提交补丁

一、背景 内核的版本一直以来一直在持续迭代,离不开众多开发者的贡献。有时候我们会根据项目要求基于现有的内核版本开发一些新的功能或者修复掉一些特定场下的问题,我们是可以将其提交给社区的。 一般提交社区有两个基本原则,一是提交的补…

TENGJUN-USB TYPE-C 24PIN测插双贴连接器(H14.3,4脚插板带柱):USB4.0高速传输时代的精密连接方案解析

在高速数据传输与多设备互联需求日益增长的当下,USB TYPE-C接口凭借其可逆插拔、高兼容性的优势成为主流,而TENGJUN推出的USB TYPE-C 24PIN测插双贴连接器(规格:H14.3,4脚插板带柱) ,以对USB4.0…

企业级 Docker 应用:部署、仓库与安全加固

1 Docker简介及部署方法 1.1 Docker简介 Docker之父Solomon Hykes:Docker就好比传统的货运集装箱 Note 2008 年LXC(LinuX Contiainer)发布,但是没有行业标准,兼容性非常差 docker2013年首次发布,由Docker, Inc开发1.1.1 什么是do…

rust语言 (1.88) 学习笔记:客户端和服务器端同在一个项目中

同一项目下多个可执行文件,多个子项目参照以下: 一、项目目录 项目/|-- client/|-- main.rs|-- Cargo.toml|-- server/|-- main.rs|-- Cargo.toml|-- Cargo.toml二、项目公共 Cargo.toml [workspace] # 定义Rust工作区配置 members …

mac本地安装mysql

本人环境 macOs 14.5 1.下载安装mysql https://dev.mysql.com/downloads/mysql/ 配置环境变量,打开terminal vim ~/.bash_profile 添加MYSQL_HOME/usr/local/mysql 在PATH中添加 通过mysql --version命令查看版本 2.开启mysql 打开终端teminal,输入命令 sudo…

面试前端遇到的问题

面试官让我写一个delay函数然后这是我写的代码async function delay(){setTimeout(function() {}, 3000); }面试官就和我说不是这个,用promise当时就蒙了,什么东西,为什么要用promise然后问豆包说Promise 是 JavaScript 中用于处理异步操作的…

Ubuntu Desktop 22.04.5 LTS 使用默认的 VNC 远程桌面

1. 打开 VNC 打开设置 - 分享 - 远程桌面2. 配置 VNC 打开远程桌面 启用vnc 选择vnc密码访问 配置密码3. 固定密码 远程桌面的访问密码在每次开机后会刷新一次,可以通过以下方式固定 打开【应用程序】-【附件】-密码和加密密钥(或…

【无线安全实验4】基于伪随机数的WPS PIN码逆向(精灵尘埃/仙尘攻击)

文章目录1 原理分析1.1 WPS连接过程1.1.1 初始阶段1.1.2 注册阶段1.2 WPS攻击原理1.2.1 在线攻击1.2.2 离线攻击1.2.2.1 Ralink模式1.2.2.2 eCos模式2 实验过程3 参考资料在2011年 Stefan Viehbck 演示过WPS的在线暴力攻击,由于PIN码猜测最多只需11000种组合&#x…

IDEA开发过程中经常使用到的快捷键

IntelliJ IDEA 开发 Java 时常用的快捷键列表 代码编辑与行操作快捷键功能描述Ctrl Y删除当前行。Ctrl D复制当前行到下一行。Shift Alt ↑将当前行(或选中块)向上移动。Shift Alt ↓将当前行(或选中块)向下移动。Ctrl /注…

ubuntu使用webrtc库开发一个webrtc推拉流程序

目录 一. 前言 二. 整体交互流程 三. 类实现说明 1. WebRtcClient 2. SignalPeerClient 3. WebRTCStream 4. 视频源类 5. 拉流渲染 四. 使用示例 1. 推流代码示例 2. 拉流代码示例 一. 前言 在 《ubuntu编译webrtc库》我们介绍了如何在 ubuntu 上使用 webrtc 源代码…

【Block总结】ConverseNet:神经网络中的反向卷积算子

1. 论文信息 标题:Reverse Convolution and Its Applications to Image Restoration 发布平台:arXiv 论文链接:https://arxiv.org/pdf/2508.09824 代码仓库:https://github.com/cszn/converseNet 任务领域:图像恢复(去噪、超分辨率、去模糊) 核心贡献:提出了一种新的反…

优化浏览体验:4个设置让Google Chrome更好用!

想要更流畅、更快速的浏览体验吗?本文章将向大家展示Google Chrome中你应该立即更改的4个重要设置,设置调整将帮助您提升性能,让你的浏览更高效。1、打开浏览器,在地址栏输入“chrome://flags"确定,在搜索标志中输…

【Git】一篇文章带你入门Git

1. 初识 Git 1.1 Git 是什么? Git 是一个开源的分布式版本控制系统,用于高效地跟踪和管理项目代码的变更历史(不仅仅是代码,还有其它格式也是可以的~) 1.2 为什么要有 Git 在学习或者是工作的时候,比如…

8 基于机器学习进行遥感影像的地物分类-以随机森林为例

目录 1 读取数据 2 数据预处理 3 模型训练 4 精度分析 5 模型预测 1 读取数据 1.右键数据所在文件夹,用pycharm打开为项目 2.在settings中设置python环境为先前配置的带GDAL和sklearn的环境 3.新建一个文件夹命名为code来存放代码,在code文件夹中新建一个rfc.py

极简版 Nginx 反向代理实验步骤

以下是最核心的反向代理实现步骤,专注于 “客户端→Nginx 代理→后端服务” 的基础转发功能:一、准备 2 台服务器角色IP 示例需安装软件代理服务器192.168.1.10Nginx后端服务器192.168.1.11Nginx/Apache二、后端服务器配置(192.168.1.11&…

Windsurf 插件正式登陆 JetBrains IDE:让 AI 直接在你的 IDE 里“打工”

那天你说,我们可以永远在一起——成了我听到的最高兴的,而后知后觉的谎言。 而今天,AI 说:“我可以帮你写完这段代码。” —— 这才是真正的“永远在一起”。 最近,AI 编程工具赛道迎来一场“潜行式革命”:Windsurf Wave 7 正式发布 JetBrains IDE 插件版本,彻底打破“A…