Elasticsearch、Logstash、Kibana、Filebeat的使用总结

ELK是什么
ELK Stack是软件集合Elasticsearch、Logstash、Kibana的简称,由这三个软件及其相关的组件可以打造大规模日志实时处理系统。

ElasticSearch:是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

Logstash:是一款强大的数据处理工具,它可以实现数据传输,格式处理,格式化输出,还有强大的插件功能,常用于日志处理。

Kibana:是一个可视化工具,主要负责查询 Elasticsearch 的数据并以可视化的方式展现给业务方,比如各类饼图、直方图、区域图等。

关于Elasticsearch的版本,我是从5.x版本开始学起的,听说之前的版本跳跃2.x--->5.x,貌似变化还挺大的。关于head插件在5.x之后变成独立服务了。

关于ES集群的安装配置以及head插件的安装参考http://blog.youkuaiyun.com/chenxun_2010/article/details/78437852

logstash最佳实践https://doc.yonyoucloud.com/doc/logstash-best-practice-cn/get_start/hello_world.html

Logstash使用:
https://www.elastic.co/guide/en/logstash/current/pipeline.html

Logstash 工作的三个阶段: input、filter、output


安装logstash: 其安装非常简单,只需要下载安装包解压开箱即用。 只要写配置文件即可。
启动方式:

./bin/logstash   -f    your_config.file

配置文件的写法格式:参考http://blog.youkuaiyun.com/chenxun_2010/article/details/78605934

input {
    file {

        path => ["/home/elk_test/logstash-5.6.3/logfile"]
        codec => json {
            
### Elasticsearch 源码结构与实现细节 #### 一、检索过程解析 Elasticsearch 的检索机制复杂而高效,其核心在于如何快速定位并返回查询结果。当发起一次搜索请求时,系统会经历多个阶段以确保数据被精准获取[^1]。 ```java // 示例:部分简化后的SearchService类中的方法片段用于展示检索流程的一部分逻辑 public class SearchService { public void execute(SearchRequest request) throws Exception { // 对输入参数做初步验证... // 构建具体的执行计划... // 执行实际的数据读取操作... // 处理分页、排序等需求... // 返回最终的结果集给客户端。 } } ``` #### 二、索引创建处理 对于通过 REST API 创建新索引的操作,在接收到外部指令后,`prepareRequest()` 函数负责预处理传入的各项配置选项,并对其进行合法性检查。这一步骤至关重要,因为它决定了后续能否顺利建立有效的索引结构以及映射关系[^2]。 ```java protected static final String INDEX_NAME_KEY = "index"; protected static final String SETTINGS_PREFIX = "_settings"; private IndexMetadata prepareRequest(CreateIndexRequest createIndexRequest) { Map<String, Object> settingsAsMap; try (XContentParser parser = XContentType.JSON.xContent().createParser(NamedXContentRegistry.EMPTY, LoggingDeprecationHandler.INSTANCE, createIndexRequest.settings())) { settingsAsMap = parser.mapOrdered(); } catch (IOException e) { throw new IllegalArgumentException("Failed to parse index setting", e); } Settings.Builder builder = Settings.builder(); if (settingsAsMap.containsKey(SETTINGS_PREFIX)) { @SuppressWarnings("unchecked") Map<String, Object> settingsSection = (Map<String, Object>) settingsAsMap.get(SETTINGS_PREFIX); for (String key : settingsSection.keySet()) { builder.put(key, settingsSection.get(key)); } } return new IndexMetadata(createIndexRequest.index(), builder.build()); } ``` #### 三、机器学习模块集成 除了基本的存储和查询功能外,Elasticsearch 还提供了强大的数据分析能力——特别是针对时间序列预测等方面的应用场景。为了支持这类高级特性,官方团队特别设计了一套完整的插件体系,允许用户轻松启用或禁用特定算法的支持;同时也在底层实现了高效的资源调度策略来保障大规模集群环境下的性能表现[^3]。 ```json { "persistent": {}, "transient": { "xpack.ml.enabled": true } } ```
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值