Logstash 簡介



Logstash 是一個基於過濾器/管道模式的工具,用於收集、處理和生成日誌或事件。它有助於集中和即時分析來自不同來源的日誌和事件。

Logstash 使用 JRuby 程式語言編寫,執行在 JVM 上,因此您可以在不同的平臺上執行 Logstash。它收集各種型別的資料,例如日誌、資料包、事件、事務、時間戳資料等,幾乎來自所有型別的來源。資料來源可以是社交資料、電子商務、新聞文章、CRM、遊戲資料、網路趨勢、金融資料、物聯網、移動裝置等。

Logstash 一般特性

Logstash 的一般特性如下:

  • Logstash 可以從不同的來源收集資料併發送到多個目的地。

  • Logstash 可以處理所有型別的日誌資料,例如 Apache 日誌、Windows 事件日誌、網路協議資料、標準輸入資料等等。

  • Logstash 還可以處理 http 請求和響應資料。

  • Logstash 提供各種過濾器,幫助使用者透過解析和轉換資料來發現更多有意義的資訊。

  • Logstash 還可以用於處理物聯網中的感測器資料。

  • Logstash 是開源的,並根據 Apache 許可證 2.0 版本提供。

Logstash 關鍵概念

Logstash 的關鍵概念如下:

事件物件

它是 Logstash 中的主要物件,封裝了 Logstash 管道中的資料流。Logstash 使用此物件儲存輸入資料並在過濾階段新增建立的額外欄位。

Logstash 為開發者提供了一個事件 API 來操作事件。在本教程中,此事件被稱為各種名稱,例如日誌資料事件、日誌事件、日誌資料、輸入日誌資料、輸出日誌資料等。

管道

它包含 Logstash 中從輸入到輸出的資料流階段。輸入資料進入管道,並以事件的形式進行處理。然後以使用者或最終系統所需的形式傳送到輸出目標。

輸入

這是 Logstash 管道的第一個階段,用於獲取 Logstash 中的資料以進行進一步處理。Logstash 提供各種外掛來從不同的平臺獲取資料。一些最常用的外掛是 - 檔案、Syslog、Redis 和 Beats。

過濾器

這是 Logstash 的中間階段,事件的實際處理在這裡發生。開發者可以使用 Logstash 預定義的正則表示式模式來建立序列,以區分事件中的欄位和可接受的輸入事件的標準。

Logstash 提供各種外掛來幫助開發者將事件解析和轉換到所需的結構。一些最常用的過濾器外掛是 - Grok、Mutate、Drop、Clone 和 Geoip。

輸出

這是 Logstash 管道的最後一個階段,輸出事件可以格式化為目標系統所需的結構。最後,它使用外掛將完成處理後的輸出事件傳送到目標。

Logstash 優勢

以下幾點說明了 Logstash 的各種優勢。

  • Logstash 提供正則表示式模式序列來識別和解析任何輸入事件中的各種欄位。

  • Logstash 支援各種 Web 伺服器和資料來源來提取日誌資料。

  • Logstash 提供多個外掛來將日誌資料解析和轉換到任何使用者所需的格式。

  • Logstash 是集中的,這使得它易於從不同的伺服器處理和收集資料。

  • Logstash 支援許多資料庫、網路協議和其他服務作為日誌事件的目標源。

  • Logstash 使用 HTTP 協議,使使用者能夠升級 Elasticsearch 版本而無需同步升級 Logstash。

Logstash 缺點

以下幾點說明了 Logstash 的各種缺點。

  • Logstash 使用 http,這會對日誌資料的處理產生負面影響。

  • 使用 Logstash 有時會有點複雜,因為它需要對輸入日誌資料有很好的理解和分析。

  • 過濾器外掛不是通用的,因此使用者可能需要找到正確的模式序列以避免解析錯誤。

在下一章中,我們將瞭解 ELK 堆疊是什麼以及它如何幫助 Logstash。

廣告
© . All rights reserved.