一、安裝
1、前置條件
在安裝logstash之前,需要先安裝Java,因為logstash是基於Java開發的,對於Java的版本要求比較寬鬆,建議使用Java 8。
sudo apt-get update sudo apt-get install openjdk-8-jdk
2、安裝logstash
Logstash的安裝使用apt-get即可。步驟如下:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add - sudo apt-get install apt-transport-https echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list sudo apt-get update sudo apt-get install logstash
二、配置
1、Logstash配置文件結構
Logstash的配置文件採用YAML格式,一個配置文件通常包含三個部分:
– 輸入input:指定數據來源
– 過濾filter:對來源數據進行處理
– 輸出output:最終數據輸出
在配置文件中用“{}”表示一項配置,例如:
input { stdin {} }
上述代碼表示從標準輸入讀取數據。
2、輸入設置
logstash的輸入支持多種方式,包括:
– file:從文件中讀取數據,可以是原始文件或者是經過壓縮文件
– stdin:從標準輸入讀取數據
– syslog:從syslog服務器讀取數據
– http:從HTTP接口讀取數據
以讀取文件為例,設置方法如下:
input { file { path => "/var/log/syslog" # 讀取文件路徑 start_position => "beginning" # 從文件頭部開始讀取數據 } }
3、過濾設置
Logstash的過濾插件可以處理輸入數據,並將其轉化為可供輸出使用的格式。常見過濾插件包括:
– grok:根據正則表達式將輸入數據解析為結構化數據
– metrics:收集各種指標並輸出
– dns:解析域名
以發現syslog輸入中錯誤信息為例,設置方法如下:
filter { if [type] == "syslog" { grok { match => { "message" => "%{SYSLOG5424SD} %{GREEDYDATA:message}" } } if "error" in [message] { # 從日誌中發現錯誤信息 mutate { add_tag => ["syslog_error"] } } } }
4、輸出設置
Logstash的輸出插件可以將處理後的數據輸出到不同的目的地,常見插件包括:
– stdout:輸出至標準輸出
– file:將數據寫入本地文件系統
– kafka:將數據寫入kafka消息隊列
– redis:將數據寫入redis key-value數據庫
以輸出到Elasticsearch索引為例,設置方法如下:
output { elasticsearch { hosts => ["localhost:9200"] # Elasticsearch服務器地址 index => "syslog-%{+YYYY.MM.dd}" # 索引格式 } }
三、運行logstash
完成了配置文件的編寫,可以啟動logstash進行處理,執行如下命令:
sudo /etc/init.d/logstash start # 啟動 sudo /etc/init.d/logstash stop # 停止 sudo /etc/init.d/logstash status # 查看狀態
原創文章,作者:IMBEG,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/368982.html