【elasticSearch系】3.完整搭建详尽版elk

本文详细介绍了如何搭建ELK(Elasticsearch、Logstash、Kibana)堆栈,包括各组件的安装配置,通过Logstash从MySQL数据库实时同步数据到Elasticsearch,以及使用Filebeat收集日志,最后展示了如何在Kibana中进行日志分析和可视化。通过实例操作,读者将掌握ELK集成应用的基本流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

话不多说,我们先看下经典的elk 是由哪些组件搭建组合起来的

 elasticSearch和kibana搭建

可以查看之前我搭建elasticsearch和kibana 的这篇文章

logstash搭建

为了和之前我搭建elasticsearch和kibana版本保持一致,这里我们还是选择7.17.3

下载地址

 点击下载,这里为了方便学习我们还是下载的windows的版本

解压后,我们启动logstash.bat发现一直卡着不动,需要我们配置LS_JAVA_HOME

 我们排查下对应的启动脚本

 找到setup.bat脚本需要我们配置LS_JAVA_HOME的环境变量

 配置完成环境变量后,

 我们进入解压后的logstash文件夹,使用下面命令来启动测试下

.\logstash.bat -e "input { stdin { } } output { stdout {} }"

 输入hello logstash 测试下

到这里,说明我们的logstash已经可以正常启动了

我们看下logstash官方文档上面是怎么配置的

Structure of a config file | Logstash Reference [7.17] | Elastic

看下官网的一个示例

input { stdin { } }

filter {
  grok {
    match => { "message" => "%{COMBINEDAPACHELOG}" }
  }
  date {
    match => [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ]
  }
}

output {
  elasticsearch { hosts => ["localhost:9200"] }
  stdout { codec => rubydebug }
}

logstash的工作原理

Logstash 事件处理管道分为三个阶段:输入→过滤器→输出。输入生成事件,过滤器修改它们,输出将它们发送到其他地方。输入和输出支持编解码器,使您能够在数据进入或退出管道时对数据进行编码或解码,而无需使用单独的过滤器。

How Logstash Works | Logstash Reference [7.17] | Elastic

官网这篇里面介绍了基本的工作原理

一个简单的mysql数据库数据同步es案例

初始化mysql数据

CREATE TABLE `user` (
  `id` int NOT NULL AUTO_INCREMENT,
  `name` varchar(50) DEFAULT NULL,
  `address` varchar(50) DEFAULT NULL,
  `last_updated` bigint DEFAULT NULL,
  `is_deleted` int DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 ;

INSERT INTO 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值