Я использовал FileBeat для конвертации логов apache2 и выгрузки в выходной файл.генерируемый выходной файл имеет тело JSON для каждого сообщения журнала apache2.но здесь мне нужно тело JSON в одной строке вместо анализа.
В текущем формате я не могу извлечь каждое тело JSON из выходного файла, если мы сохраняем строчный JSON, то мы можем разделить каждую строку выходного файла и взять каждый JSONтело легко.
Я изменил настройки вывода файла filebeat.yml.как показано ниже
output.file: путь: "/ tmp / logstojson / apache2 /" имя_файла: filebeat разрешения: 0600 codec.json: pretty: false
Я не нашел ожидаемый форматв выходном файле.
Фактические данные выходного файла:
{ "@timestamp": "2019-04-09T13:12:47.106Z",
"@metadata": {
"beat": "filebeat",
"type": "doc",
"version": "6.6.2",
"pipeline": "filebeat-6.6.2-system-auth-pipeline"
},
"fileset": {
"module": "system",
"name": "auth"
},
"prospector": {
"type": "log"
},
"input": {
"type": "log"
},
"source": "/var/log/auth.log",
"log": {
"file": {
"path": "/var/log/auth.log"
}
},
"message": "Apr 9 13:12:45 ip-172-31-22-12 sudo:
pam_unix(sudo:session): session closed for user root",
"event": {
"dataset": "system.auth"
},
"beat": {
"version": "6.6.2",
"name": "ip-172-31-22-12",
"hostname": "ip-172-31-22-12"
},
"host": {
"name": "ip-172-31-22-12"
},
"offset": 537068
}
ожидаемые данные выходного файла:
{ "@timestamp": "2019-04-09T13:12:47.106Z", "@metadata": { "beat": "filebeat", "type": "doc", "version": "6.6.2", "pipeline": "filebeat-6.6.2-system-auth-pipeline" }, "fileset": { "module": "system", "name": "auth" }, "prospector": { "type": "log" }, "input": { "type": "log" }, "source": "/var/log/auth.log", "log": { "file": { "path": "/var/log/auth.log" } }, "message": "Apr 9 13:12:45 ip-172-31-22-12 sudo: pam_unix(sudo:session): session closed for user root", "event": { "dataset": "system.auth" }, "beat": { "version": "6.6.2", "name": "ip-172-31-22-12", "hostname": "ip-172-31-22-12" }, "host": { "name": "ip-172-31-22-12" }, "offset": 537068}