วิธีการติดตั้ง 'บน' เพื่อตรวจสอบกิจกรรมการบันทึกของกระบวนการระบบ Linux
Atop คือเครื่องมือตรวจสอบประสิทธิภาพแบบเต็มหน้าจอที่สามารถรายงานกิจกรรมของกระบวนการทั้งหมด แม้แต่กระบวนการที่เสร็จสมบูรณ์แล้วก็ตาม Atop ยังช่วยให้คุณเก็บบันทึกกิจกรรมของระบบในแต่ละวันได้ วิธีนี้สามารถใช้เพื่อวัตถุประสงค์ที่แตกต่างกัน รวมถึงการวิเคราะห์ การแก้ไขจุดบกพร่อง ระบุสาเหตุของการโอเวอร์โหลดของระบบ และอื่นๆ
คุณสมบัติเด่น
- ตรวจสอบการใช้ทรัพยากรโดยรวมตามกระบวนการทั้งหมด
- ตรวจสอบว่ามีการใช้ทรัพยากรที่มีอยู่ไปมากน้อยเพียงใด
- การบันทึกการใช้ทรัพยากร
- ตรวจสอบการใช้ทรัพยากรตามแต่ละเธรด
- ตรวจสอบกิจกรรมกระบวนการต่อผู้ใช้หรือต่อโปรแกรม
- ตรวจสอบกิจกรรมเครือข่ายต่อกระบวนการ
Atop เวอร์ชันล่าสุดคือ 2.1 และมีคุณสมบัติดังต่อไปนี้
- กลไกการบันทึกใหม่
- ธงคีย์ใหม่
- ฟิลด์ใหม่ (ตัวนับ)
- แก้ไขข้อผิดพลาด
- สีที่กำหนดค่าได้
การติดตั้งเครื่องมือตรวจสอบ 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