วิธีการเก็บ Log File Mikrotik ผ่าน Syslog-ng บน Ubuntu

บทความนี้เราจะพูดถึงเรื่องการเก็บ Log ใน MikroTik ด้วย Syslog Server นะคัรบ เรามาเริ่มทำความรู้จักกับ Syslog กันก่อนครับ Syslog คือมาตราฐานกลางของการเก็บ Log โดยตัว Syslog Server นั่นสามารถเก็บ Log ได้จากหลายอุปกรณ์ แล้วเรายังสามารถนำ Log ที่ได้มามาเข้าโปรแกรมพวก Analyze เพื่อแสดงผลออกมาเป็นรายงานในรูปแบบต่างๆ ได้ด้วยคัรบ เรื่องบทความการเอา Syslog มาทำเป็นรายงานเดียวไว้บทความหน้านะคัรบ
ในวันนี้เราจะมาดูวิธีการทำกันคัรบ ขั้นแรกเลยเราต้องมีเครื่อง Server ที่เป็น Linux ก่อนนะครับในที่นี้ผมจะใช้ตัว Ubuntu Server 16.04.2 LTS ดาวโหลดได้ที่นี้ครับ ในบทความนี้จะไม่กล่าวเรื่องการติดตั้ง Ubuntu นะครับเราจะเริ่มตอนติดตั้ง Syslog-ng package เลยคัรบ
ขั้นตอนแรกให้ # apt-get update กับ # apt-get upgrade ก่อนเลยคัรบ เพื่อนให้ update repository กับ upgrade package ในเครื่องครับ
# sudo apt-get update
# sudo apt-get upgrade
ScreenHunter_5935%2BJun.%2B06%2B20.04
ScreenHunter_5936%2BJun.%2B06%2B20.05
จากนั่นให้ติดตั้ง Syslog-ng Package
# sudo apt-get install syslog-ng
ScreenHunter_5937%2BJun.%2B06%2B20.11
เมื่อติดตั้งเสร็จเรียบร้อยแล้วให้ไปแก้ Configuration file ที่ /etc/syslog-ng/syslog-ng.conf แล้วเพิ่ม code ตามที่ใส่ไว้ในรูป
# sudo nano -c /etc/syslog-ng/syslog-ng.conf
# MikroTik – Syslog
source s_mikrotik { udp(port(514)); };
ScreenHunter_5938%2BJun.%2B06%2B20.24
# MikroTik – Syslog
destination d_mikrotik { file(“/var/log/mikrotik.${YEAR}${MONTH}${DAY}.log”); };
ScreenHunter_5939%2BJun.%2B06%2B20.27
# MikroTik – Syslog
filter f_mikrotik { host(“192.168.88.1”); };
ScreenHunter_5940%2BJun.%2B06%2B20.29
# MikroTik – Syslog
log { source(s_mikrotik); destination(d_mikrotik); filter(f_mikrotik); };
ScreenHunter_5941%2BJun.%2B06%2B20.32
ทำการ Start Service และตรวจดู Status ของ Syslog Service
# sudo service syslog-ng restart
# sudo service syslog-ng status
ScreenHunter_5942%2BJun.%2B06%2B20.33
ตรวจเชคดูว่า UDP Port 514 ทำงานแล้วหรือยัง
#  netstat -na | grep 514
ScreenHunter_5943%2BJun.%2B06%2B20.36
ทดลองทำการส่ง Message เข้าไปยัง Syslog Server
# logger -n 192.168.6.136 -t TEST -P 514 Hello Syslog Server
แสดงข้อมูลใน Syslog File
# tail -f /var/log/mikrotik.20170606.log
ScreenHunter_5944%2BJun.%2B06%2B20.40
จากนั่นทำการตั้งค่าใน MikroTik ให้ส่ง Log มาที่ Syslog Server ที่เมนู Winbox => System => Logging
ScreenHunter_5945%2BJun.%2B06%2B20.45
ScreenHunter_5946%2BJun.%2B06%2B20.46
จากนั่นเมื่อกลับมาดูที่ Syslog File ใน /var/log ก็จะเห็ฯมี Log โผล่เข้ามาแล้ว
ScreenHunter_5947%2BJun.%2B06%2B20.49
สำหรับใครกล้วกรณี Log เต็มหรือเราต้องการเก็บแค่ 90 วันล่าสุดก็ทำเพิ่มในส่วนของ Log Rotate ด้วยครับดังนี้
# nano /etc/logrotate.d/syslog-ng

แล้วเพิ่ม Code ส่วนด้านล่างลงใน Config File คัรบ

/var/log/*.log {
daily
rotate 90
missingok
compress
notifempty
missingok
sharedscripts
/etc/init.d/syslog-ng restart
endscript
# invoke-rc.d syslog-ng reload > /dev/null
}

เพียงเท่านี้เราก็มี Syslog Server ไว้ใช้งานละคัรบ วันนี้จบละคัรบ
Facebook Comments
%d bloggers like this: