วิธีการทำ Rotate ไฟล์ Log ของ Asterisk

Asterisk Opensource IP Pbx

วิธีการทำ Rotate ไฟล์ Log ของ Asterisk

โพสต์โดย nuiz » 28 ม.ค. 2011 09:28

เวลา Asterisk ทำงานก็จะมีข้อความปรากฏขึ้นบนหน้าคอนโซลของมันนะครับ เราเห็นข้อความเหล่านี้โดยการพิมพ์คำสั่ง asterisk -r จากพร้อมท์ของ Linux

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


ข้อความที่เราเห็นมันยังถูกเก็บไว้ในไฟล์ log ของ Asterisk ด้วยนะครับ ซึ่งอยู่ที่โฟลเดอร์ /var/log/asterisk ไฟล์นี้อาจจะชื่อ messages หรือไม่ก็ full อยู่ที่เวอร์ชั่นของ Asterisk อ่ะครับ

นอกจากไฟล์ messages/full นี้แล้วก็ยังมีไฟล์

dateformat ไม่รู้ว่าเอาไว้เก็บอะไร
queue_log ไว้เก็บ log ที่เกิดกับ queue
event_log ไม่รู้เอาไว้เก็บอะไร

การทำ Log Rotate เป็นการเก็บ Log เก่าๆไว้เป็นไฟล์ต่างหาก ซึ่งเราอาจจะลบไฟล์ Log เก่าๆทิ้งไปเลยก็ได้จะได้ทำให้ฮาร์ดดิสก์ว่างขึ้น เราทำ Log Rotate ได้ 2 วิธีนะครับ คือ

1. ใช้คำสั่ง logger rotate จากพร้อมท์ของ Asterisk

โค้ด: เลือกทั้งหมด
callcenter*CLI> logger rotate
  == Parsing '/etc/asterisk/logger.conf': Found
Asterisk Event Logger restarted
Asterisk Queue Logger restarted


ลองดูใน /var/log/asterisk ก็จะเห็นไฟล์ full.0 หรือ message.0 ไฟล์ dataformat.0, queue-log.0, event_log.0 ถ้าไม่อยากเก็บไว้จะลบทิ้งก็ได้นะครับ

2. ใช้คำสั่ง log rotate จากพร้อมท์ของ Linux

โค้ด: เลือกทั้งหมด
# asterisk -rx "logger rotate"


3. ใช้บริการ Log Rotate Service บน Linux

โค้ด: เลือกทั้งหมด
vi /etc/logrotate.d/asterisk

แล้วใส่ข้อความด้านล่างนี้ลงไปครับ (ไม่ได้คิดเองครับ ก๊อบมา เปลี่ยนชื่อไฟล์ full เป็น messages ถ้าจำเป็น และเปลี่ยน asterisk asterisk เป็นยูสเซอร์ตามที่ใช้รัน Asterisk ในเครื่องนะครับ)
โค้ด: เลือกทั้งหมด
/var/log/asterisk/full /var/log/asterisk/*log {
   missingok
   rotate 5
   daily
   size = 5M
   create 0640 asterisk asterisk
   postrotate
       /usr/sbin/asterisk -rx 'logger reload' > /dev/null 2> /dev/null
   endscript
}


เสร็จแล้วลองรัน logrotate ดูครับ จากพร้อมท์ Linux

โค้ด: เลือกทั้งหมด
logrotate /etc/logrotate.d/asterisk


รันทีเดียวพอนะครับ ดูว่าเวอร์คไม่เวอร์ค ถ้าไฟล์ full หรือ messages ยังเล็กๆอยู่ก็จะไม่มีผลอะไร แล้วก็มาเช็คไฟล์ใน /var/log/asterisk

ปล. เดิมผมไม่รู้ว่ามีคำสั่ง logger rotate อยู่ใน Asterisk ด้วย เวลาผมจะลบ Log File ผมต้อง Stop Asterisk ก่อน แล้วลบไฟล์ แล้ว Start Asterisk ใหม่ ตอนนี้ก็ไม่ต้องทำอย่างนั้นอีกแล้วครับ
** หากมีปัญหากับอุปกรณ์ที่ซื้อมาเองหรือบริการที่ทำขึ้นมาเอง ให้โพสต์ถามในเว็บบอร์ดนี้นะครับ **
** งานเร่งด่วนติดต่อว่าจ้างที่เบอร์ 08-5161-9439 อีเมล์ iamaladin@gmail.com ไลน์ NuizVoip ครับ **
nuiz
Diamond Member
 
โพสต์: 6995
ลงทะเบียนเมื่อ: 24 มี.ค. 2010 09:33

ย้อนกลับไปยัง Asterisk SIP Server

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

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

cron