ผู้บริหารจัดการระบบปฏิบัติการลีนุกซ์มีภาระหน้าที่ที่จะต้องดูแลระบบต่างๆ
ภายในเครือข่ายให้มีความพร้อมอยู่เสมอที่จะทำหน้าที่ต่างๆ ที่ได้วางระบบไว้
หลังจากที่ระบบและแอปพลิเคชั่นทั้งหลายได้ทำงานเป็นไปตามที่ต้องการแล้ว
ก็ไม่ได้หมายความว่า ภารกิจของผู้บริหารระบบจะหมดลง
หากแต่ยังคงต้องเฝ้าตรวจตราความเปลี่ยนแปลงต่างๆ
ที่เกิดขึ้นในระบบต่อไปอีกอย่างต่อเนื่อง เพื่อให้ระบบมีสภาพที่ดีอยู่เสมอ
จุดประสงค์ของการเฝ้ามองระบบ
การเฝ้ามองระบบ (System Watch) มีจุดประสงค์เพื่อ
- เพื่อทราบสถานะปัจจุบันของระบบปฏิบัติการและสภาพแวดล้อมของระบบ
- เพื่อทำการสังเกตและค้นหาความผิดปรกติที่เกิดขึ้นโดยเปรียบเทียบสภาพก่อนและหลังการกระทำอย่างใดอย่างหนึ่งต่อระบบ
- เพื่อปรับปรุงหรือแก้ไขความบกพร่องทั้งในด้านคุณลักษณะ ประสิทธิภาพ และความปลอดภัยให้แก่ระบบ
เครื่องมือเฝ้ามองระบบ
ในการปฏิบัติงานด้านการเฝ้ามองระบบ (System Watch) เช่นนี้
ผู้บริหารระบบจำเป็นต้องอาศัยเครื่องมือต่างๆ
เพื่อการเข้าถึงส่วนประกอบภายในระบบ มีการรายงานสภาพปัจจุบันของระบบ
ช่วยให้ได้รับข้อมูลที่อ่านค่าและวิเคราะห์ได้ง่าย
ซึ่งเครื่องมือที่ช่วยงานด้านนี้ อาจแบ่งออกได้ 2 กลุ่มใหญ่ๆ คือ
- เครื่องมือที่เป็นคำสั่งพื้นฐานของระบบปฏิบัติการ
ซึ่งมีอยู่เป็นจำนวนมาก
บางคำสั่งก็มีหน้าที่เฉพาะโดยตรงเกี่ยวกับการเฝ้ามองระบบ
แต่บางคำสั่งไม่ได้มีหน้าที่ด้านนี้โดยตรง
แต่จะเป็นการประยุกต์หรือใช้ในทางอ้อมแล้วจึงให้ผลที่เป็นประโยชน์ต่อการ
เฝ้ามองระบบได้เช่นกัน
- เครื่องมือที่เป็นแอปพลิเคชั่นเพิ่มเติมจากภายนอก
ซอฟต์แวร์ในกลุ่มนี้จะต้องจัดหามาติดตั้งเพิ่มเติมเอง
มีขนาดและคุณสมบัติแตกต่างกันออกไป
ส่วนใหญ่จึงมีคุณสมบัติที่ตอบสนองความต้องการได้ดีกว่าเครื่องมือในกลุ่มแรก
แต่ก็จะต้องแลกด้วยความยุ่งยากในการติดตั้งก่อนที่จะใช้งานได้
และยังต้องศึกษาวิธีการใช้งาน ภายใต้เงื่อนไขที่ซอฟต์แวร์นั้นๆ
กำหนดได้อีกด้วย
ดังนั้นจะเห็นว่า ลำพังเฉพาะคำสั่งพื้นฐานทั่วไปในระบบปฏิบัติการ
ก็สามารถช่วยงานด้านการเฝ้ามองระบบได้แล้ว ทักษะในการใช้คำสั่งต่างๆ
ของผู้ปฏิบัติงานจึงมีความสำคัญ
และจำเป็นต้องศึกษาเพื่อสามารถนำมาใช้ได้ในสภาพการทำงานปรกติที่ต้องรู้
สถานะของระบบอยู่เสมอหรือทันทีทันใดที่ต้องการ
การแบ่งระดับการเฝ้ามองระบบ
ระดับของสถานะของระบบ เป็นอีกสิ่งหนึ่งที่จะช่วยให้เราเข้าใจการเฝ้ามองระบบได้ดียิ่งขึ้น โดยเราอาจบ้างระบบออกเป็น 3 ระดับ ได้แก่
- ระดับเคอร์เนลและโปรเซส
ซึ่งถือว่าเป็นระดับที่มองลึกลงไปในการทำงานภายในแกนกลางของระบบปฏิบัติการ
ที่มีความเปลี่ยนแปลงต่างๆ เกิดขึ้นในโปรเซสเซอร์และหน่วยความจำ
- ระดับยูสเซอร์ สภาพแวดล้อมของระบบ และแอปพลิเคชั่นต่างๆ
ส่วนนี้จะมีความหลากหลายของส่วนประกอบค่อนข้างมาก
เกี่ยวข้องกับการเข้ามาใช้งานของยูสเซอร์(รวมทั้งแอปพลิเคชั่นต่างๆ
ที่ทำงานโดยอาศัยชื่อบัญชียูสเซอร์)
การจัดการเนื้อที่ดิสก์และระบบจัดเก็บไฟล์
และขยายขอบเขตไปถึงการทำงานของซอฟต์แวร์ประยุกต์ต่างๆ ในระบบอีกด้วย
- ระดับโปรโตคอล และระบบเครือข่าย
ถือว่าเป็นส่วนที่ผู้ดูแลระบบลีนุกซ์เซิร์ฟเวอร์มักให้ความสำคัญค่อนข้างมาก
กัน
เพราะการทำงานภายในระบบปฏิบัติการลีนุกซ์จะอาศัยการไหลเวียนของโปรโตคอ
ลต่างๆ
ในการเชื่อมโยงสื่อสารการทำงานระหว่างกันนอกเหนือจากการสื่อสารให้บริการภาย
นอกในฐานะไคลเอ้นต์หรือเซิร์ฟเวอร์ที่เราทราบกันดีอยู่แล้ว
ดังนั้นการเฝ้ามองความเคลื่อนไหวเกี่ยวกับระบบเครือข่ายจึงเป็นเรื่องสำคัญ
อย่างยิ่ง
คำสั่ง vmstat และ uptime
ความเคลื่อนไหวและเปลี่ยนแปลงระดับเคอร์เนลและโปรเซส
จะเป็นการสังเกตการทำงานภายในระบบปฏิบัติการที่เกี่ยวข้องกับการใช้ทรัพยากร
ของระบบปฏิบัติการ เช่น โปรเซสเซอร์ หน่วยความจำประเภทต่างๆ
ระบบอินพุตและเอาต์พุต เป็นต้น ข้อมูลต่างๆ
ที่ได้จากการเฝ้ามองระบบส่วนนี้มักถูกนำไปใช้เพื่อการปรับแต่งค่าให้เหมาะสม
กับความต้องการ (System Optimization)
หรือการทดสอบความต้องการของระบบสำหรับการใช้งานซอฟต์แวร์แอปพลิเคชั่นต่างๆ
คำสั่งพื้นฐานที่ทำหน้าที่นี้โดยเฉพาะคือ คำสั่ง vmstat ซึ่งคำว่า vm
มาจากคำว่า Virtual Machine หมายถึงเคอร์เนลของระบบนั่นเอง vmstat
จึงเป็นการรายงานสถานะ (status) ของเคอร์เนลในทุกๆ ด้าน
โดยเราสามารถใช้คำสั่งนี้ประกอบกับอ๊อปชั่นของคำสั่งได้อย่างหลากหลาย
อ๊อปชั่นที่ใช้เป็นประจำได้แก่
-a
|
แสดงภาพรวมทั้งหมดในบรรทัดเดียว
|
-a 10
|
แสดงผลต่อเนื่องทุกๆ 10 วินาที
|
-a -n 10
|
จะไม่แสดง header ทุกครั้งที่แสดงข้อมูล
|
-d
|
แสดงสถานะการอ่านเขียนดิสก์
|
-s
|
แสดงสถานะของ vm table
|

รูปที่ 1 ตัวอย่างผลลัพธ์คำสั่ง vmstat -d
ในการดูว่าเซิร์ฟเวอร์ของเรามีภาระงานมากหรือน้อย ถ้าคำสั่ง vmstat
มีข้อมูลที่ละเอียดเกินไป สามารถใช้คำสั่ง uptime ทดแทนได้โดยจะแสดงเป็นค่า
load average ให้ทราบโดยเป็นตัวเลข 3 ชุด
แทนค่าเฉลี่ยของภาระของเซิร์ฟเวอร์ ย้อนหลัง 1 นาที 5 นาที และ 15
นาทีตามลำดับ
คำสั่ง lsof
คำสั่ง lsof ย่อมาจาก list opened files
เป็นการแสดงรายชื่อโปรเซสที่กำลังเปิดไฟล์อยู่
มีประโยชน์มากในด้านการตรวจว่าโปรแกรมต่างๆ
ที่กำลังทำงานอยู่เปิดไฟล์อะไรขึ้นมาบ้าง เป็นไฟล์ข้อมูล คำสั่ง หรือเป็น
Unix Domain Socket
ซึ่งมักจะมุ่งเน้นไปที่จุดประสงค์ในด้านความปลอดภัยเป็นสำคัญ เช่น
ต้องการทราบว่าขณะนี้มีโปรแกรม Trojan ที่กำลังเปิดโปรแกรม perl
อยู่หรือไม่ หรืออาจจะต้องการทราบว่า Socket
แปลกปลอมที่ค้นพบกำลังถูกใช้งานโดยโปรเซสใดอยู่
การใช้งานคำสั่งนี้ทำได้โดยระบุชื่อไฟล์โปรแกรมหรือคำสั่งที่สนใจลงไป จะแสดงผลดังรูปที่ 2

รูปที่ 2 การใช้คำสั่ง lsof แสดงความสัมพันธ์ระหว่างโปรแกรมกับโปรเซส
ในทางกลับกัน หากเรามีโปรเซสที่เราสนใจ หรือค้นพบโปรเซสแปลกปลอมในระบบ
ก็สามารถสืบย้อนกลับไปได้ว่าโปรเซสนั้นกำลังเปิดไฟล์ใดอยู่บ้าง
โดยใช้คำสั่ง lsof -p xxxxx โดยที่ xxxxx เป็นหมายเลขโปรเซส (Process ID :
PID) ของโปรเซสที่เราสนใจ
ก็จะได้ผลลัพธ์เป็นรายชื่อไฟล์ที่กำลังถูกเปิดอยู่โดยโปรเซสนั้นๆ
คำสั่ง ps และ top
สำหรับการตรวจสอบดูว่าสถานะของโปรเซสทั้งหมดที่มีอยู่ในระบบ
เราสามารถใช้คำสั่ง ps และ pstree ได้ ซึ่งคำสั่ง ps (Process Status)
จะรายงานในลักษณะดังรูปที่ 3 เราจะเห็นความสัมพันธ์ของ โปรเซสทั้งหลายได้อย่างชัดเจน โดยสาระสำคัญที่สุดคงเป็นตัวเลขซ้ายมือสุด ซึ่งเป็นหมายเลข โปรเซส (PID)

รูปที่ 3 ตัวอย่างผลลัพธ์คำสั่ง ps aF
อย่างไรก็ตามคำสั่ง ps
จะไม่สามารถแสดงสถานะเกี่ยวกับโปรเซสในระบบได้อย่างต่อเนื่อง
ซึ่งอันที่จริงแล้วการทำงานของซอฟต์แวร์ต่างๆ
ภายในระบบปฏิบัติการย่อมมีความเคลื่อนไหวเปลี่ยนแปลงอยู่ตลอดเวลา
ผลลัพธ์ของคำสั่ง ps จึงไม่เหมาะกับการเฝ้ามองระบบนัก จึงควรใช้คำสั่ง top
จะเหมาะสม มากกว่า

รูปที่ 4 การมอนิเตอร์ภาพรวมของระบบด้วยคำสั่ง top
จากรูปที่ 4 จะเห็นว่าคำสั่ง top
จะเป็นโปรแกรมคำสั่งที่เมื่อรันแล้วจะแสดงหน้าจอรายงานค้างอยู่และมีการ
เปลี่ยนแปลงตลอดเวลา ช่วยให้เฝ้ามองระบบได้อย่างต่อเนื่อง
นอกจากจะแสดงรายชื่อโปรเซสแล้ว เรายังสามารถจัดเรียงได้ตามเงื่อนไข เช่น
เรียงตาม CPU load (กด Shift+P) หรือเรียงตามการใช้หน่วยความจำ (กด
Shift+M)
นอกจากนี้ยังสามารถบอกสถานะอื่นๆ ได้อีกในส่วนบนของจอภาพ เช่น
บรรทัดแรกจะแสดงผลลัพธ์เหมือนผลลัพธ์คำสั่ง uptime บรรทัดที่สองแสดงสถานะ
(STATE) ของโปรเซส บรรทัดที่ 3 แสดงสถานะของโปรเซสเซอร์ ส่วนบรรทัดที่ 4
และ 5 แสดงเกี่ยวกับหน่วยความจำ
ทั้งนี้เนื่องจากคำสั่ง top เป็นคำสั่งพื้นฐานที่มาพร้อมกับระบบ
การใช้งานอาจจะไม่สะดวก ไม่ถูกใจผู้ใช้งานนัก เช่น ไม่สามารถเลื่อน
(Scroll) หน้าจอเพื่อลงไปดูโปรเซสทั้งหมดได้ การจัดหน้าจอก็ทำได้ไม่ง่ายนัก
ดังนั้นจึงมีโปรแกรม htop เกิดขึ้น
โดยผู้ใช้จะต้องดาวน์โหลดมาติดตั้งเพิ่มเติมเอง (กรณี Debian ใช้ aptitude
ได้ทันที ส่วนผู้ใช้ Fedora สามารถใช้ yum ติดตั้งได้เช่นกัน)
โปรแกรม htop ช่วยลดข้อจำกัดของคำสั่ง top ได้มากมาย เช่น
ยินยอมให้ผู้ใช้จัดวางตำแหน่งแสดงข้อมูลได้เอง
สามารถเลื่อนแถบสว่างไปยังโปรเซสที่ต้องการแล้วส่ง signal ไปได้โดยตรง
สามารถเลือกสีการแสดงผลได้หลายรูปแบบ เป็นต้น หน้าตาของ htop แสดงดังรูปที่
5

รูปที่ 5 โปรแกรม htop ที่มีคุณสมบัติเหนือกว่าคำสั่ง top
คำสั่งที่กี่ยวกับยูสเซอร์
สำหรับการทำงานในระดับยูสเซอร์
เราควรสามารถตรวจสอบและเฝ้ามองการกระทำของยูสเซอร์ได้ว่าเข้าออกเมื่อไหร่
มียูสเซอร์ใดกำลังใช้งานระบบอยู่บ้าง และมีการใช้ทรัพยากรอะไรอยู่บ้าง
เราสามารถใช้คำสั่ง fuser เพื่อการตรวจสอบว่าไฟล์หรือไดเร็คทอรี่หรือ
mount point ที่ระบุ กำลังถูกใช้งานอยู่หรือไม่โดยใครบ้าง ดังรูปที่ 6
แสดงให้เห็นว่า Socket ชื่อ fs7100 กำลังถูกใช้งานโดย root ผ่านโปรแกรมชื่อ
xfs (X Font Server) ส่วนไดเร็คทอรี่ /www กำลังถูก mount โดย root
อยู่จากระดับ kernel
ในทางปฏิบัติคำสั่ง fuser นี้จึงช่วยให้เราแก้ไขปัญหาการ Unmount
ไม่สำเร็จหรือ Device is busy
ได้เพราะจะช่วยให้เราทราบว่าคำสั่งใดโดยโปรเซสใดที่กำลังใช้งาน mount point
นั้นอยู่และเป็นสาเหตุของปัญหา

รูปที่ 6 การใช้คำสั่ง fuser แสดงการเปิดไฟล์ของยูสเซอร์
สำหรับการตรวจสอบว่า ณ เวลานี้มียูสเซอร์ใดกำลังอยู่ในระบบบ้าง
สามารถตรวจสอบได้จากหลายคำสั่ง ได้แก่ คำสั่ง w คำสั่ง who และคำสั่ง last
โดยที่คำสั่ง w เป็นการตอบคำถามว่ามีใคร (who) อยู่ในระบบบ้าง
อยู่ที่เทอร์มินอลใดและมาจากที่ไหน (where)
ล๊อกอินเข้ามาตั้งแต่เมื่อไหร่และนานเท่าไรแล้ว (when / how long)
และขณะนี้กำลังทำอะไรอยู่ (what)

รูปที่ 7 เปรียบเทียบผลลัพธ์คำสั่ง w และ who
คำสั่ง who จะรายงานรายชื่อยูสเซอร์ที่ใช้งานในขณะนั้น หากใช้คำสั่ง
who -Ha จะเห็นรายละเอียดที่มากยิ่งขึ้น รวมไปถึงการบูตระบบและ run level
ที่สลับไปมาอีกด้วย ส่วนคำสั่ง last
จะแสดงบันทึกของระบบเกี่ยวกับการเปิดปิดระบบ (boot/shutdown)
และรายชื่อยูสเซอร์ที่ล๊อกอินในขณะปัจจุบัน
รวมทั้งระยะเวลาและโฮสต์ที่ใช้งานแบบรีโมตเข้ามาอีกด้วย
การจัดเก็บข้อมูลของคำสั่ง last นี้มีที่มาจากไฟล์ /va r/log/wtmp
ซึ่งใช้ในการจัดเก็บข้อมูลการล๊อกอินย้อนหลังเอาไว้ สำหรับระบบของ Fedora
Linux จะมีกลไกในการหมุนเวียนไฟล์นี้ทุกๆ เดือน (monthly) เพราะฉะนั้น
หากมีความต้องการให้จัดเก็บนานมากขึ้นหรือน้อยลงก็สามารถปรับแต่งได้ที่ไฟล์
/etc/logrotate.conf

รูปที่ 8 ผลลัพธ์คำสั่ง last
การเฝ้ามองระดับเครือข่าย
คำสั่งพื้นฐานทั่วไปบางครั้งสามารถนำมาประยุกต์ใช้ได้เป็นอย่างดี ในการเฝ้ามองระบบในระดับ เครือ
ข่ายก็เช่นกัน เช่น
ถ้าเราต้องการรู้ว่ามีการติดต่อเข้าออกที่โฮสต์ของเรามากน้อยแค่ไหน
คำสั่งง่ายๆ เช่น iptables ก็สามารถรายงานได้แล้ว ดังรูปที่ 9
จะเห็นว่าอ๊อปชั่น -v จะทำให้แสดงจำนวน แพคเกตและไบต์ที่ไหลผ่าน chain ต่างๆ ได้ โดยเป็นปริมาณข้อมูลแบบภาพรวมนั่นเอง
ดังนั้นผู้บริหารระบบจึงสามารถประยุกต์ใช้คุณสมบัตินี้ของ iptables
เพื่อการนับปริมาณข้อมูลที่ไหลผ่านตามเงื่อนไขได้โดยสร้าง Custom Defined
Chains ขึ้นมา ประกอบกับการเขียนสคริปต์อีกเพียง เล็กน้อยก็จะได้ระบบเฝ้ามองโปรโตคอลและทิศทางการสื่อสารขึ้นใช้งานแล้ว

รูปที่ 9 การใช้คำสั่ง iptables แสดงจำนวนแพคเก็ต
คำสั่ง netstat
เป็นคำสั่งพื้นฐานด้านระบบเครือข่ายอีกคำสั่งหนึ่งที่สามารถนำมาประยุกต์ใช้
ในด้านการเฝ้ามองระบบได้ตั้งแต่การแสดงสถานะทั่วไป
จนถึงการจับตาดูความเคลื่อนไหวแบบต่อเนื่อง ตัวอย่างในรูป 10
เป็นการแสดงให้เห็นว่าพอร์ตชนิด UDP ,TCP หมายเลขใดถูกเปิดใช้งานอยู่บ้าง
(สถานะเป็น LISTEN)
และโปรเซส(โปรแกรม)ใดเป็นผู้สร้างและควบคุมพอร์ตนั้นอยู่ หากต้องการแสดง
Unix Domain Socket ที่กำลังเปิดอยู่ก็สามารถใช้อ๊อปชั่น -lnxp แทนได้
อ๊อปชั่น -rCn เป็นอีกหนึ่งวิธีใช้งานคำสั่งนี้ที่จะช่วยทำให้เห็น
Cache Routing Table จากภายในเคอร์เนลได้
ซึ่งมีผลต่อทิศทางการกำหนดเส้นทางเดินของแพคเกตจากเครือข่ายหนึ่งไปยังเครือ
ข่ายอื่นๆ ว่ามีกี่เส้นทางและเป็นเส้นทางที่มีประสิทธิภาพมากน้อยแค่ไหน
อ๊อปชั่น -s (statistic) เป็นการแสดงรายงานสรุปสถิติหรือตัวนับจำนวนแพคเกตหรือค่าต่างๆแยกตาม โปรโตคอล ช่วยให้เห็นภาพรวมของการรับส่งข้อมูลได้เป็นอย่างดี
อ๊อปชั่น -acXn ( X แทนได้ด้วยตัวอักษร t=TCP, u=UDP, x=unix
ตามชนิดโปรโตคอลที่ต้องการ)
เป็นการแสดงการติดต่อระหว่างโฮสต์ด้วยโปรโตคอลต่างๆ
ที่เกิดขึ้นในปัจจุบันแบบเวลาจริงว่ามีสถานะใดเกิดขึ้นบ้าง
โดยแสดงผลต่อเนื่องตลอดเวลา

รูปที่ 10 ตัวอย่างผลลัพธ์คำสั่ง netstat
จากการใช้งานคำสั่ง netstat อาจจะไม่สะดวก
และรูปแบบการแสดงผลไม่สวยงามเท่าที่ควร
โปรแกรมเสริมที่เป็นที่นิยมใช้ในการลักษณะนี้จึงเกิดขึ้นคือโปรแกรม IPTraf
ซึ่งมีใช้งานในลีนุกซ์แทบทุก ดิสทริบิวชั่น หมายความว่า
โปรแกรมนี้มักจะมีมาพร้อมในชุดโปรแกรมติดตั้งลีนุกซ์เลยทีเดียว ตามรูปที่
11 จะเห็นว่า เราสามารถใช้โปรแกรม IPTraf
นี้ในการมอนิเตอร์ระบบเครือข่ายโดยแยกตามชนิดของโปรโตคอลได้อย่างสวยงาม
ทำให้ง่ายต่อการอ่านผลลัพธ์ (รันโปรแกรมโดยใช้คำสั่ง iptraf -s eth0 )

รูปที่ 11 การใช้โปรแกรม iptraf แสดงพอร์ตที่เชื่อมต่ออยู่
นอกจากนี้ IPTraf
ยังสามารถแสดงสถิติและการเชื่อมต่อในเครือข่ายในลักษณะอื่นๆ ได้อีกมาก
ได้แก่ การแสดงสถิติแบ่งตามอินเทอร์เฟส
การแสดงผลการเชื่อมต่อระหว่างโฮสต์ทั้งแบบ Connection Oriented Protocols
และ Connectionless Oriented Protocols
การแสดงปริมาณข้อมูลและแบนด์วิธแยกตามประเภทโปรโตคอล

รูปที่ 12 ตัวอย่างการใช้คำสั่ง watch
บางครั้งคำสั่งพื้นฐานบางคำสั่งจะไม่สามารถแสดงผลอย่างต่อเนื่องได้
อย่างเช่นคำสั่ง arp ซึ่งใช้ในการแสดงรายชื่อโฮสต์และ MAC Address จากตาราง
ARP (ดังรูปที่ 12) และยังมีอีกหลายคำสั่งที่เป็นเช่นนี้
แต่ปัญหานี้สามารถแก้ไขได้ด้วยคำสั่ง watch
ซึ่งถูกสร้างขึ้นมาเพื่อช่วยรันคำสั่งที่ระบุอย่างต่อเนื่องทุกๆ ช่วงเวลา 2
วินาที (หรือตามที่กำหนด)
จึงทำให้เราสามารถเฝ้ามองการเปลี่ยนแปลงของผลลัพธ์คำสั่งต่างๆ
ได้อย่างต่อเนื่อง เช่น เราต้องการรันคำสั่ง arp -e ทุกๆ 2
วินาทีก็จะใช้คำสั่งว่า # watch arp -e คือ พิมพ์คำสั่ง watch
ตามด้วยบรรทัดคำสั่งที่ต้องการรันนั่นเอง
ซอฟต์แวร์ที่ช่วยเฝ้ามองระบบโดยเฉพาะ
ในระบบปฏิบัติการลีนุกซ์และยูนิกซ์แทบทุกดิสทริบิวชั่นจะมีแพคเกตซอฟต์
แวร์ชื่อ sysstat ซึ่งจะมีหน้าที่รวบรวมข้อมูลด้านต่างๆ
ที่เกิดขึ้นในระบบปฏิบัติการไม่ว่าจะเป็นด้านโปรเซส หน่วยความจำ ดิสก์
และระบบเครือข่าย โดยจัดเก็บไว้ในฐานข้อมูลของมันเอง
แล้วสร้างรายงานแจ้งให้เราทราบทุกๆ ช่วงเวลาที่กำหนด
หรือจะเรียกดูทันทีก็ได้ โดยผ่านคำสั่ง sar จะได้รายงานดังรูป 13
นอกจากคำสั่ง sar แล้ว ยังมีคำสั่งย่อยอีก 2
คำสั่งที่มาพร้อมกันในแพคเกจนี้ คือ คำสั่ง mpstat สำหรับรายงานเกี่ยวกับ
CPU และคำสั่ง iostat สำหรับรายงานเกี่ยวกับระบบดิสก

รูปที่ 13 รายงานที่ได้จากคำสั่ง sar
นอกจากการใช้งานในโหมดข้อความแล้ว ผู้ใช้งานที่นิยมการทำงานบนกราฟฟิกก็ยังมีโปรแกรม สนับ
สนุนการรายงานข้อมูลจากระบบได้เช่นกัน
หากพิจารณาเท่าที่มีมาพร้อมแล้วในเดสทอปแบบ KDE จะมีแอปเพล็ตเล็กๆ
ให้ติดตั้งใช้งานได้ทันที (ดังรูป 14) โดยคลิ๊กขวาบน Main Panel แล้วเลือก
Add applet to panel... จากนั้นก็จะมีรายชื่อ Applet
ให้เลือกติดตั้งได้ตามใจชอบ ที่เห็นนี้เป็น Applet ชื่อ System Guard และ
System Monitor

รูปที่ 14 KDE Applet ที่ช่วยแสดงสถานะของระบบ
ส่วนสุดท้ายที่ผู้บริหารระบบลีนุกซ์ควรจะให้ความสนใจคือ
ข้อมูลระบบจากพื้นที่ /proc ซึ่งจัดเก็บสถานะปัจจุบันของระบบไว้
โดยให้เข้าถึงได้เหมือนเป็นระบบไฟล์ระบบหนึ่ง เช่น /proc/cpuinfo
จะเก็บสถานะของ CPU ของระบบ /proc/meminfo จะเก็บสถานะของหน่วยความจำ
/proc/interrupts จะเก็บข้อมูลการจัดสรรสัญญาณขัดจังหวะของระบบไว้ เป็นต้น
นอกจากจะใช้คำสั่งเปิดไฟล์มาอ่านโดยตรงแล้ว ใน KDE ยังให้โปรแกรมชื่อ
KInfoCenter
ไว้เพื่อเปิดข้อมูลมาอ่านได้สะดวกมากยิ่งขึ้นและแสดงผลเป็นกราฟฟิกที่อ่าน
เข้าใจง่ายกว่าอีกด้วย

รูปที่ 15 การแสดงผลของ KInfoCenter
ความชำนาญเกิดจากการฝึกฝน
เครื่องมือสำหรับการเฝ้ามองระบบ (System Watch) ที่นำเสนอนี้
ส่วนใหญ่จะเห็นว่าเป็นคำสั่งพื้นฐานที่มีอยู่แล้วในระบบ
เราจะใช้เครื่องมือเหล่านี้ได้ชำนาญแค่ไหนนั้นขึ้นอยู่กับการฝึกฝนที่จำเป็น
ต้องอยู่บนพื้นฐานของความรู้ ความเข้าใจ
และอุทิศเวลาให้กับการลงมือทำอย่างจริงจัง
โดยที่จะเป็นผู้บริหารระบบลีนุกซ์ที่ดีได้นั้นจะต้องตระหนักถึงการปฏิบัติ
งานภายใต้สถานการณ์ 1) เป็น Text Console 2) ไม่มีโปรแกรมพิเศษใดๆ
ติดตั้งไว้ และ 3) ต้องแข่งกับเวลา
เครื่องมือ/คำสั่งพื้นฐานเพื่อการเฝ้ามองระบบในลีนุกซ์มีอะไรบ้างจะใช้
ประโยชน์ได้อย่างไรถึงเวลาที่ต้องศึกษาและทบทวนกันอันจะเป็นพื้นฐานไปสู่การ
เฝ้าระวังระบบที่ซับซ้อนยิ่งขึ้นในอนาคต |
ไม่มีความคิดเห็น:
แสดงความคิดเห็น