Serta fasilitas sistem umum ( mail
, news
, daemon
, cron
, dll), syslog menyediakan serangkaian "lokal" fasilitas, angka 0 sampai 7: LOCAL0
, LOCAL1
, ..., LOCAL7
.
Manakah yang merupakan standar program untuk aplikasi umum?
Saya mencari tahu fasilitas mana yang "tradisional" digunakan untuk layanan terkenal. Saya akan menggunakan aplikasi di banyak server, dengan berbagai perangkat lunak yang diinstal, dan ingin melihat apakah ada fasilitas "gratis" yang dapat saya gunakan dengan mudah untuk log saya sendiri.
Sebagai catatan, saya menyadari ada cara lain untuk melakukan ini selain fasilitas syslog. Hanya penasaran!
Inilah beberapa, (sebuah awal untuk menjawab pertanyaan saya sendiri) dan beberapa berkat voretaq7:
LOCAL0
digunakan oleh postgresqlLOCAL2
digunakan oleh sudoLOCAL3
digunakan oleh beberapa versi SpamAssassinLOCAL4
digunakan secara default oleh slapd (server OpenLDAP)LOCAL5
kadang-kadang digunakan oleh IDS SnortLOCAL7
digunakan untuk mem-boot pesan pada Fedora 12
Jawaban:
The
LOCALn
fasilitas yang tersedia untuk penggunaan lokal dan dapat bervariasi cukup luas dari situs ke situs.Saya jamin setiap satu dari 8 yang tersedia digunakan oleh sesuatu, jadi jika Anda ingin menghindari konflik, saran terbaik saya adalah mencatat semua 7 untuk memisahkan log dan memilih salah satu yang tampaknya tidak menggunakan hal lain.
Beberapa yang Anda lewatkan (default program - dapat diubah secara lokal jadi periksa ulang):
LOCAL0
digunakan oleh postgresql (jika dikonfigurasi untuk masuk ke syslog)LOCAL2
digunakan oleh sudo (jika dikonfigurasi untuk masuk ke syslog)LOCAL3
digunakan oleh beberapa versi SpamAssassinmail
gantinyaLOCAL5
kadang-kadang digunakan oleh IDS Snortsumber
Tidak ada standar untuk fasilitas Syslog LOCAL0-LOCAL7. Secara desain, Anda tidak dapat mengandalkan apakah mereka akan digunakan oleh apa pun. Distro atau organisasi tertentu mungkin memiliki konvensi sendiri, tetapi terserah distro atau kebijakan organisasi, bukan standar yang lebih luas.
Sebagai alternatif, sudahkah Anda mempertimbangkan untuk menggunakan "tag" Syslog? Tag adalah string bentuk bebas yang ditambahkan ke pesan log untuk mengidentifikasi aplikasi atau saluran log tertentu. Secara default, tag biasanya dibentuk dari nama proses dan ID (misalnya, 'httpd [2839]') yang menghasilkan data log. Utilitas baris perintah 'logger' dan sebagian besar API Syslog mendukung menentukan tag apa pun yang ingin Anda gunakan untuk aplikasi Anda.
Sebagai contoh, saya pribadi suka menggunakan 'akses-http' untuk log akses server web Apache saya, yang saya kirim ke Syslog dengan mem-pipkan output log Apache ke perintah 'logger -p local7.info -t' http-access '.
sumber
Sebagian besar file syslog.conf diatur dengan fasilitas wildcard untuk file pesan (* .info). Jika ini hanya menjalankan aplikasi pabrik dan bukan beberapa sapi yang memonopoli log penuh Anda mungkin harus login ke pesan dan bukan file mandiri.
Memilih untuk login ke file Anda sendiri berarti menambahkan langkah postinstall ke paket instalasi perangkat lunak Anda yang menambahkan entri yang sesuai di syslog.conf. Ini juga berarti bahwa jika Anda baik, Anda akan menambahkan langkah postinstall yang membuat file logrotate yang sesuai juga.
sumber
Saya juga mencari file konfigurasi seperti syslog.conf untuk referensi silang fasilitas local0-7 ke program yang sedang menulis kepada mereka. Tampaknya file konfigurasi seperti itu tidak ada. Untuk mengetahui program apa yang menulis ke log, Anda harus membuka file log dan menemukan nama program di sebelah kolom di sebelah titik dua, misalnya ... sendmail [22950]: adalah untuk program sendmail. Nomor dalam kurung siku adalah untuk nomor port yang digunakan selama pelaksanaan program.
sumber