Я новичок в стеке ELK, поэтому, пожалуйста, простите основные вопросы. То, что я хотел бы достичь, - сделать поле «сообщение» объектом json, чтобы я мог его фильтровать в кибане. В настоящее время сообщение выглядит следующим образом:Как обрабатывать json в logstash
{
"_index": "logstash-2017.01.16",
"_type": "logs",
"_id": "AVmpCcSiEWIcXZql",
"_score": null,
"_source": {
"@timestamp": "2017-01-16T20:48:26.688Z",
"port": 50018,
"@version": "1",
"host": "xxx.xx.x.xx",
"message": "{\"@timestamp\":\"2017-01-16T20:48:26.642Z\",\"message\":\"\",\"tags\":[\"routing\"],\"source\":\"81caea3a2960/node /usr/src/app/src\",\"level\":\"info\",\"name\":\"apiservice-app\",\"server\":\"apiservice-app\",\"application\":\"apiservice-app\",\"port\":8080,\"hostname\":\"81caea3a2960\",\"pid\":16,\"req\":{\"method\":\"GET\",\"url\":\"/twitter/local/lists\",\"headers\":{\"host\":\"xxx.xx.x.xx:8080\",\"connection\":\"close\"},\"body\":{},\"hostname\":\"xxx.xx.x.xx\",\"ip\":\"::ffff:xxx.xx.x.xx\",\"originalUrl\":\"/twitter/local/lists\",\"params\":{},\"path\":\"/twitter/local/lists\",\"query\":{}},\"src\":{\"file\":\"/usr/src/app/src/libs/logstash.js\",\"line\":68}"}",
"tags": []
},
"fields": {
"@timestamp": [
1484599706688
]
},
"sort": [
1484599706688
]
}
Мой файл logstash.conf выглядит следующим образом
input {
tcp {
port => 5000
}
}
output {
elasticsearch {
hosts => "elasticsearch:9200"
}
}
бревен производятся на Буяне регистратор в Node.js приложение:
'use strict';
const bunyan = require('bunyan');
const bunyantcp = require('bunyan-logstash-tcp');
let log = bunyan.createLogger({
src: true,
name: app.get('host'),
server: app.get('host'),
application: app.get('host'),
port: app.get('port'),
tags: ['routing'],
streams: [{
level: 'info',
type: "raw",
stream: process.stdout
},{
level: 'info',
type: "raw",
stream: bunyantcp.createStream({
host: serviceLogstashSettings.address,
port: serviceLogstashSettings.port
})
}],
level: 'debug'
});
Какие плагины мне нужно установить в logstash и как мой файл logstash.conf должен искать, чтобы изменить поле «сообщение» в поле json?
ТНХ много! Сделал трюк :) получив завивку ELK – Tino
приятно, рад, что это помогло! – Val