Bagaimana cara mendapatkan syslogd untuk menerima koneksi masuk dari host jarak jauh di Snow Leopard?
Saya ingin memusatkan pencatatan sedemikian rupa sehingga berbagai perangkat dan sistem mengirim log ke syslogd Snow Leopard, yang biasanya hang out di UDP 514. Namun, saya tidak bisa membuatnya berhasil diterima oleh syslogd ole baik. Saya tcpdumped pada kotak Snow Leopard untuk memverifikasi bahwa paket-paket sedang dicairkan ke port 514 - mereka. Saya memeriksa apakah syslogd mendengarkan pada 514 - tidak.
Googling sekitar mengatakan kepada saya bahwa, pada versi OSX yang lebih lama (jangan Anda suka cara perubahan begitu cepat pada OSX), orang hanya perlu menambahkan bendera ke daemon syslogd untuk memungkinkan remote; satu melakukan ini di com.apple.syslogd.plist. Namun daemon syslogd tidak memiliki flag (setidaknya di halaman manualnya) yang menunjukkan segala sesuatu yang jauh.
Apa solusinya?
Pertanyaan sekunder, kurang impor tetapi relevan: Apa itu 'newsyslog'? Saya melihat file plist tetapi tidak berjalan (ternyata).
Terima kasih
Jawaban:
Saya belum mencoba ini, tetapi saya mencari di plist untuk syslogd (/System/Library/LaunchDaemons/com.apple.syslogd.plist) dan melihat bagian ini berkomentar:
Hapus komentar dan muat ulang layanan:
dan Anda kemungkinan sedang dalam perjalanan.
Jawaban untuk pertanyaan sekunder Anda -
newsyslog
mirip dengan logrotate yang sering ditemukan pada sistem linux.man newsyslog
(atau online ) akan memberi tahu Anda lebih banyak.Sebagaimana diinstal dengan Snow Leopard, ia dijalankan setiap 30 menit dengan
launchd
per bit ini dalam daftarnya:sumber
Perhatikan bahwa jika Anda mencoba melakukan ini pada mesin Snow Leopard Server (setidaknya dengan 10.6.4), Anda akan menemukan bahwa tidak ada bagian komentar-out di /System/Library/LaunchDaemons/com.apple.syslogd .plist (dan file plist disimpan dalam format biner).
Namun, menyalin dan menempelkan kunci yang dikutip Doug di atas akan melakukan trik, meskipun pertama-tama Anda perlu mengonversi format file menjadi teks:
... dan Anda mungkin harus mengubahnya kembali setelah itu (konversi terjadi di tempat):
... lalu muat ulang daemon launchd sesuai instruksi Doug.
Setelah itu file plist lengkap harus dibaca sebagai berikut:
Satu catatan lagi: jika, seperti saya, Anda ingin mengirim output syslog stasiun pangkalan AirPort Anda (dan / atau Kapsul Waktu) ke server Anda, mereka menggunakan fasilitas 0, yang tidak dapat diubah . Ini berarti bahwa mereka akan secara otomatis masuk ke /var/log/appfirewall.log karena entri default berikut di /etc/syslog.conf:
Pada versi Server OS, Anda dapat dengan aman mengubah nama file menjadi mis. AirPort.log setelah Anda mengeluarkan perintah berikut:
... karena Firewall Aplikasi Apple (socketfilterfw) dinonaktifkan secara default (dan harus tetap tidak aktif di server — ipfw adalah yang Anda inginkan). Saya tidak yakin apakah mungkin mengkonfigurasi ulang socketfilterfw untuk menggunakan fasilitas syslog yang berbeda.
sumber
<key>ProgramArguments</key> <array> <string>/usr/sbin/syslogd</string> <string>-udp_in</string> </array>
Metode lain untuk mengaktifkan akses jaringan ke syslogd di Snow Leopard menggunakan program baris perintah PlistBuddy,
Dan kemudian restart daemon,
Anda dapat menggunakan lsof untuk memeriksa apakah syslogd sekarang mendengarkan pada port syslog standar, 514,
sumber