Pertanyaan Bagaimana saya bisa menerima log syslog dari sistem jaringan?


Saya ingin mengonfigurasi Ubuntu untuk menerima log dari router DD-WRT. Layar konfigurasi router berisi bagian berikut:

DD-WRT System Log

dan itu dokumentasi penebangan membaca:

Jika Anda ingin mengirim log ke sistem jarak jauh, masukkan alamat IP dari   mesin itu yang juga menjalankan utilitas syslog (perlu terbuka   soket jaringan untuk menerima log yang dikirim oleh router).

Saya tidak pernah (dengan sengaja) menggunakan syslog sebelumnya. Apa yang harus saya lakukan di Ubuntu agar dapat menerima log ini?


24
2017-07-20 19:06


asal


My Motorola Surfboard Extreme SBG901 tampaknya memiliki pengaturan yang serupa dengan DD-WRT Anda. Hanya berpikir saya akan menambahkan kata kunci itu untuk orang lain yang googling untuk q / a ini. - hobs


Jawaban:


Tuan rumah yang menerima log akan perlu menjalankan beberapa daemon syslog yang dikonfigurasi untuk mendengarkan log jarak jauh. Ada sejumlah implementasi syslog di Ubuntu, tetapi rsyslog biasanya disarankan, dan harus diinstal secara default. Saya tidak dapat memberi tahu dari dokumentasi di tautan yang Anda posting jika DD-WRT mengirim log melalui TCP atau UDP, sehingga mungkin memerlukan beberapa eksperimen untuk menemukan pengaturan yang tepat dengan tepat, jika Anda khawatir tentang mengurangi jumlah jaringan yang dapat diakses port di host Anda.

Ada dua cara untuk mengaktifkan ini: yang pertama lebih sederhana, tetapi mungkin memerlukan reintegrasi ketika sistem ditingkatkan. Yang kedua sedikit lebih rumit, dan dapat menyebabkan hasil yang membingungkan jika ada perubahan signifikan pada konfigurasi syslog sebagai bagian dari pembaruan. Saya akan memilih yang kedua, tetapi preferensi Anda mungkin berbeda.

Yang pertama adalah mengedit /etc/rsyslogd.conf, dan hapus yang awal # dari baris-baris berikut:

# $ ModLoad imudp
# $ UDPServerRun 514

atau

# $ ModLoad imtcp
# $ InputTCPServerRun 514

Yang kedua adalah membuat file baru, mungkin bernama local-enable-tcp.conf di /etc/rsyslog.d/, dengan isi berikut:

# Memungkinkan penerimaan TCP syslog
$ ModLoad imtcp
$ InputTCPServerRun 514

Jika Anda ingin menggunakan pendekatan file terpisah, dan perlu UDP, ubah isinya agar sesuai dengan stanza UDP di atas. Nama file spesifik tidak penting, tetapi disarankan untuk memulainya dengan "lokal-" karena namespace ini dicadangkan untuk konfigurasi administrator lokal, dan itu harus diakhiri dengan ".conf", karena hanya file yang berakhir seperti ini yang secara otomatis disertakan dalam konfigurasi rsyslog.

Jika Anda lebih suka menggunakan implementasi syslog lain, periksa konfigurasi dan dokumentasi untuk implementasi itu: kemungkinan bahwa daemon syslog dikonfigurasi untuk tidak mendengarkan jaringan secara default, tetapi konfigurasi contoh untuk mengaktifkan kasus umum ini harus didokumentasikan dengan jelas.


24
2017-07-21 02:16



Sebaiknya mulai nama file dengan angka dua digit, buat urutan dengan memperhatikan file .conf lain yang ada. - enzotib
Heh, itu bisa jadi rumit. Tidak ada alasan nama paket tidak dapat dimulai dengan angka dua digit, dan .d / $ {paket} -.conf semuanya disediakan untuk paket-paket tersebut (meskipun ada kemungkinan tidak akan terjadi konflik untuk misalnya, 72-local-myconf.conf). Kedua, penting untuk mencoba menulis file konfigurasi sehingga urutannya tidak kritis. Sebagai contoh, file konfigurasi yang disediakan oleh 0access.conf dari paket "0access" hipotetis akan diterapkan sebelum sebagian besar file konfigurasi dimulai dengan angka dua digit. - Emmet Hikory
Juga mungkin perlu mengubah kepemilikan file log Anda: sudo chown syslog:adm /var/log/syslog atau apa pun yang Anda beri nama file log Anda. - hobs


Pilihan lainnya adalah menggunakan syslog-ng, mudah digunakan, dan sejauh ini siap digunakan!

sudo apt-get install syslog-ng

Setelah menginstalnya, kami memiliki file conf di /etc/syslog-ng/syslog-ng.conf Jadi, cukup edit ini .conf dengan parameter kami, tetapi sebelum itu, buat cadangan file konfigurasi default, bisa berguna nanti jika Anda ingin menyetel beberapa parameter

sudo mv /etc/syslog-ng/syslog-ng.conf /etc/syslog-ng/syslog-ng.conf.bak

Sekarang buat file konfigurasi baru dan edit!

sudo touch /etc/syslog-ng/syslog-ng.conf
sudo nano /etc/syslog-ng/syslog-ng.conf

Jadi, cukup tempelkan konfigurasi dasar ini agar berfungsi juga:

# Listening to incoming UDP Syslog connections
source mysource { udp(); };

#Add the syslog targets:

destination dest { file("/var/log/Cisco$YEAR$MONTH$R_DAY.log"); };
#destination dest_other_server { udp("1.2.3.4" port(514)); };
#Create the filters that will be used to determine what to do with the received syslog message

#filter filter { ( host("2.3.4.5") and level(notice) and match("username=.*@domain\.local" value("MESSAGE") flags("utf8" "ignore-case")) ); };
filter myfilter { ( level(notice) ); };
#And putting it all together:

log { source(mysource); filter(myfilter); destination(dest);  };

Semudah yang Anda lihat. Hati hati!


6
2017-10-16 14:57





Pada dasarnya, Anda menjalankan daemon (disebut syslogd) di server Anda untuk router dd-wrt untuk memposting log ke.

Tutorial- http://www.techiecorner.com/1479/how-to-setup-syslog-server-in-ubuntu/


-2
2017-07-20 19:27



Hindari memposting alamat panduan lama, tanpa memeriksa apakah instruksi mereka masih valid. File-file yang disebutkan dalam panduan tidak ada lagi. Ubuntu menggunakan rsyslog. - enzotib
@enzotib - Meskipun saya setuju bahwa itu kurang berkualitas dan tautan itu harus dihindari, ternyata itu ini jawablah dengan tepat apa yang saya butuhkan untuk mencapai tugas yang sama pada server Ubuntu 8.04. Ada tiga jawaban di sini, semuanya untuk tiga variasi berbeda dari syslog yang masih digunakan dalam sistem produksi. Jawaban ini berguna. Itu mendapat +1 dari saya. - ghoti
Itu benar tetapi ini pada dasarnya adalah satu-satunya jawaban tautan. - Duncan X Simpson