提示:Windows 環境下 安裝部署 logstash 采集日志文件
文章目錄
- 一、下載
- 二、解壓部署
- 三、常用插件
- 四、常用配置
Logstash 服務器數據處理管道,能夠從多個來源采集數據,轉換數據,然后將數據發送到您最喜歡的存儲庫中。Logstash 沒有 fileBeats 輕量,但是過濾功能更多。
一、下載
- 官網下載安裝 windows 壓縮包:https://www.elastic.co/cn/downloads/logstash
二、解壓部署
- 解壓文件,在 logstash 目錄下新建 logstash.conf 配置文件;
- 編寫配置文件如下:
logstash.conf 包含3個主要部分: 輸入(inputs),過濾器(filters) 和輸出(outputs)
下面配置是將日志從 file 同步到 file 中
input {file {path => ["D:/project/elk/logstash/input/*.log"] # 替換為自己的日志文件路徑,單個文件可以省略[]start_position => "beginning" # 從文件開頭開始讀取 如果你只想讀取新增的日志內容,可以將其改為 start_position => “end”,默認是結束位置sincedb_path => "NUL" # 禁用 sincedb,避免重復讀取,避免 Logstash 記錄文件讀取位置。如果你希望 Logstash 記住讀取位置,可以將其設置為一個有效的文件路徑type => "systemlog" # 標記事件類型。提前預定的各個事件對應類型。stat_interval => 3 # 每隔多久檢查一次被監聽文件狀態(是否有更新),默認是 1 秒} }filter {}output {file {path => "D:/project/elk/logstash/output/output.log"flush_interval => 0 # 指定刷新間隔,0 代表實時寫入codec => line {format => "%{message}"}} }
- 運行,在bin目錄下,執行命令:.\logstash -f logstash.conf;
三、常用插件
-
input
file:從文件中讀取
stdin:從標準輸入讀取
beats:從filebeat或其他beats的數據
kafka:從 Kafka 主題中消費數據
jdbc:從數據庫中讀取數據
syslog:接受syslog數據
http:通過 HTTP 接受數據 -
filter
grok:解析非結構化日志數據
mutate:修改字段數據,如重命名、刪除或添加替換字段
date:解析和轉換日期字段
json:解析 Json 格式數據
geoip:根據 IP 地址添加地理位置信息
drop:丟棄不符合條件的事件
clone:復制事件 -
output
elasticsearch:將數據輸出到Elasticsearch
stdout:將數據輸出到標準輸出,便于測試
kafka:數據發送到 Kafka
file:數據寫入文件
jdbc:將數據寫入數據庫
四、常用配置
- input
path(file 插件):指定文件路徑,多個路徑用[]包括
start_position(file 插件):從文件的開頭(beginning)或結尾(end)開始讀取,默認end
bootstrap_servers(kafka 插件):Kafka 服務器地址
topics(kafka 插件):Kafka 主題名稱 - filter
match(grok 插件):定義日志解析規則
source(json 插件):指定 JSON 字段
rename(mutate 插件):重命名字段
remove_field(mutate 插件):刪除字段 - output
hosts(elasticsearch 插件):Elasticsearch 地址
index(elasticsearch 插件):索引名稱
path(file 插件):輸出文件路徑