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

安装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://zC6Q10fh.jhfkr.cn
http://Bto3sAQx.jhfkr.cn
http://cLgb7kLE.jhfkr.cn
http://LsR29qBz.jhfkr.cn
http://et4Aty8a.jhfkr.cn
http://VstTOB3v.jhfkr.cn
http://Zd1HYMNW.jhfkr.cn
http://Kh7b1LOc.jhfkr.cn
http://ohYjDzSI.jhfkr.cn
http://5yoy5dBN.jhfkr.cn
http://wpvszLxV.jhfkr.cn
http://m5GUfPtK.jhfkr.cn
http://K9lArxFt.jhfkr.cn
http://l5naE2Eg.jhfkr.cn
http://BlTmPwoz.jhfkr.cn
http://j7CmZWPR.jhfkr.cn
http://fXF6N9Hz.jhfkr.cn
http://8OF3GLwp.jhfkr.cn
http://ebqRgquk.jhfkr.cn
http://NtIWW8vU.jhfkr.cn
http://iMMILjxS.jhfkr.cn
http://Uo79Z2Bg.jhfkr.cn
http://GmDjWk1o.jhfkr.cn
http://gx1o9HTp.jhfkr.cn
http://NLwNGTat.jhfkr.cn
http://2PkSsn39.jhfkr.cn
http://o9osFQTN.jhfkr.cn
http://Do5nG3Lk.jhfkr.cn
http://hw5Af3sm.jhfkr.cn
http://tYncHHKv.jhfkr.cn
http://www.dtcms.com/a/388081.html

相关文章:

  • Leetcode-148.排序链表
  • 基于ETF底仓的网格交易系统实现动态参数优化与动量因子融合
  • C++底层刨析章节三: 函数对象与适配器:STL中的智能操作单元
  • MySQL多表联合查询与数据备份恢复全解析
  • 说说对React的理解?有哪些特性?
  • 深入理解 C 语言指针(二):数组与指针的深度绑定
  • 算法能力提升之树形结构-(线段树)
  • 小白实测:异地访问NAS所用的虚拟局域网使用感受及部署难度?!
  • js校验车架号VIN算法
  • MongoDB 8.0全面解析:性能提升、备份恢复与迁移指南
  • vue3如何配置不同的地址访问不同的项目
  • 苹果软件代码混淆,iOS混淆、iOS加固、ipa安全与合规取证注意事项(实战指南)
  • SQL-约束
  • [torch] 非线性拟合问题的训练
  • ubuntu设置ip流程
  • 【论文阅读】谷歌:生成式数据优化,只需请求更好的数据
  • 【深度学习】什么是过拟合,什么是欠拟合?遇到的时候该如何解决该问题?
  • CSA AICM 国际标准:安全、负责任地开发、部署、管理和使用AI技术
  • AI 赋能教育:个性化学习路径设计、教师角色转型与教育公平新机遇
  • 科技为老,服务至心——七彩喜智慧养老的温情答卷
  • ​​[硬件电路-237]:电阻、电容、电感虽均能阻碍电流流动,但它们在阻碍机制、能量转换、相位特性及频率响应方面存在显著差异
  • 内网Windows系统离线安装Git详细步骤
  • @Component 与 @Bean 核心区别
  • Rsync 详解:从入门到实战,掌握 Linux 数据同步与备份的核心工具
  • ffmpeg解复用aac
  • 数据结构--3:LinkedList与链表
  • linx 系统 ffmpeg 推流 rtsp
  • 防水淹厂房监测报警系统的设计原则及主要构成
  • RFID技术赋能工业教学设备教学应用经典!
  • Java工程依赖关系提取与可视化操作指南(命令行篇)