Tôi không tin có một cách để thăm dò trực tiếp kết quả của OR
SNMP, nhưng bạn chắc chắn có thể thăm dò kết quả IP SLA và tự mình tính toán.
Sử dụng CISCO-RTTMON-MIB (1.3.6.1.4.1.9.9.42), bạn có thể kiểm tra giá trị hết thời gian kiểm tra khả năng tiếp cận của mình, lấy giá trị đúng / sai mà nó trả về và thực hiện OR
bằng bất kỳ ngôn ngữ kịch bản nào bạn đang sử dụng thăm dò ý kiến qua SNMP.
Ví dụ: tôi thiết lập một bài kiểm tra tương tự như của bạn ở trên:
track 10 ip sla 1 reachability
!
track 20 ip sla 2 reachability
!
track 30 list boolean or
object 10
object 20
!
ip sla 1
icmp-echo 8.8.8.8 source-ip 10.129.10.62
ip sla schedule 1 life forever start-time now
ip sla 2
icmp-echo 4.2.2.2 source-ip 10.129.10.62
ip sla schedule 2 life forever start-time now
!
ip route 10.171.20.0 255.255.255.252 10.129.10.61 track 30
Sau đó, tôi đã xác minh đầu ra trong iOS:
R-VOIPLAB#show track 30
Track 30
List boolean or
Boolean OR is Up
2 changes, last change 00:01:21
object 10 Up
object 20 Up
Tiếp theo, với tính năng theo dõi SLA IP, tôi đã cài đặt CISCO-RTTMON-MIB trên máy chủ theo dõi của mình và chuyển giá trị của rttMonCtrlOperTimeoutOccaded ( 1.3.6.1.4.1.9.9.42.1.2.9.1.6 ) cho đầu ra Đúng / Sai .
Mục quan trọng cần lưu ý là vì chúng tôi đang bỏ phiếu cho dù thời gian chờ có xảy ra hay không, Sai đó có nghĩa là đích đến có thể truy cập được và True có nghĩa là không thể truy cập và thời gian chờ đã xảy ra .
snmpwalk -v3 -a SHA -A SNMP-AUTH-PASS -l authNoPriv -u SNMPUSER r-voiplab rttMonCtrlOperTimeoutOccurred
CISCO-RTTMON-MIB::rttMonCtrlOperTimeoutOccurred.1 = INTEGER: false(2)
CISCO-RTTMON-MIB::rttMonCtrlOperTimeoutOccurred.2 = INTEGER: false(2)
Cuối cùng, tôi đã chuyển lưu lượng truy cập lên 8.8.8.8 từ hộp đó và kiểm tra lại kết quả Theo dõi trong iOS:
R-VOIPLAB(config)#ip route 8.8.8.8 255.255.255.255 null 0
R-VOIPLAB(config)#end
R-VOIPLAB#show track 30
Track 30
List boolean or
Boolean OR is Up
2 changes, last change 00:21:18
object 10 Down
object 20 Up
Tracked by:
STATIC-IP-ROUTING 0
Bây giờ chúng ta có một trong các đối tượng thử nghiệm ở Down
trạng thái, hãy cho chúng tôi xem kết quả bỏ phiếu rttMonCtrlOperTimeoutOccurr một lần nữa:
snmpwalk -v3 -a SHA -A SNMP-AUTH-PASS -l authNoPriv -u SNMPUSER r-voiplab rttMonCtrlOperTimeoutOccurred
CISCO-RTTMON-MIB::rttMonCtrlOperTimeoutOccurred.1 = INTEGER: true(1)
CISCO-RTTMON-MIB::rttMonCtrlOperTimeoutOccurred.2 = INTEGER: false(2)
Bây giờ, như tôi đã nói ở trên, bạn sẽ chỉ cần thăm dò các giá trị đó và sử dụng chúng theo cách bạn cần trong tập lệnh của mình.