เปิดใช้ SNMP Extension บน PHP
หน้าแรก PHP MySQL เกร็ดความรู้ เปิดใช้ SNMP Extension บน PHP
แต่เดิมการพัฒนาโปรแกรมบน Web เพื่อติดต่อกับอุปกรณ์ระบบเครือข่ายผ่านโปรโตคอล SNMP สามารถทำได้ในลักษณะ CGI ด้วย Perl Script ซึ่งมี Extension ให้เลือกใช้ทั้งแบบ UCD-SNMP และ Net::SNMP เมื่อย้ายมาพัฒนา Web ด้วย PHP ก็มี Extension SNMP ไว้สำหรับพัฒนางานได้เช่นกัน โดยปกติในการพัฒนาโปรแกรมบน Web ผมมักจะใช้บริการชุด AppServ เป็น Server เพราะทำงานบน Windows ติดตั้งง่ายไม่ยุ่งยาก ซึ่งเมื่อติดตั้งแล้ว Extension SNMP จะถูกปิดไว้ แต่เราสามารถเปิดใช้งานได้โดย แก้ไขไฟล์ C:windowsphp.ini โดยการ uncomment configuration line เอาเครื่องหมาย ; (Semicolon) หน้าบรรทัด extension=php_snmp.dll ออกบันทึกไฟล์เมื่อแก้ไขแล้ว จากนั้น restart HTTPD service หนึ่งรอบ ตรวจสอบผลด้วยการเรียกไฟล์ phpinfo.php จะเห็นส่วนที่แสดงว่า SNMP Extension ทำงานแล้ว
SNMP PHP
แน่นอนครับ SNMP Extension บน PHP เป็น ucd-snmp จากตรงนี้เราสามารถใช้งาน SNMP บน PHP ได้แล้ว ดังตัวอย่าง
| Code |
| <?php $host = "xxx.xxx.xxx.xxx"; $community = "public"; $descr = snmpget($host, $community, ".1.3.6.1.2.1.1.1.0"); echo $descr.<br>; ?> |
แต่จะมีปัญหาเรื่องการแปล OID จาก MIB Name เช่น หากเราต้องการ query system description ด้วย MIB Name อย่าง system.sysDescr.0 จะไม่สามารถทำได้ต้องใช้ OID .1.3.6.1.2.1.1.1.0 แทน หากไม่ถนัดใช้ OID ให้สร้างไดเร็คทอรี่ C:usr แล้ว copy ไฟล์จาก C:AppServphp5extrasmibs ทั้งหมดมาไว้ใน C:usr
refer: http://share.psu.ac.th/blog/ntalk/12046
====================================================================
SNMP ย่อมาจาก Simple Network Management Protocol ซึ่งเป็นโปรโตคอลที่อยู่ระดับ Application Layer และเป็นส่วนหนึ่งของชุดโปรโตคอล TCP/IP
ในการบริหารและจัดการเครือข่ายต้องใช้อุปกรณ์ต่าง ๆ มีส่วนของการทำงานร่วมกับระบบจัดการเครือข่าย ซึ่งเราเรียกว่า เอเจนต์ (Agent) เอเจนต์เป็นส่วนของซอฟต์แวร์ที่อยู่ในอุปกรณ์ต่าง ๆ ที่เชื่อมอยู่ในเครือข่ายโดยมีคอมพิวเตอร์หลักในระบบหนึ่งเครื่องเป็นตัวจัดการและบริหารเครือข่ายหรือเรียกว่า NMS-Network Management System
การที่ระบบบริหารและจัดการเครือข่ายจะประสบผลสำเร็จ จึงขึ้นกับระบบซอฟต์แวร์ที่ต้องมีอยู่ในตัวอุปกรณ์เครือข่าย (เอเจนต์) ส่วนของเอเจนต์ยังมีการเก็บข้อมูลไว้ภายใน ข้อมูลที่เก็บไว้นี้เรียกว่า MIB - Management Information Base การทำงานของอุปกรณ์ต่าง ๆ บนเครือข่ายจะมีส่วนข้อมูลของตัวเองเก็บไว้ที่ MIB ดังนั้น NMS จึงส่งคำถามมายังเอเจนต์ การส่งคำถามและเอเจนต์ส่งข้อมูลคำตอบนี้ย่อมเป็นไปตามมาตรฐานโปรโตคอลที่กำหนด เช่น ลักษณะคำถามคำตอบของ SNMP ที่สอบถามกันเป็นระบบ และเป็นมาตรฐานสากล

ขั้นตอนการทำงานของ การส่งข้อมูล SNMP
1. NMS (Network Management System)จะสร้างคำร้องขอ ประกอบด้วย ชื่อ MIB ซึ่งเวลาตอบกลับจะส่งค่า ของ MIB นี้กลับมา
2. NMS ส่งคำร้องขอข้อมูล
3. Agent รับคำร้องขอ และนำชื่อ MIB มาตรวจสอบ ถ้าถูกต้อง จะค้นหาข้อมูลของ MIB นั้น
4. Agent สร้างข้อมลการตอบกลับ ทั้งจะส่งข้อมูลที่ NMS ต้องการ หรือแม้แต่เกิด error ก็จะส่งกลับไป เช่น ไม่มีชื่อ MIB นี้ในฐานข้อมูลของ Agent
5. Agent ส่งการตอบรับ ไปที่ NMS
6. NMS รับข้อมูลไปประมวลผลต่อไป
refer: http://manajung.blogspot.com/2010/03/snmp-snmp-protocal-operations.html
ขึ้นไปด้านบน
