iT邦幫忙

1

關於ELK的logstash執行方式 (感謝 raytracy 協助解決)

小弟參考了《[料理佳餚] 在 CentOS 7 與 ELK(Elasticsearch + Logstash + Kibana)初次相遇 | 軟體主廚的程式料理廚房 - 點部落
https://ithelp.ithome.com.tw/upload/images/20190624/20114520XJkdBX8NiP.png

這邊先講我的ELK完成方式:
172.16.16.111 : nginx、logstash
172.16.16.112 : Elasticsearch、Kibana

先是透過在/opt/logstash/bin/底下寫腳本,透過input在.111這台本機擷取nginx-access.log
https://ithelp.ithome.com.tw/upload/images/20190624/20114520oMM3LRcXDh.png

再透過output,將log資料傳送到.112的Elasticsearch中
https://ithelp.ithome.com.tw/upload/images/20190624/20114520IFEWTOqYMA.png

然後執行/opt/logstash/bin/./logstash -f stdin_to_elasticsearch.conf
變能將資料傳輸出去了


但是,這並不是小弟想要完成的方式,因為之前學長留下來的資料是,

透過在nginx.conf中撰寫的方式,將Log傳送到.112機器中,也因此 .112便安裝了Elasticsearch、Kibana、logstash這三個套件,而.111僅僅只安裝了nginx
https://ithelp.ithome.com.tw/upload/images/20190624/201145202d3O4p65nO.png

然後在.112中的/etc/logstash/conf.d的路徑底下寫腳本,透過input取得.111的log資料
然後一樣透過output,將log資料傳送到.112的Elasticsearch中
https://ithelp.ithome.com.tw/upload/images/20190624/20114520JxoNir6EQY.png
https://ithelp.ithome.com.tw/upload/images/20190624/20114520xQGvy5RhN6.png


問題來了,學長的方式,我完全不曉得是怎麼做到的,我只能把表面僅有看到的訊息整理起來而已。

有查看過學長的.111/.112都沒有logstash進程,Google大多都指向利用「filebeat」去收集Log資料在傳到logstash,但也沒有看到學長的機器有安裝filebeat相關套件

有對ELK熟悉的前輩,能指引小弟一些方向嗎?感恩/images/emoticon/emoticon41.gif

1 個回答

1
raytracy
iT邦大神 1 級 ‧ 2019-06-24 11:23:36
最佳解答

你查查看 Nginx 設定裡面, 是否將 accesss log 丟給 syslog 去存檔? 若是的話, syslog 可以將 log 從 111 送到 112 去, 112 上面只要安裝 syslog server 就可以接收遠端的 log...

ps. 他有可能是: syslog, syslog-ng, rsyslog 這三者之一

看更多先前的回應...收起先前的回應...

根據您的提示,我已經有發現學長機器是走rsyslog的方式
有找到
udp 0 0 172.16.16.112:10514 0.0.0.0:*

目前正在參考這份資料:https://blog.csdn.net/chengyuqiang/article/details/80093892

https://its-security.blogspot.com/2018/03/centos7-install-logstash.html

正在嘗試如何解決

raytracy
嗯,不曉得如何啟動 /etc/logstash/conf.d 底下的 config

順利啟動了,進程也有了,只是資料還是沒吃到@@

2019/6/25 11:02 卡關ing /images/emoticon/emoticon06.gif

關閉防火牆,直接解決

我要發表回答

立即登入回答