หน้าแรก
VPSเซิร์ฟเวอร์เสมือนประสิทธิภาพสูง พร้อมสิทธิ์ Root เต็มรูปแบบ
VPS ForexVPS เทรด Forex หน่วงต่ำพิเศษ สำหรับ EA และระบบเทรดอัตโนมัติ
เว็บโฮสติ้งโฮสติ้งพร้อมใช้งาน มี Plesk และ SSL ฟรี
โฮสติ้งเกมเซิร์ฟเวอร์รองรับเกมมากกว่า 20 เกมทั่วโลก เพียงเช่า VPS แล้วแจ้งเกมที่ต้องการติดตั้งกับเรา
เซิร์ฟเวอร์เฉพาะเซิร์ฟเวอร์เฉพาะระดับองค์กร พร้อม IPMI
ฝากวางเซิร์ฟเวอร์ฝากเซิร์ฟเวอร์ในศูนย์ข้อมูลมาตรฐานสากล
ความปลอดภัยWAF ระบบป้องกัน DDoS และ SOC เฝ้าระวังตลอด 24/7
รับทำเว็บไซต์ออกแบบและพัฒนาเว็บไซต์ด้วยเทคโนโลยีสมัยใหม่
บริการ SEOดันอันดับด้วยบทความ Backlink และ Technical SEO
สถานะระบบตรวจสอบสถานะระบบและความพร้อมใช้งาน
บทความเกี่ยวกับเราติดต่อเรา
การตรวจสอบและการแก้ไขปัญหาในระบบ Log Files
กลับหน้ารายการบทความ

การตรวจสอบและการแก้ไขปัญหาในระบบ Log Files

ทำความเข้าใจ Log Files ตั้งแต่ประเภท วิธีตรวจสอบ การวิเคราะห์ปัญหา และเครื่องมือจัดการ Log สำหรับผู้ดูแลเซิร์ฟเวอร์และระบบ

Universal--อัปเดต: 16 พฤษภาคม 2569

Log Files คืออะไร? สิ่งแรกที่ต้องดูเมื่อระบบมีปัญหา

เซิร์ฟเวอร์ล่ม เว็บโหลดช้า หรือมีคนพยายามแฮกระบบ สิ่งแรกที่ผู้ดูแลระบบต้องทำคือเปิดดู Log Files เพราะ Log คือบันทึกทุกเหตุการณ์ที่เกิดขึ้นในระบบ ไม่ว่าจะเป็นการเข้าถึงเว็บไซต์ ข้อผิดพลาด หรือการเปลี่ยนแปลงการตั้งค่า ข้อมูลเหล่านี้มีค่ามหาศาลสำหรับการวิเคราะห์ปัญหา

สำหรับผู้ดูแล VPS หรือเซิร์ฟเวอร์ การทำความเข้าใจ Log Files เป็นทักษะพื้นฐานที่ขาดไม่ได้ เพราะเมื่อเกิดปัญหา Log คือแหล่งข้อมูลแรกที่ช่วยระบุสาเหตุได้รวดเร็วที่สุด

ประเภทของ Log Files ที่ต้องรู้

System Logs บันทึกของระบบปฏิบัติการ

System Logs อยู่ในโฟลเดอร์ /var/log/ ดูรายการไฟล์ Log ทั้งหมด:

ls -lh /var/log/

ดู System Log หลัก:

# Ubuntu/Debian
tail -f /var/log/syslog

# CentOS/RHEL
tail -f /var/log/messages

ดู Kernel Log:

dmesg | tail -50

Application Logs บันทึกของแอปพลิเคชัน

ดู Log ของ Nginx แบบ real-time:

# Access Log - ดูการเข้าถึงเว็บ
tail -f /var/log/nginx/access.log

# Error Log - ดูข้อผิดพลาด
tail -f /var/log/nginx/error.log

ดู Log ของ Apache:

tail -f /var/log/apache2/access.log
tail -f /var/log/apache2/error.log

Security Logs บันทึกด้านความปลอดภัย

ตรวจสอบความพยายามเข้าสู่ระบบ:

# ดู Authentication Log
tail -100 /var/log/auth.log

# ดูเฉพาะการ Login ที่ล้มเหลว
grep "Failed password" /var/log/auth.log

สำหรับระบบรักษาความปลอดภัย การตรวจสอบ Security Logs เป็นประจำช่วยตรวจจับภัยคุกคามได้ทันท่วงที

วิธีตรวจสอบ Log Files อย่างมีประสิทธิภาพ

อ่าน Log เบื้องต้นด้วยคำสั่ง Linux

ดู Log แบบ real-time ด้วย tail -f:

tail -f /var/log/syslog

ค้นหาข้อผิดพลาดด้วย grep:

# ค้นหา ERROR ใน syslog
grep ERROR /var/log/syslog

# ค้นหาแบบ case-insensitive พร้อมแสดง 3 บรรทัดรอบข้าง
grep -i -C 3 "error" /var/log/syslog

# ค้นหา error จาก service เฉพาะ
grep "nginx" /var/log/syslog | grep -i error

ใช้ journalctl สำหรับ systemd:

# ดู Log ของ Nginx
journalctl -u nginx --since "1 hour ago"

# ดู Log ของ MySQL
journalctl -u mysql --since today

# ดูเฉพาะ Error
journalctl -p err --since "24 hours ago"

สำหรับผู้ที่ใช้ Dedicated Server ที่มี Log จำนวนมาก คำสั่งเหล่านี้ช่วยประหยัดเวลาได้อย่างมาก

วิเคราะห์หาสาเหตุของปัญหา

นับจำนวน Error แยกตามประเภท:

# นับ error แต่ละประเภทใน Nginx
awk '{print $9}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head -20

# ดู IP ที่เข้ามามากที่สุด
awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head -10

เครื่องมือจัดการ Log Files ที่ควรรู้

Log Rotation ป้องกัน Disk เต็ม

ตรวจสอบการตั้งค่า logrotate ปัจจุบัน:

cat /etc/logrotate.d/nginx

สร้าง logrotate config สำหรับแอปพลิเคชัน:

sudo tee /etc/logrotate.d/myapp <<EOF
/var/log/myapp/*.log {
    daily
    missingok
    rotate 14
    compress
    delaycompress
    notifempty
    create 0640 www-data www-data
    sharedscripts
    postrotate
        systemctl reload myapp > /dev/null 2>&1 || true
    endscript
}
EOF

ทดสอบ logrotate:

sudo logrotate -d /etc/logrotate.d/myapp

ตรวจสอบพื้นที่ดิสก์ที่ Log ใช้

sudo du -sh /var/log/*  | sort -rh | head -10

ล้าง Journal Log ที่เก่าเกินไป:

sudo journalctl --vacuum-time=7d
sudo journalctl --vacuum-size=500M

ใช้ Log Files รักษาความปลอดภัย

ตรวจจับ Brute Force Attack:

# นับความพยายาม login ที่ล้มเหลวจากแต่ละ IP
grep "Failed password" /var/log/auth.log | awk '{print $(NF-3)}' | sort | uniq -c | sort -rn | head -10

สำหรับเว็บไซต์ที่ใช้ Hosting จาก DriteStudio การตรวจสอบ Access Log เป็นประจำช่วยให้ทราบว่ามีใครพยายามเข้าถึงหน้าที่ไม่ควรเข้าถึงหรือไม่

องค์กรที่ต้องการเก็บ Log จากหลายเซิร์ฟเวอร์ Colocation จาก DriteStudio ช่วยรวมศูนย์โครงสร้างพื้นฐานและทำให้การรวบรวม Log สะดวกยิ่งขึ้น

คำถามที่พบบ่อย (FAQ)

Log Files อยู่ที่ไหนใน Linux?

ส่วนใหญ่อยู่ในโฟลเดอร์ /var/log/ ดูด้วย ls -lh /var/log/ เช่น syslog, auth.log, kern.log สำหรับ Apache อยู่ที่ /var/log/apache2/ ส่วน Nginx อยู่ที่ /var/log/nginx/

Log เต็ม Disk ทำยังไง?

ตั้งค่า Log Rotation ผ่าน logrotate และล้าง Journal Log ด้วย sudo journalctl --vacuum-time=7d เพื่อบีบอัดและลบ Log เก่าอัตโนมัติ

ควรเก็บ Log ไว้นานเท่าไหร่?

ขึ้นอยู่กับข้อกำหนดขององค์กรและกฎหมาย โดยทั่วไป Security Log ควรเก็บอย่างน้อย 6 เดือนถึง 1 ปี ส่วน Application Log อาจเก็บ 1-3 เดือน

สรุป

Log Files เป็นเครื่องมือที่ขาดไม่ได้สำหรับผู้ดูแลระบบ การเข้าใจประเภทของ Log รู้วิธีใช้ tail -f, grep, journalctl และ logrotate จะช่วยดูแลระบบได้มีประสิทธิภาพ แก้ปัญหาได้รวดเร็ว และรักษาความปลอดภัยได้อย่างมั่นใจ

D

DriteStudio | ไดรท์สตูดิโอ

ผู้ให้บริการโครงสร้างพื้นฐานดิจิทัลสำหรับ VPS เว็บโฮสติ้ง และบริการฝากวางเซิร์ฟเวอร์ในประเทศไทย

ดำเนินการโดย บริษัท คราฟต์ อินเตอร์เทค (ประเทศไทย) จำกัด