Salam, Pak. Bisakah Anda membantu saya dengan parsing file log json.
Contoh string log:
{"ip": "176.122.232.00", "host": "cdn.tv.com", "path": "/dtv/c_1199622700411804.ts", "status": "200", "user_agent": "YX_XY/1.0.1.0.3364", "length": 1392120, "date": "2016-10-09T20:00:00+03:00"}
Saya menggunakan format ini:
goaccess -f access.log --log-format='%^: "%h", %^:%^, %^: "%R", %^: %s, %^: "%u",%^: %b, %^: "%dT%t+%^"' --date-format='%Y-%m-%d' > /report.html
Dan mendapatkan
Parsing... [1 734 743] [867 371/s]s]
GoAccess - version 0.8.5 - Dec 5 2014 06:36:01
Fatal error has occurred
Error occured at: goaccess.c - main - 832
Nothing valid to process
Apa yang salah dengan format log saya?
Terima kasih.
Ini harus bekerja:
goaccess -f access.log --log-format='%^: "%h",%^: "%v",%^: "%U",%^: "%s",%^: "%u",%^: %b,%^: "%dT%t+%^"%^' --date-format='%Y-%m-%d' --time-format='%T' --http-protocol=no --http-method=no
Terima kasih atas balasannya,
Saya punya kesalahan ini
goaccess: unrecognized option '--time-format=%T'
(mungkin saya punya versi baru)
Kemudian saya menghapus format waktu opsi dan mendapat 2 kesalahan lagi.
goaccess: option '--http-protocol' doesn't allow an argument
goaccess: option '--http-method' doesn't allow an argument
Ketika saya menghapus semua opsi ini, saya akhirnya mendapatkan laporan saya.
Omong-omong, bisakah Anda menjelaskan format log ini untuk generasi selanjutnya? :)
Untuk opsi yang tidak dikenal tersebut, harap tingkatkan ke versi terbaru.
Pertanyaan bagus, salah satu bagian terpenting dalam format log adalah karakter yang mengikuti %^
atau penentu lainnya. Parser akan mencari karakter itu, jadi misalnya, jika saya memiliki %^:
, itu berarti saya ingin parser melewati semuanya sampai :
ditemukan. Itu sangat membantu jadi saya tidak perlu menggunakan banyak %^
untuk mengabaikan bidang. Versi yang akan datang, akan menangani ini lebih baik dengan menampilkan token mana yang tidak cocok dengan format log, yang seharusnya membuat segalanya lebih mudah.
Untuk daftar penentu log yang tersedia, silakan lihat ini .
Komentar yang paling membantu
Untuk opsi yang tidak dikenal tersebut, harap tingkatkan ke versi terbaru.
Pertanyaan bagus, salah satu bagian terpenting dalam format log adalah karakter yang mengikuti
%^
atau penentu lainnya. Parser akan mencari karakter itu, jadi misalnya, jika saya memiliki%^:
, itu berarti saya ingin parser melewati semuanya sampai:
ditemukan. Itu sangat membantu jadi saya tidak perlu menggunakan banyak%^
untuk mengabaikan bidang. Versi yang akan datang, akan menangani ini lebih baik dengan menampilkan token mana yang tidak cocok dengan format log, yang seharusnya membuat segalanya lebih mudah.Untuk daftar penentu log yang tersedia, silakan lihat ini .