จากที่เราเคย setup syslog-ng server หรือการส่ง log จาก Linux, Windows มายัง syslog-ng server กันมาแล้ว มาคราวนี้เป็นเรื่องของการจัดเก็บ log กันบ้าง
ซึ่งโดยปกติเวลาเรา save ไฟล์เรามักจะใช้ destination เป็น
1 |
destination save_net { file("/var/log/receive.log"); }; |
ทีนี้ในตัว syslog-ng นั้นมีพวก variable ที่เปลี่ยนแปลงตลอดเวลาตามเวลาที่รับ log, attribute ของผู้รับหรือตัวแปรอื่นๆ ซึ่งมีเยอะมาก แนะนำให้ดูใน https://www.balabit.com/documents/syslog-ng-ose-latest-guides/en/syslog-ng-ose-guide-admin/html/reference-macros.html
ซึ่งถ้าหากเราอยากเก็บ log แบบ rotate ทุกๆนาทีสามารถเขียน configuration ในส่วนของ destination ได้เป็น
1 |
destination save_net { file("/var/log/receive.${DAY}-${MONTH}-${YEAR}.${HOUR}-${MIN}.log"); }; |
1 2 3 4 |
receive.01-01-2018.12-15.log receive.01-01-2018.12-16.log receive.01-01-2018.12-17.log receive.01-01-2018.12-18.log |
1 |
destination save_net { file("/var/log/receive.${HOST}.${DAY}-${MONTH}-${YEAR}.${HOUR}-${MIN}.log"); }; |
1 2 3 4 |
receive.127.0.0.1.01-01-2018.12-15.log receive.127.0.0.1.01-01-2018.12-16.log receive.127.0.0.1.01-01-2018.12-17.log receive.127.0.0.1.01-01-2018.12-18.log |