ในวันนี้เราจะมาดูวิธีการทำกันคัรบ ขั้นแรกเลยเราต้องมีเครื่อง 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
จากนั่นให้ติดตั้ง Syslog-ng Package
# sudo apt-get install syslog-ng
เมื่อติดตั้งเสร็จเรียบร้อยแล้วให้ไปแก้ 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)); };
# MikroTik - Syslog
destination d_mikrotik { file("/var/log/mikrotik.${YEAR}${MONTH}${DAY}.log"); };
# MikroTik - Syslog
filter f_mikrotik { host("192.168.88.1"); };
# MikroTik - Syslog
log { source(s_mikrotik); destination(d_mikrotik); filter(f_mikrotik); };
ทำการ Start Service และตรวจดู Status ของ Syslog Service
# sudo service syslog-ng restart
# sudo service syslog-ng status
ตรวจเชคดูว่า UDP Port 514 ทำงานแล้วหรือยัง
# netstat -na | grep 514
ทดลองทำการส่ง 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
จากนั่นทำการตั้งค่าใน MikroTik ให้ส่ง Log มาที่ Syslog Server ที่เมนู Winbox => System => Logging
จากนั่นเมื่อกลับมาดูที่ Syslog File ใน /var/log ก็จะเห็ฯมี Log โผล่เข้ามาแล้ว
สำหรับใครกล้วกรณี 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
}
/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: https://www.facebook.com/PStudioDev/
Line: indyitgroup หรือ @indyit
Tel: 089-6494533
Thank you so much.
ReplyDeleteถ้ากรณีที่ไม่ใช้ microtik ใช้แค่ raspberry pi ที่ลง syslog ไว้จะได้ไหมครับ
ReplyDeleteแล้วต้อง config อะไรเพิ่มไหมครับ
แสดงข้อมูลใน Syslog File
ReplyDelete# tail -f /var/log/mikrotik.20170606.log ผม ใส่ปีคศเดือนวัน 20210615 ปัจจุบันลง แต่ พอกด enter
ฟ้องไม่เจอไฟล์ หรือ directory ครับ ติดตรงนี้ครับ
ผมทำตามทุกบรรทัด ได้หมด ครับ copy วาง เหมือนกัน
Delete