【自学笔记】ELK基础知识点总览-持续更新

发布于:2025-03-28 ⋅ 阅读:(31) ⋅ 点赞:(0)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


ELK基础知识点总览

1. ELK简介

  • Elasticsearch:一个基于Lucene的搜索引擎,支持全文搜索、结构化搜索和分析。它通常用于日志和数据的实时分析。
  • Logstash:一个开源的服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到你指定的目的地(如Elasticsearch)。
  • Kibana:一个Web应用程序,用于搜索、查看和与存储在Elasticsearch索引中的数据交互。它提供了一个易于使用的界面来可视化日志和数据。

2. Elasticsearch基础

  • 节点(Node):Elasticsearch集群中的一个实例。
  • 集群(Cluster):由多个节点组成,共同协作提供搜索和数据存储功能。
  • 索引(Index):Elasticsearch存储数据的地方,类似于关系数据库中的数据库。
  • 文档(Document):索引中的一条数据,是JSON格式的。
  • 类型(Type)(在Elasticsearch 7.x及以后版本中已被弃用):索引中文档的逻辑分组,但在新版本中不再使用,每个索引下只有一个默认类型_doc

Elasticsearch配置示例(elasticsearch.yml

cluster.name: my-application
node.name: node-1
network.host: 0.0.0.0
http.port: 9200
discovery.seed_hosts: ["127.0.0.1"]
cluster.initial_master_nodes: ["node-1"]

3. Logstash基础

  • 输入(Inputs):Logstash从何处获取数据,如文件、网络、数据库等。
  • 过滤器(Filters):Logstash如何处理和转换数据。
  • 输出(Outputs):Logstash将数据发送到何处,如Elasticsearch、文件、数据库等。

Logstash配置示例(logstash.conf

input {
  file {
    path => "/path/to/your/logfile.log"
    start_position => "beginning"
  }
}

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

output {
  elasticsearch {
    hosts => ["http://localhost:9200"]
    index => "logstash-%{+YYYY.MM.dd}"
  }
  stdout { codec => rubydebug }
}

4. Kibana基础

  • 仪表盘(Dashboard):用于展示多个可视化面板的集合。
  • 可视化(Visualization):基于Elasticsearch索引中的数据创建的可视化图表。
  • 搜索与发现(Discover):用于实时搜索和浏览Elasticsearch中的数据。

Kibana中创建可视化示例

  1. 打开Kibana并导航到“Visualize”页面。
  2. 点击“Create new visualization”。
  3. 选择一个可视化类型,如“Bar chart”。
  4. 选择一个Elasticsearch索引作为数据源。
  5. 配置查询和聚合以获取所需的数据。
  6. 配置图表的样式和标签。
  7. 保存并添加到仪表盘(可选)。

5. 其他重要概念

  • 分片(Shard):Elasticsearch将数据分割成多个分片,每个分片都是一个可以独立操作的Lucene索引。
  • 副本(Replica):分片的复制,用于提高数据的可用性和容错性。
  • 索引模板(Index Templates):用于定义新索引的默认设置和映射。
  • 管道(Pipeline):Logstash中用于定义数据转换和处理的逻辑。

总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,自学记录ELK基础知识点总览。