filebeat + logstash 发送日志至kafka 入门
filebeat
官方文檔
配置文件 filebeat.yml
filebeat.inputs:# Each - is an input. Most options can be set at the input level, so # you can use different inputs for various configurations. # Below are the input specific configurations.- type: log# Change to true to enable this input configuration.enabled: true# Paths that should be crawled and fetched. Glob based paths.paths:- /var/log/testlog/*.log# 由于是入門,其他配置暫且忽略 ,將讀取到的日志信息,輸出給logstash output.logstash:# The Logstash hostshosts: ["192.168.153.129:5044"]啟動(dòng)filebeat
./filebeat -e -c filebeat.yml -d 'publish'如果遇到下面的情況導(dǎo)致沒(méi)法讀取傳輸數(shù)據(jù)
INFO最近30秒鐘內(nèi)沒(méi)有非零指標(biāo)
我們可以刪除注冊(cè)表文件registry,注冊(cè)表文件存儲(chǔ)了Filebeat用來(lái)跟蹤其最后讀取位置的狀態(tài)和位置信息
刪除(備份)后,重啟filebeat即可。
下邊是正常工作
logstash
官網(wǎng)
第三方配置詳解
常用的logstash正則表達(dá)式規(guī)則
logstash 可以對(duì)filebeat 發(fā)來(lái)的數(shù)據(jù)進(jìn)行格式化或過(guò)濾,還可以發(fā)送給其他服務(wù)。
首先我們需要?jiǎng)?chuàng)建一個(gè)配置(在logstash 根目錄)
vim kafka-config.conf由于我們這個(gè)案例輸出給的是kafka,所以我們需要基本配置一下
input {# 這是filebeat 發(fā)送數(shù)據(jù)接收的端口beats {port => "5044"}}output {# kafka的配置kafka {codec => jsontopic_id => "test-logstash"# kafka 所在的主機(jī)及端口bootstrap_servers => "192.168.201.209:9092"batch_size => 1} }啟動(dòng)logstash
bin/logstash -f kafka-config.confkafka
創(chuàng)建測(cè)試 topic (最好在filebeat 和 logstash 啟動(dòng)前創(chuàng)建好,并啟動(dòng)kafka)
# 測(cè)試的kafka我是放在windows上的 kafka-topics.bat --create --bootstrap-server localhost:9092 --topic test-logstash啟動(dòng) kafka Tools ,查看數(shù)據(jù)
總結(jié)
以上是生活随笔為你收集整理的filebeat + logstash 发送日志至kafka 入门的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Python安装FrankMocap实现
- 下一篇: 关于make_work_guard猜想