TIP การใช้งาน pm2 รันโปรแกรม Node.JS จัดการ Logs ไฟล์ขนาดใหญ่ที่เกิดขึ้น

แชร์ความรู้ Linux Ubuntu Web Server บทความ การ config server Linux FreeBSD Apache
การติดตั้ง XAMPP Mysql PHP ใครต้องการแชร์ความรู้เรื่องต่างๆ เหล่านี้ให้ ท่านหรืออื่น โพสที่หมวดนี้ได้

Moderator: mindphp, ผู้ดูแลกระดาน

ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41241
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

TIP การใช้งาน pm2 รันโปรแกรม Node.JS จัดการ Logs ไฟล์ขนาดใหญ่ที่เกิดขึ้น

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

TIP การใช้งาน pm2 รันโปรแกรม Node.JS จัดการ Logs ไฟล์ขนาดใหญ่ที่เกิดขึ้น
จาก บทความก่อนเรื่อง pm2 ที่ใช้ pm2 ในการแก้ไขปัญหา
viewtopic.php?t=92376

หลักจาก รัน node ผ่าน pm2 ไปสักระยะจะมีการใช้งานพื้นที่สำหรับเก็บ logs ค่อนข้างมาก ทำให้เจอปัญหาพื้นที่เต็ม
viewtopic.php?p=307947#p307947
ตามกระทู้นี้ได้แนะนำวิธีในการแก้ไขปัญหาไว้แล้ว แต่ถ้าแก้วิธีนี้ ยังต้องทำเองแมนนวล ซึ่งจะทำให้เสียเวลา

กระทู้นี้เลย แนะนำต่อวิธีจัดการ logs ใน pm2 โดยใช้
pm2-logrotate
ก่อนอืนต้องติดตั้ง กันก่อนด้วยคำสั่ง (ตัวอย่างคำสั่งใช้บน Linux Ubuntu นะครับ)

โค้ด: เลือกทั้งหมด

pm2 install pm2-logrotate
รอจนเสร็จจะได้ข้อความตอบกลับมาเรื่อยๆ ประมาณนี้
[PM2][Module] Installing NPM pm2-logrotate module
[PM2][Module] Calling [NPM] to install pm2-logrotate ...
+ [email protected]
added 213 packages from 236 contributors and audited 214 packages in 22.79s

18 packages are looking for funding
run `npm fund` for details

found 0 vulnerabilities

[PM2][Module] Module downloaded
[PM2][WARN] Applications pm2-logrotate not running, starting...
[PM2] App [pm2-logrotate] launched (1 instances)
Module: pm2-logrotate
$ pm2 set pm2-logrotate:max_size 10M
$ pm2 set pm2-logrotate:retain 30
$ pm2 set pm2-logrotate:compress false
$ pm2 set pm2-logrotate:dateFormat YYYY-MM-DD_HH-mm-ss
$ pm2 set pm2-logrotate:workerInterval 30
$ pm2 set pm2-logrotate:rotateInterval 0 0 * * *
$ pm2 set pm2-logrotate:rotateModule true
Modules configuration. Copy/Paste line to edit values.
[PM2][Module] Module successfully installed and launched
[PM2][Module] Checkout module options: `$ pm2 conf

และจะมีตารางให้เราเห็น app ของ node ที่รันอยู่ทั้งหมดขึ้นมาให้เราดู
และต่อท้ายด้วย Module pm2-logrotate และ Memory ที่ใช้ ตัวอย่างผม ใช้ ram ไป 612.0kb เครื่องใครมีแรมน้อยประเมินการใช้งานก่อนนะ

ต่อมามากำหนดรูปแบบของ Log กัน
ตัวอย่างผม set แค่นี้ก็พอ

โค้ด: เลือกทั้งหมด

 pm2 set pm2-logrotate:max_size 50M
 pm2 set pm2-logrotate:retain 10
 pm2 set pm2-logrotate:compress true
สำหรับเก็บ 10 ไฟล์ ไม่เกินไฟล์ละ 50M แบบบีบอัด จะใช้พื้นที่รวมสำหรับเก็บ logs ประมาณ 500MB

เท่านี้ก็หายห่วง หมดปัญหาพื้นที่เต็มจาก logs ของ pm2 แล้ว

System Admin Linux สามารถศึกษาเรื่องอื่นๆ เพิ่มเติมได้ที่นี่
viewforum.php?f=27
หรือต้องการศึกษาการบทความเกี่ยวกับ Server สำหรับ Hosting ได้ที่นี่
https://www.mindphp.com/บทความ/66-server-hosting.html
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 70