ค้นหาเว็บไซต์

วิธีการติดตั้ง 'บน' เพื่อตรวจสอบกิจกรรมการบันทึกของกระบวนการระบบ Linux


Atop คือเครื่องมือตรวจสอบประสิทธิภาพแบบเต็มหน้าจอที่สามารถรายงานกิจกรรมของกระบวนการทั้งหมด แม้แต่กระบวนการที่เสร็จสมบูรณ์แล้วก็ตาม Atop ยังช่วยให้คุณเก็บบันทึกกิจกรรมของระบบในแต่ละวันได้ วิธีนี้สามารถใช้เพื่อวัตถุประสงค์ที่แตกต่างกัน รวมถึงการวิเคราะห์ การแก้ไขจุดบกพร่อง ระบุสาเหตุของการโอเวอร์โหลดของระบบ และอื่นๆ

คุณสมบัติเด่น

  1. ตรวจสอบการใช้ทรัพยากรโดยรวมตามกระบวนการทั้งหมด
  2. ตรวจสอบว่ามีการใช้ทรัพยากรที่มีอยู่ไปมากน้อยเพียงใด
  3. การบันทึกการใช้ทรัพยากร
  4. ตรวจสอบการใช้ทรัพยากรตามแต่ละเธรด
  5. ตรวจสอบกิจกรรมกระบวนการต่อผู้ใช้หรือต่อโปรแกรม
  6. ตรวจสอบกิจกรรมเครือข่ายต่อกระบวนการ

Atop เวอร์ชันล่าสุดคือ 2.1 และมีคุณสมบัติดังต่อไปนี้

  1. กลไกการบันทึกใหม่
  2. ธงคีย์ใหม่
  3. ฟิลด์ใหม่ (ตัวนับ)
  4. แก้ไขข้อผิดพลาด
  5. สีที่กำหนดค่าได้

การติดตั้งเครื่องมือตรวจสอบ Atop บน Linux

1. ในบทความนี้ ฉันจะแสดงวิธีการติดตั้งและกำหนดค่าบนระบบ Linux เช่น RHEL/CentOS/Fedora และอนุพันธ์ที่ใช้ Debian/Ubuntu เพื่อให้คุณสามารถตรวจสอบกระบวนการระบบของคุณได้อย่างง่ายดาย

บน RHEL/CentOS/Fedora

ขั้นแรก คุณจะต้องเปิดใช้งานพื้นที่เก็บข้อมูล epel ภายใต้ระบบ RHEL/CentOS/ เพื่อติดตั้งเครื่องมือตรวจสอบบนยอด

หลังจากที่คุณเปิดใช้งานพื้นที่เก็บข้อมูล epel แล้ว คุณสามารถใช้ตัวจัดการแพ็คเกจ yum เพื่อติดตั้งบนแพ็คเกจตามที่แสดงด้านล่าง

yum install atop

หรือคุณสามารถดาวน์โหลดแพ็คเกจ direct atop rpm ได้โดยใช้คำสั่ง wget ต่อไปนี้ และดำเนินการติดตั้ง atop ต่อด้วยคำสั่งต่อไปนี้

------------------ For 32-bit Systems ------------------
wget http://www.atoptool.nl/download/atop-2.1-1.i586.rpm
rpm -ivh atop-2.1-1.i586.rpm

------------------ For 64-bit Systems ------------------
wget http://www.atoptool.nl/download/atop-2.1-1.x86_64.rpm
rpm -ivh atop-2.1-1.x86_64.rpm 

บนเดเบียน/อูบุนตู

ภายใต้ระบบที่ใช้ Debian สามารถติดตั้ง atop ได้จากที่เก็บเริ่มต้นโดยใช้คำสั่ง apt-get

sudo apt-get install atop

2. หลังจากติดตั้ง Atop ตรวจสอบให้แน่ใจว่า Atop จะเริ่มทำงานเมื่อระบบเริ่มทำงาน รันคำสั่งต่อไปนี้:

------------------ Under RedHat based systems ------------------
chkconfig --add atop
chkconfig atop on --level 235

sudo update-rc.d atop defaults             [Under Debian based systems]

3. ตามค่าเริ่มต้น บนยอด จะบันทึกกิจกรรมทั้งหมดทุกๆ 600 วินาที เนื่องจากอาจไม่มีประโยชน์มากนัก ฉันจะเปลี่ยนการกำหนดค่าของ atop ดังนั้นกิจกรรมทั้งหมดจะถูกบันทึกในช่วงเวลา 60 วินาที เพื่อจุดประสงค์นี้ให้รันคำสั่งต่อไปนี้:

sed 's/600/60/' /etc/atop/atop.daily -i                [Under RedHat based systems]
sudo sed 's/600/60/' /etc/default/atop -i              [Under Debian based systems]

เมื่อคุณได้ติดตั้งและกำหนดค่า atop แล้ว คำถามเชิงตรรกะถัดไปคือ “ฉันจะใช้งานได้อย่างไร ” จริงๆ แล้วมีหลายวิธีดังนี้:

4. หากคุณเพิ่งรัน บนยอด ในเทอร์มินัล คุณจะมีอินเทอร์เฟซแบบ top ซึ่งจะอัปเดตทุกๆ 10 วินาที

atop

คุณควรเห็นหน้าจอที่คล้ายกับหน้าจอนี้:

คุณสามารถใช้คีย์ที่แตกต่างกันภายใน บนยอด เพื่อจัดเรียงข้อมูลตามเกณฑ์ที่แตกต่างกัน นี่คือตัวอย่างบางส่วน:

5. ข้อมูลการจัดกำหนดการ – ปุ่ม “s ” – แสดงข้อมูลการจัดกำหนดการสำหรับเธรดหลักของแต่ละกระบวนการ ระบุด้วยว่ามีกี่กระบวนการที่อยู่ในสถานะ “กำลังทำงานอยู่ ”:

atop -s

6. การใช้หน่วยความจำ – ปุ่ม “m ” – แสดงข้อมูลที่เกี่ยวข้องกับหน่วยความจำเกี่ยวกับกระบวนการที่ทำงานอยู่ทั้งหมด คอลัมน์ VSIZE ระบุหน่วยความจำเสมือนทั้งหมดและ RSIZE แสดงขนาดที่อยู่อาศัยที่ใช้ต่อกระบวนการ

VGROW และ RGROW บ่งบอกถึงการเติบโตในช่วงเวลาสุดท้าย คอลัมน์ MEM ระบุการใช้งานหน่วยความจำภายในตามกระบวนการ

atop -m

7. แสดงการใช้งานดิสก์ – ปุ่ม “d ” – แสดงกิจกรรมของดิสก์ในระดับระบบ (LVM และ DSK คอลัมน์) กิจกรรมของดิสก์จะแสดงเป็นจำนวนข้อมูลที่ถ่ายโอนโดยการอ่าน/เขียน (คอลัมน์ RDDSK/WRDSK)

atop -d

8. แสดงข้อมูลตัวแปร – ปุ่ม “v ” – ตัวเลือกนี้แสดงข้อมูลเฉพาะเจาะจงมากขึ้นเกี่ยวกับกระบวนการที่ทำงานอยู่ เช่น uid, pid, gid, การใช้งาน cpu ฯลฯ:

atop -v

9. แสดงคำสั่งของกระบวนการ – คีย์ “c ”:

atop -c

10. สะสมต่อโปรแกรม – คีย์ “p ” – ข้อมูลที่แสดงในหน้าต่างนี้จะถูกสะสมต่อโปรแกรม คอลัมน์ขวาสุดจะแสดงโปรแกรมที่กำลังใช้งานอยู่ (ระหว่างช่วงเวลา) และคอลัมน์ซ้ายสุดแสดงจำนวนกระบวนการที่โปรแกรมเหล่านั้นได้วางไข่

atop -p

11. สะสมต่อผู้ใช้ – คีย์ “u ” – หน้าจอนี้จะแสดงผู้ใช้คนใดที่ใช้งานอยู่ในช่วงเวลาสุดท้าย และระบุจำนวนกระบวนการที่ผู้ใช้แต่ละคนรัน/รัน

atop -u

12. การใช้งานเครือข่าย – คีย์ “n ” (ต้องใช้โมดูลเคอร์เนล netatop) แสดงกิจกรรมเครือข่ายต่อกระบวนการ

หากต้องการติดตั้งและใช้งานโมดูลเคอร์เนล netatop คุณต้องมีแพ็คเกจการพึ่งพาต่อไปนี้ติดตั้งอยู่บนระบบของคุณจากพื้นที่เก็บข้อมูลของผู้จัดจำหน่าย

yum install kernel-devel zlib-devel                [Under RedHat based systems]
sudo apt-get install zlib1g-dev                    [Under Debian based systems] 

ถัดไปให้ดาวน์โหลด tarball netatop และสร้างโมดูลและ daemon

wget http://www.atoptool.nl/download/netatop-0.3.tar.gz
tar -xvf netatop-0.3.tar.gz
cd netatop-0.3

ไปที่ไดเร็กทอรี 'netatop-0.3' และเรียกใช้คำสั่งต่อไปนี้เพื่อติดตั้งและสร้างโมดูล

make
make install

หลังจากติดตั้งโมดูล netatop เรียบร้อยแล้ว ให้โหลดโมดูลและเริ่มต้น daemon

service netatop start
OR
sudo service netatop start

หากคุณต้องการโหลดโมดูลโดยอัตโนมัติหลังจากการบูต ให้รันคำสั่งใดคำสั่งหนึ่งต่อไปนี้ ขึ้นอยู่กับการกระจาย

chkconfig --add netatop                [Under RedHat based systems]
sudo update-rc.d netatop defaults      [Under Debian based systems] 

ตอนนี้ตรวจสอบการใช้งานเครือข่ายโดยใช้ปุ่ม “n ”

atop -n

13. ไดเร็กทอรีที่บนยอดเก็บไฟล์ประวัติไว้

/var/log/atop/atop_YYYYMMDD

โดยที่ YYYY คือปี MM คือเดือนและ DD วันปัจจุบันของเดือน ตัวอย่างเช่น:

atop_20150423

ไฟล์ทั้งหมดที่สร้างโดย atop เป็นไฟล์ไบนารี ไม่ใช่ไฟล์บันทึกหรือข้อความและมีเพียงบนยอดเท่านั้นที่สามารถอ่านได้ อย่างไรก็ตาม โปรดทราบว่า Logrotate สามารถอ่านและหมุนไฟล์เหล่านั้นได้

สมมติว่าคุณต้องการดูบันทึกของวันนี้โดยเริ่มตั้งแต่ 05:05 เวลาเซิร์ฟเวอร์ เพียงเรียกใช้คำสั่งต่อไปนี้

atop -r -b 05:05 -l 1

ตัวเลือก ด้านบน มีค่อนข้างมาก และคุณอาจต้องการดูเมนูช่วยเหลือ เพื่อจุดประสงค์ดังกล่าวในหน้าต่าง atop เพียงใช้อักขระ “? ” เพื่อดูรายการอาร์กิวเมนต์ที่ atop สามารถใช้ได้ นี่คือรายการตัวเลือกที่ใช้บ่อยที่สุด:

ฉันหวังว่าคุณจะพบว่าบทความของฉันมีประโยชน์และช่วยคุณจำกัดหรือป้องกันปัญหาเกี่ยวกับระบบ Linux ของคุณ ในกรณีที่คุณมีคำถามหรือต้องการรับคำชี้แจงเกี่ยวกับการใช้งาน atop โปรดแสดงความคิดเห็นในส่วนความคิดเห็นด้านล่าง

อ่านเพิ่มเติม: 20 เครื่องมือบรรทัดคำสั่งเพื่อตรวจสอบประสิทธิภาพของ Linux