ใช้ snmp ดึงค่า IP SLA (RTR) จาก Cisco

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

ในที่นี้ขอยกตัวอย่างการใช้ snmpwalk ดึงค่า rtr จากที่ได้ คอนฟิก IP SLA (RTR) บน Cisco เบื้องต้น โดยจะแสดงวิธีการเฉพาะบางค่าเท่านั้น เพื่อให้ผู้อ่านทำความเข้าใจเบื้องต้น จะได้นำไปประยุกต์ใช้ต่อไป

เพื่อให้เห็นภาพ จะใช้คำสั่ง show rtr บนอุปกรณ์ Cisco แล้วใช้คำสั่ง snmpwalk ดึงค่าเปรียบเทียบ

สมมติว่า Router ip 192.168.1.1 คอนฟิก snmp community string เป็น public

Router# show run | inc snmp
snmp-server community public ro

 

snmpwalk ดึงค่าคอนฟิก IP SLA

คำสั่ง show rtr configuration (แสดงเฉพาะบางค่า)

Router# show rtr configuration
SA Agent, Infrastructure Engine-II
Entry number: 1
Type of operation to perform: echo
Target address: 192.168.1.2
Operation frequency (seconds): 300

Entry number: 2
Type of operation to perform: http
Target address: 61.91.8.24
URL: http://www.google.com

รูปแบบการใช้คำสั่ง snmpwalk ตามด้วยออปชั่น

-Ofn เพื่อให้เห็นค่า oid เป็นตัวเลขทั้งหมด
-c ระบุค่า SNMP Community string

ตามด้วย ip address ของอุปกรณ์ Cisco และระบุค่า oid ที่ต้องการดึงค่า

เช่นต้องการดึงค่าชนิดของ rtr ที่คอนฟิกไว้ ต้องระบุ oid ค่า .1.3.6.1.4.1.9.9.42.1.2.1.1.4 (rttMonCtrlAdminRttType)

[admin@linux ~]$ snmpwalk -Ofn -v 1 -c public 192.168.1.1 .1.3.6.1.4.1.9.9.42.1.2.1.1.4
.1.3.6.1.4.1.9.9.42.1.2.1.1.4.1 = INTEGER: 1
.1.3.6.1.4.1.9.9.42.1.2.1.1.4.2 = INTEGER: 7

ผลลัพธ์ที่ได้จะมีสองบรรทัด ด้านซ้ายมือแสดงค่า oid ตามด้วยหมายเลข rtr ที่คอนฟิกไว้ ส่วนขวามือคือค่าที่ดึงได้เป็นชนิดของ rtr

ชนิดของ rtr จะแสดงเป็นตัวเลข เราต้องนำไปตีความ เช่น

  •  1 = echo
  •  7 = http

ดึงค่าคอนฟิกความถี่ในการทดสอบของแต่ละหมายเลข ระบุ oid ค่า .1.3.6.1.4.1.9.9.42.1.2.1.1.6 (rttMonCtrlAdminFrequency)

[admin@linux ~]$ snmpwalk -Ofn -v 1 -c public 192.168.1.1 .1.3.6.1.4.1.9.9.42.1.2.1.1.6
.1.3.6.1.4.1.9.9.42.1.2.1.1.6.1 = INTEGER: 300
.1.3.6.1.4.1.9.9.42.1.2.1.1.6.2 = INTEGER: 300

ดึงค่าคอนฟิก IP Address ของปลายทางที่ทดสอบของแต่ละหมายเลข ระบุ oid ค่า .1.3.6.1.4.1.9.9.42.1.2.2.1.2 (rttMonEchoAdminTargetAddress)

[admin@linux ~]$ snmpwalk -Ofn -v 1 -c public 192.168.1.1 .1.3.6.1.4.1.9.9.42.1.2.2.1.2
.1.3.6.1.4.1.9.9.42.1.2.2.1.2.1 = Hex-STRING: C0 A8 01 02
.1.3.6.1.4.1.9.9.42.1.2.2.1.2.2 = Hex-STRING: 3D 5B 08 18

สำหรับค่า IP Address นี้ ผลลัพธ์ที่ได้จะเป็นเลขฐาน 16 ถ้านำไปแปลงกลับเป็นเลขฐาน 10 ก็จะได้ IP Address

  • C0 A8 01 02 = 192.168.1.2
  • 3D 5B 08 18 = 61.91.8.24

บางค่าจะมีเฉพาะการทดสอบ rtr บางชนิดเท่านั้น เช่นชื่อ url ที่ทดสอบด้วย http ระบุค่า oid .1.3.6.1.4.1.9.9.42.1.2.2.1.15 (rttMonEchoAdminURL)

[admin@linux ~]$ snmpwalk -Ofn -v 1 -c public 192.168.1.1 .1.3.6.1.4.1.9.9.42.1.2.2.1.15
.1.3.6.1.4.1.9.9.42.1.2.2.1.15.1 = ""
.1.3.6.1.4.1.9.9.42.1.2.2.1.15.2 = STRING: "http://www.google.com"

snmpwalk ดึงค่าผลการทดสอบ IP SLA

คำสั่ง show rtr collection-statistics (แสดงเฉพาะบางค่า)

Router# show rtr collection-statistics
Entry number: 1
Start Time Index: 15:10:17.958 TH Sat Aug 25 2012
Number of successful operations: 12
Number of operations over threshold: 0

Entry number: 2
Start Time Index: 15:19:19.317 TH Sat Aug 25 2012
Number of successful operations: 12
Number of operations over threshold: 0
DNS RTT: 533
TCP Connection RTT: 44
HTTP Transaction RTT: 484

การใช้ snmpwalk ดึงค่าผลการทดสอบนั้น จะมีตัวเลขเวลาติดมาด้วย ซึ่งเป็นเวลา uptime ของ router เมื่อตอนทดสอบ

เช่นต้องการดูผลการทดสอบที่สำเร็จ (successful operations) ระบุ oid ค่า .1.3.6.1.4.1.9.9.42.1.3.1.1.5 (rttMonStatsCaptureCompletions)

[admin@linux ~]$ snmpwalk -Ofn -v 1 -c public 192.168.1.1 .1.3.6.1.4.1.9.9.42.1.3.1.1.5
.1.3.6.1.4.1.9.9.42.1.3.1.1.5.1.1487999806.1.1.1 = INTEGER: 12
.1.3.6.1.4.1.9.9.42.1.3.1.1.5.2.1488053942.1.1.1 = INTEGER: 12

ด้านซ้ายมือจะมีหมายเลข rtr (1, 2) ตามด้วยเวลาที่ทดสอบ ด้านขวามือคือผลการทดสอบ

เช่นเดียวกับค่าคอนฟิก ค่าผลการทดสอบบางค่าจะมีเฉพาะการทดสอบ rtr บางชนิดเท่านั้น

เช่นต้องการดูค่า DNS RTT ระบุ oid ค่า .1.3.6.1.4.1.9.9.42.1.3.4.1.9 (rttMonHTTPStatsDNSRTTSum)

[admin@linux ~]$ snmpwalk -Ofn -v 1 -c public 192.168.1.1 .1.3.6.1.4.1.9.9.42.1.3.4.1.9
.1.3.6.1.4.1.9.9.42.1.3.4.1.9.2.1488053942 = Counter32: 533

หรือต้องการดูค่า HTTP Transaction RTT ระบุ oid ค่า .1.3.6.1.4.1.9.9.42.1.3.4.1.11 (rttMonHTTPStatsTransactionRTTSum)

[admin@linux ~]$ snmpwalk -Ofn -v 1 -c public 192.168.1.1 .1.3.6.1.4.1.9.9.42.1.3.4.1.11
.1.3.6.1.4.1.9.9.42.1.3.4.1.11.2.1488053942 = Counter32: 484

 

ข้อมูลเพิ่มเติม

Leave a Reply

Your email address will not be published.