Cacti จัดเป็นโปรแกรมทางด้าน Network Management อย่างหนึ่ง คุณสมบัติหลักๆ คือสามารถไปดึงค่าต่างๆ จากอุปกรณ์ network ไม่ว่าจะเป็น Server, Router, Switch ผ่านทาง Poller นำข้อมูลมาเก็บไว้ใน Data Storage แล้วสามารถนำค่ามา plot เป็นกราฟ โดยใช้ RRDTool (ซึ่งเป็นโปรแกรมสร้างกราฟเดียวกันกับ MRTG)
ในตอนที่ 1 จะอธิบายวิธีการติดตั้งไฟล์ที่จำเป็นและ Cacti บน Fedora 11 (x86_64) โดยทดสอบบนเครื่องที่ ติดตั้ง Fedora 11 แบบประหยัดพื้นที่สุด
SNMP เป็นโปรโตคอลมาตรฐานสำหรับการบริหารจัดการอุปกรณ์ทางด้านเครือข่าย คือสามารถที่จะดึงค่าที่ต้องการ หรือคอนฟิกค่าของอุปกรณ์ได้
การที่จะสามารถเขียน PHP ให้เรียกใช้ฟังก์ชั่นเกี่ยวกับ snmp ได้ ต้องติดตั้งโมดูล php-snmp
จากบทความ ติดตั้ง Apache, PHP บน Fedora 11 เราได้ติดตั้ง เว็บเซิร์ฟเวอร์ Apache และ PHP เพื่อให้สามารถเขียนเว็บเพจโดยใช้ภาษา PHP ได้ แต่ถ้าทำเพียงเท่านี้ จะะสามารถเรียกใช้ฟังก์ชั่นแค่พื้นฐานเท่านั้น ถ้าต้องการใช้ฟังก์ชั่นอื่นๆ ด้วย เช่นเชื่อมต่อเข้ากับ MySQL เราจำเป็นต้องติดตั้ง PHP Module เพิ่มเติม
ในบทความนี้อธิบายวิธีการตรวจสอบและติดตั้งโมดูลเพิ่มเติม ตัวอย่างจะเป็นการติดตั้งโมดูล MySQL เพื่อให้สามารถเขียน PHP เชื่อมเข้ากับฐานข้อมูลได้
ในบทความนี้จะอธิบายวิธีการติดตั้งและคอนฟิก Apache บน Fedora 11 (x86_64) โดยทดสอบบนเครื่องที่ ติดตั้ง Fedora 11 แบบประหยัดพื้นที่สุด
จากแผ่นดีวีดี Fedora 11 ติดตั้งไฟล์ RPM ดังนี้
[root@fc11-64a ~]# mount /dev/scd0 /media [root@fc11-64a ~]# cd /media/Packages/ [root@fc11-64a Packages]# rpm -i fontpackages-filesystem-1.20-2.fc11.noarch.rpm [root@fc11-64a Packages]# rpm -i dejavu-fonts-common-2.29-2.fc11.noarch.rpm [root@fc11-64a Packages]# cd ~ [root@fc11-64a ~]# umount /media/
ดาวน์โหลดไฟล์เพิ่มเติมจาก Fedora 11 (Everything) แล้วใช้คำสั่ง rpm เพื่อติดตั้ง
[root@fc11-64a ~]# rpm -i dejavu-lgc-sans-fonts-2.29-2.fc11.noarch.rpm [root@fc11-64a ~]# rpm -i dejavu-lgc-sans-mono-fonts-2.29-2.fc11.noarch.rpm [root@fc11-64a ~]# rpm -i dejavu-lgc-serif-fonts-2.29-2.fc11.noarch.rpm [root@fc11-64a ~]# rpm -i dejavu-fonts-lgc-compat-2.29-2.fc11.noarch.rpm [root@fc11-64a ~]# rpm -i rrdtool-1.3.7-1.fc11.x86_64.rpm
ข้อมูลอ้างอิง
หลังจากที่ สร้าง svn repository ในบทความนี้จะแนะนำการใช้งาน svn เบื้องต้น โดยจะประกอบด้วยคำสั่ง import, checkout, commit
การติดตั้งโปรแกรมบนลินุกซ์วิธีการหนึ่งที่นิยมกันคือใช้ไฟล์ประเภท rpm ซึ่งไฟล์ที่ติดตั้งนั้นจะถูกคอมไพล์เป็น binary โดยทีมงานที่พัฒนา Linux Distribution ซึ่งเป็นไฟล์จะติดตั้งได้สะดวกพร้อมใช้งาน ด้วยคำสั่ง rpm หรือ yum
ไฟล์ binary เหล่านี้ชื่อไฟล์จะมีการเพิ่มเติมประเภทของเครื่องที่โปรแกรมนี้สามารถติดตั้งใช้งานได้เช่น i386, i586, i686, x86_64 เป็นต้น
แต่ในบางครั้งเราจำเป็นต้องมีการคอมไพล์โปรแกรมใหม่ เพื่อปรับปรุงเรื่องเวอร์ชั่น ตัดหรือเพิ่มคุณสมบัติของโปรแกรมบางอย่างซึ่งไฟล์เหล่านี้อาจจะไม่มีในรูปแบบ binary
ในบทความนี้จะอธิบายการใช้คำสั่ง cut และเปรียบเทียบความเร็วที่ได้ ระหว่างการใช้คำสั่ง cut และการเขียนโปรแกรมเป็น PHP เพื่อดึงฟิลด์ที่ต้องการจากไฟล์ โดยใช้คำสั่ง time เพิ่มต่อหน้าการรันคำสั่งเพื่อแสดงผลเวลาที่ใช้ไปในการประมวลผล
โจทย์ : มีไฟล์ที่เป็นรูปแบบตัวหนังสือ (text-based) โดยในแต่ละบรรทัดเก็บข้อมูลเป็นฟิลด์ต่างๆ ที่อยู่ในรูปแบบเดียวกัน คั่นด้วยเครื่องหมาย , (comma) : (colon) หรืออื่นๆ
ความต้องการคือ ให้ดึงเฉพาะฟิลด์ที่ 3 ออกมาจากไฟล์ มาแสดงผลออกหน้าจอ
ตัวอย่างเช่นไฟล์ /etc/passwd ซึ่งจะเก็บข้อมูลต่างๆ ของบัญชีผู้ใช้งาน (User Account) บนระบบ UNIX/Linux โดยฟิลด์ต่างๆ จะคั่นด้วยเครื่องหมาย : colon
ช่วงนี้ได้รับงานจากลูกค้า ให้ทำโปรแกรมเก็บค่า MAC Address ของเครื่องทุกเครื่องที่ต่อเข้ากับ Switch ลงในฐานข้อมูล เพื่อสามารถดึงข้อมูลมาดูย้อนหลังว่า มี MAC Address อะไร ต่ออยู่ที่พอร์ตไหนบ้างของ Switch
หลังจากค้นคว้าทดลองอยู่พอสมควร ได้ผลลัพธ์ตามที่ต้องการแล้ว เลยขอนำมาเรียบเรียง โดยจะอธิบายเฉพาะวิธีการใช้คำสั่ง snmpwalk เพื่อดึงค่า MAC Address จาก Cisco Catalyst Switch
บทความนี้ขอกล่าวถึงการเขียนโปรแกรม PHP เพื่อสร้าง barcode ในรูปภาพในแบบต่างๆ ได้
read more…

