Template memodifikasi dan memformat output yang dihasilkan oleh rsyslog. Mereka memungkinkan untuk menentukan format apa pun yang mungkin diinginkan pengguna. Mereka juga digunakan untuk pembuatan nama file dinamis. Berikut sintaks untuk membuat template:
$template TEMPLATE_NAME,"text %PROPERTY% text", [OPTION]
Bidang-bidang tersebut dijelaskan sebagai berikut:
Field | Tujuan |
---|---|
$templat | Arahan yang mendefinisikan sebuah template |
TEMPLATE_NAME | Nama template |
“teks” | Teks template yang sebenarnya dikelilingi oleh tanda kutip |
%PROPERTI% | Konten pesan tertentu dikelilingi oleh tanda persen |
OPSI | Menentukan opsi yang mengubah fungsionalitas template |
Template dapat digunakan untuk menghasilkan nama file dinamis. Tentukan properti sebagai bagian dari jalur file untuk membuat file baru untuk setiap properti unik. Misalnya, gunakan dihasilkan waktu properti untuk menghasilkan nama file unik untuk setiap pesan rsyslog:
$template DynamicFile,“/var/log/%timegenerated%-test.log”
Tentukan nama template dalam aturan untuk mengubah keluaran rsyslog. File dinamis diwakili oleh template dan awalan tanda tanya (?). Contoh:
*.* ?DynamicFile
Properti
Anda dapat menggunakan properti di dalam template untuk mereferensikan konten tertentu dari pesan rsyslog. Gunakan sintaks berikut untuk mendefinisikan properti di dalam template:
%PROPERTY_NAME[:FROM_CHAR:TO_CHAR:OPTION]%
Bidang-bidang tersebut dijelaskan sebagai berikut:
Field | Tujuan |
---|---|
PROPERTY_NAME | Nama properti |
FROM_CHAR dan TO_CHAR | Rentang karakter tempat properti tertentu bertindak |
OPSI | Opsi properti |
Daftar properti dan deskripsi yang tersedia dapat ditemukan di http://www.rsyslog.com/doc/property_replacer.html.
1. Properti berikut mewakili seluruh teks pesan dari pesan rsyslog:
%msg%
2. Contoh berikut mewakili dua karakter pertama dari teks pesan:
%msg:1:2%
3. Properti berikut mewakili nama host dalam pesan rsyslog:
%hostname%
4. Properti berikut mewakili fasilitas dari pesan dalam bentuk teks:
%syslogfacility-text%
Templat:Contoh
Contoh berikut mendefinisikan template bernama kelas yang memformat pesan rsyslog untuk menampilkan cap waktu pesan, fasilitas dalam bentuk teks, prioritas dalam bentuk teks, nama host, dan teks pesan, dan diakhiri dengan baris baru:
$template class, "Time: %timestamp%, Facility: %syslogfacilitytext%, Priority: %syslogpriority-text%, Hostname: %hostname%, Message: %msg%\n"
Untuk menggunakan template untuk pesan /var/log/logfile, sertakan nama template sebagai berikut:
*.* /var/log/logfile;classCentOS / RedHat :Panduan pemula untuk mencatat administrasi file
Memahami Tindakan rsyslog
Memahami Opsi Filter rsyslog