一、logstash的概述
Logstash 是一個開源的數據處理管道,可以輕鬆地將來自各種來源的數據進行過濾、解析、轉換和發送到指定的位置。它主要由三個部分組成:input、filter和output。input用於從不同來源讀取數據,如文件,網絡,數據庫等。filter用於轉換、處理和過濾數據。output用於將處理後的數據發送到目標位置,比如Elasticsearch,Logstash和Kibana等。
啟動 Logstash, 可以使用多種方法,包括命令行,Docker和systemd服務。接下來我們會詳細介紹三種啟動 Logstash 的方法,分別是:
二、使用命令行啟動 Logstash
在命令行下啟動 Logstash 可以使用以下命令:
bin/logstash -f config-file.conf
其中 “bin” 是 Logstash 安裝目錄下的 bin 目錄; “config-file.conf” 是 Logstash 配置文件路徑。
啟動命令後,Logstash 會開始讀取配置文件當中的 input 插件,讀取數據,經過 filter 的處理後發送到指定的 output 插件。
下面是一個簡單的示例config文件:
input { stdin {} } output { stdout {} }
以上配置表示從標準輸入(stdin)讀取數據,然後直接把數據輸出到標準輸出(stdout)。我們可以通過以下命令啟動 Logstash:
bin/logstash -f path/to/config_file.conf
三、使用 Docker 啟動 Logstash
Docker是目前最流行的容器技術,可以實現快速開發和部署應用程序。以Logstash為例,我們可以通過構建docker鏡像來啟動Logstash。
首先創建一個 Dockerfile , 文件內容如下:
FROM docker.elastic.co/logstash/logstash:7.0.0 COPY config-dir/ /usr/share/logstash/pipeline/ CMD ["logstash", "-f", "/usr/share/logstash/pipeline/"]
以上 Dockerfile 採用了官方的 Logstash 7.0.0 鏡像作為基礎鏡像, 然後將本地的配置文件拷貝到容器內部的 /usr/share/logstash/pipeline/ 目錄中。 最後使用 CMD 指令運行 Logstash。
同時,為了更好的管理容器和鏡像,我們可以採用 docker-compose。我們只需要創建一個 docker-compose.yml 文件,並在文件里配置相關的參數就可以一鍵啟動或停止 Logstash。示例文件內容如下:
version: '2' services: logstash: image: logstash volumes: - ./config-dir:/usr/share/logstash/pipeline/ command: logstash -f /usr/share/logstash/pipeline/
四、使用 systemd 啟動 Logstash
systemd 是目前最流行的進程管理工具。通過 systemd,我們可以更好的管理Logstash進程。我們需要創建一個 systemd 啟動配置文件,放置到 /etc/systemd/system 目錄下。文件內容如下:
[Unit] Description=logstash [Service] Environment=PATH=/usr/share/logstash/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin Type=simple ExecStart=/usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/ [Install] WantedBy=multi-user.target
以上配置文件指定了 Logstash 的啟動路徑和配置文件路徑。 完成配置後,重啟 systemd 服務即可生效。
五、總結
在本篇文章中,我們介紹了 Logstash 的概述和啟動方式。通過命令行、docker-compose和systemd等方式可以輕鬆啟動 Logstash。
原創文章,作者:YHSBO,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/334506.html