RSYSLOG เป็น Log Server ฟรีตัวหนึ่งที่นิยมใช้กันอย่างแพร่หลายในการทำ Log Server ในบทความนี้ เราจะมาดูวิธีการติดตั้ง RSYSLOG บน CentOS 8 กัน แต่ก่อนอื่น ต้อง Setup LAMP Stack ให้เรียบร้อยก่อน สามารถเข้าไปดูวิธีการได้ที่ลิ้งนี้ได้เลย http://www.ablenet.co.th/2021/06/28/lamp-stack/ ถ้าติดตั้งเรียบร้อยแล้ว มาลุยกันได้เลย Step 0 : ติดตั้ง package nettool เพื่อใช้งานคำสั่งเบื้องต้น เช่น netstat , ifconfig
yum install net-tools*
Step 1 : ติดตั้ง rsyslog
yum install rsyslog
Step 2 : Restart และ สั่งให้ rsyslog ทำงานเมื่อ CentOS Power ON
systemctl restart rsyslog
systemctl enable rsyslog
Step 4 : ทดสอบ ส่ง Log ไปที่ rsyslog โดย Default ไฟล์ จะถูกเก็บอยู่ที่ /var/log/messages ** tail -f คือ การเปิดอ่านไฟล์แบบ Railtime
cd /var/log
logger "test rsyslog"
tail -f /var/log/messages
Step 5 : เปิด Port TCP/UDP เพื่อรับไฟล์จากเครื่อง Client เข้าไปแก้ที่ไฟล์ rsyslog.conf -> /etc/rsyslog.conf
vi /etc/rsyslog.conf
ลบ Comment ที่บรรทัดที่ 19,20,24,25
Restart rsyslog
systemctl restart rsyslog
Step 6 : ตรวจสอบ Port ที่เราเปิด ใน Step ที่ 5
netstat -tuanp | grep rsyslog
Step 7 : ทดสอบส่ง Log มาที่ rsyslog โดยใช้ Kiwi syslog generator สามารถดาวน์โหลดได้ที่ > Link < Step 7.1 สั่งอ่านไฟล์ messages แบบ Rail Time
tail -f /var/log/messages
Step 7.2 เปิดโปรแกรม Kiwi Syslog Genterator และตั้งค่าและกด ส่ง Log มาที่ rsyslog
Step 7.3 ตรวจสอบค่าบนไฟล์ messages
Step 8 : Connect rsyslog with database Step 8.1 ติดตั้ง Package : rsyslog-mysql
yum install rsyslog-mysql
Step 8.2 ทำการ Copy database template to MariaDB database
cd /usr/share/doc/rsyslog/
mysql -u root -p < mysql-createDB.sql
Step 8.3 : ตรวจสอบ Database และสร้าง User ในการเข้าถึง Database rsyslog โดย Username = rsyslog , Password = Password
mysql -u root -p
show databases;
GRANT ALL ON Syslog.* TO 'rsyslog'@'%' IDENTIFIED BY 'Password';
Step 9 : Import syslog data to Database Step 9.1 : เข้าไปเพิิ่ม Config ในไฟล์ rsyslog.conf
vi /etc/rsyslog.conf
เพิ่มข้อมูลที่บรรทัด 38 , 39 โดยใส่ Username และ Password ที่เราตั้งในขั้นตอนที่ 8.3
module(load="ommysql")
*.* :ommysql:localhost,Syslog,rsyslog,Password
Step 9.2 : การตรวจสอบ Database
mysql -u rsyslog -p
show databases;
use Syslog
show tables;
desc SystemEvents;
select ReceivedAt,Facility,Priority,FromHost,Message from SystemEvents;
จะเห็นว่า Data จาก rsyslog ถูก import เข้ามาที่ Database เรียบร้อย ขั้นตอนถัดไป จะติดตั้ง Loganalyzer เพื่อทำการแสดงข้อมูลออกมาในรูปแบบ Web GUI เพื่อช่วยให้ดูข้อมูลได้ง่ายขึ้น ติดตามได้จากลิ้งนี้เลยครับ https://www.ablenet.co.th/2021/06/28/install-loganalyzer/