3
我使用rsyslog來監視我的系統日誌並將它們發送到Logstash + Kibana。從rsyslog發送JSON到Kibana
我的系統日誌消息被記錄爲JSON。他們可以是這個樣子:
{"foo":"bar", "timegenerated": 43843274834}
rsyslog現在配置這樣:
module(load="omelasticsearch")
#define a template to print all fields of the message
template(name="messageToES" type="list" option.json="on") {
property(name="msg")
}
*.* action(type="omelasticsearch"
server="localserverhere"
serverport="80"
template="messageToES")
的Kibana是好的,因爲如果我運行一個curl命令它,它接收記錄。如下面的代碼:
curl -XPOST myserver/test/bar -d '{"test": "baz", "timegenerated":1447145221519}'
當我運行rsyslogs並將其指向一個虛擬服務器上,我可以看到與有效的JSON傳入的請求。但是,當我將它指向我的logstash服務器時,它不會顯示在logstash或kibana中。
有誰知道如何發送syslogs作爲JSON到Kibana/logstash?
你不會「發送」任何東西給kibana,而是把它發送給elasticsearch,讓kibana爲你查詢。 –
檢查你的logstash和elasticsearch日誌。添加stdout {}輸出節到logstash以查看它的想法。打開logstash中的調試(命令行標誌)。 –