提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔
文章目錄
- ELK基礎知識點總覽
- 1. ELK簡介
- 2. Elasticsearch基礎
- Elasticsearch配置示例(`elasticsearch.yml`)
- 3. Logstash基礎
- Logstash配置示例(`logstash.conf`)
- 4. Kibana基礎
- Kibana中創建可視化示例
- 5. 其他重要概念
- 總結
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基礎知識點總覽。