Saya baru saja menyiapkan server Graylog2 dan saya ingin mengirim semua log dari server utama saya ke server Graylog. Saya telah mengaktifkan logging untuk server utama dan akan mengirim log ke server graylog saya dengan menambahkan *.* @logs.example.com:1337
ke /etc/rsyslog.conf
.
Yang saya inginkan adalah agar Graylog2 mengumpulkan semua log Apache saya, log sistem (untuk login SSH, login yang ditolak) dan semua log lain yang perlu saya monitor.
Untuk log Apache, saya juga ingin log Rails. Situs saya terletak di /srv/www/
dan kemudian strukturnya adalah sitename.com/public_html
dan sitename.com/logs
. Saya memiliki banyak situs di server dan saya ingin cara mudah untuk melihat semua kesalahan dan membuat beberapa grafik yang bagus dari itu maka mengapa saya ingin menggunakan Graylog2 ...
File log dalam folder log adalah access.log
dan error.log
.
Log Rails akan berada di sitename.com/public_html/log
. Ini berisi production.log
.
Jawaban:
Ini sudah lama, tetapi saya pikir saya akan menulis metode ini yang saya gunakan untuk situs dengan lalu lintas rendah / menengah (tidak tahu apakah itu akan berfungsi dengan baik untuk situs lalu lintas berat):
Di Apache, saya mendefinisikan format CustomLog yang memformat
graylog2_access
log akses ke format GELF dan kemudian saya mengirim log saya melalui Graylog2 dengan memipakan data log melalui nc untuk mengirim pesan GELF ke input Graylog2.Berikut adalah format khusus yang dibuatnya (dapat dibaca manusia):
Untuk konfigurasi Apache, berikut adalah versi salin / rekat:
Kemudian dalam konfigurasi host Anda:
sumber
Anda juga dapat mengirim file log ke server graylog2 menggunakan perintah sederhana ini:
Saya menggunakan ini terutama untuk tujuan pengujian untuk menentukan apakah format log saya disesuaikan untuk query yang mudah di graylog2. Untuk penggunaan produksi Anda tidak akan mengatur rsyslog atau syslog-ng.
Anda mungkin dapat mengekor file log rel Anda dan melihat apa yang terjadi.
sumber
Graylog2 hanya menerima log dalam dua format: syslog standar dan format log extended Graylog (alias GELF). Log sewenang-wenang pada disk akan membutuhkan beberapa proses pihak ketiga untuk mengkonsumsi log dan menerjemahkannya ke dalam bentuk yang berguna bagi Anda.
Lihatlah Logstash . Kebanyakan orang menganggapnya sebagai alat untuk mengindeks file log menggunakan ElasticSearch, tetapi juga berisi tujuan umum "log router" yang memungkinkan Anda mengekor banyak file pada disk dan mengirimkannya ke komponen logging seperti Graylog.
sumber
Anda dapat menggunakan
apache2gelf
skrip dari sini .sumber