iT邦幫忙

0

關於「log4j2」無法傳送 Log 至 Kafka存取問題 (問題已解決)

感覺自己快每週一問了,哈哈,還好每個問題大部分都有解決/images/emoticon/emoticon16.gif

架構是這樣的

172.16.16.1 SmartFoxServer + log4j2 + Kafka
172.16.16.2 ELK

目前環境皆已安裝完成,手發Log測試

確實能從 .1(Kafka)將log資料送到.2(ELK)

問:照官方配置 log4j2.xml 一直無法將log資料發送到自己的 .1(kafka),想詢問是否有測試的方式,可以進行測試,不曉得版上大大,有沒有遇過這個問題

<Appenders>
    <Kafka name="Kafka" topic="hello">
      <PatternLayout pattern="%date %message"/>
        <Property name="bootstrap.servers">127.0.0.1:9092</Property>
    </Kafka>
  </Appenders>

    <Loggers>
    <Root level="DEBUG">
      <AppenderRef ref="Kafka"/>
    </Root>
    <Logger name="org.apache.kafka" level="INFO" /> <!-- avoid recursive logging -->
  </Loggers>

查看kafka取的資料訊息指令

bin/kafka-console-consumer.sh --bootstrap-server 127.0.0.1:9092 --topic hello --from-beginning

參考資料

https://blog.csdn.net/xianjie0318/article/details/77882144

不曉得,就單台機器有這問題,別台都沒問題,所以不管它了,哈

1 個回答

0
Darwin Watterson
iT邦研究生 2 級 ‧ 2019-12-30 11:12:10

感覺 ELK 收的到 log 而 卡夫卡 卻收不到 log
徵結點會不會是兩邊設定的 debug level 不一致啊?
/images/emoticon/emoticon19.gif
日誌level:fatal > error > warn > info > debug > trace
先把兩邊的 level 都調成一樣試試看吧!

ps. 我還沒玩過log4j2,只是提供以前log4j的配置經驗,詳細的解法可能等我用過後才能回覆!
/images/emoticon/emoticon25.gif

感謝您願意一同討論,

我這邊是透過logstash 手發資料給 Kafka,也確實Kafka有收到資料

然後才透過logstash去 自動抓取kafka的資料後,自己轉發給 ELK


最主要是要把手發的動作,換成 用log4j2去自動發送這樣而已

只是log4j2這邊,

1來是SmartFoxServer確實有log產生,但沒有發送資料給kafka
2來是想問問有沒有一個,測試的方式去測試,因為我確實連除錯log都不清楚去哪裡查看

我剛剛把level 調整成 ALL或TRACE 了,都試過了,無效T.T

看來徵結點應該在「聰明狐貍伺服器」!沒用過!/images/emoticon/emoticon25.gif
不過搜尋一下官網有找到類似的提問如下:
聰明狐貍伺服器討論串
看外國人的回覆應該是該伺服器本來是內建log4j造成的!
https://ithelp.ithome.com.tw/upload/images/20191230/20109107cdxl4Z3li1.jpg
類似像jenkins、ELK、spark⋯ 這類 java開發的應用,也許都還沒更新到log4j2的版本!
可試著先改回log4j!
ps. 如果對java開發不熟,不建議像外國提問人一樣自行替換jar檔,替換後你如果沒有實際除錯的經驗,搞不好連「聰明狐貍」都無法啟動/images/emoticon/emoticon15.gif

感謝你,協助我解決,目前我也還在找解決方案

未來如果有解決,在同步相關進度上來/images/emoticon/emoticon41.gif

我要發表回答

立即登入回答