提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
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中创建可视化示例
- 打开Kibana并导航到“Visualize”页面。
- 点击“Create new visualization”。
- 选择一个可视化类型,如“Bar chart”。
- 选择一个Elasticsearch索引作为数据源。
- 配置查询和聚合以获取所需的数据。
- 配置图表的样式和标签。
- 保存并添加到仪表盘(可选)。
5. 其他重要概念
- 分片(Shard):Elasticsearch将数据分割成多个分片,每个分片都是一个可以独立操作的Lucene索引。
- 副本(Replica):分片的复制,用于提高数据的可用性和容错性。
- 索引模板(Index Templates):用于定义新索引的默认设置和映射。
- 管道(Pipeline):Logstash中用于定义数据转换和处理的逻辑。
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,自学记录ELK基础知识点总览。