簡介
本文描述如何排除和解決與同步策略操作相關的思科策略套件(CPS)錯誤。
必要條件
需求
思科建議您瞭解以下主題:
採用元件
本檔案中的資訊是根據思科原則套件。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
問題:處理同步策略操作時出錯
/var/log/broadhop/consolidated-qns.log日誌檔案中觀察到的錯誤:
ERROR c.b.policy.impl.RulesPolicyService - An error occured while processing a Sync Policy Action.
com.broadhop.spr.exception.SubscriberException: Data store is not available: No master DB available: sessionmgrxx-SITE1:27720
ERROR c.b.policy.impl.RulesPolicyService - An error occured while processing a Sync Policy Action.
com.broadhop.spr.exception.SubscriberException: Duplicate Value for Unique Data Constraint: credential networkId: 61431792343
示例顯示了2個不同站點和2個不同時間戳中的錯誤:
由於誤差的影響,直徑響應時間略有增加,在格拉法納上也能觀察到尖峰。
SITE-1 consolidated-qns日誌:
SITE1-qns11 2016-10-13 09:44:59,343 [pool-2-thread-1] ERROR c.b.policy.impl.RulesPolicyService - An error occured while processing a Sync Policy Action.
com.broadhop.spr.exception.SubscriberException: Data store is not available: No master DB available: sessionmgrxx-SITE1:27720
at com.broadhop.spr.dao.impl.mongo.MongoPersistence.searchSubscribers(MongoPersistence.java:433) ~[com.broadhop.spr.dao.mongo_2.3.6.r078013.jar:na]
SITE1-qns04 2016-10-13 10:42:03,629 [pool-2-thread-1] ERROR c.b.policy.impl.RulesPolicyService - An error occured while processing a Sync Policy Action.
SITE1-qns06 2016-10-13 10:47:20,555 [pool-3-thread-1] ERROR c.b.policy.impl.RulesPolicyService - An error occured while processing a Sync Policy Action.
SITE-1監控日誌:
2016-10-13T08:22:02.330+1100 [conn15604045] command spr.$cmd command: count { count: "subscriber", query: { services_key.code_key: "HWBB" }, fields: {} } planSummary: COLLSCAN keyUpdates:0 numYields:2 locks(micros) r:1297276 reslen:48 700ms
2016-10-13T08:47:02.909+1100 [conn15605855] command spr.$cmd command: count { count: "subscriber", query: { services_key.code_key: "HWBB" }, fields: {} } planSummary: COLLSCAN keyUpdates:0 numYields:1 locks(micros) r:1095391 reslen:48 585ms
2016-10-13T09:37:02.563+1100 [conn15609536] command spr.$cmd command: count { count: "subscriber", query: { services_key.code_key: "HWBB" }, fields: {} } planSummary: COLLSCAN keyUpdates:0 numYields:0 locks(micros) r:519701 reslen:48 519ms
2016-10-13T09:52:02.472+1100 [conn15610667] command spr.$cmd command: count { count: "subscriber", query: { services_key.code_key: "HWBB" }, fields: {} } planSummary: COLLSCAN keyUpdates:0 numYields:1 locks(micros) r:1072306 reslen:48 564ms
2016-10-13T10:27:02.649+1100 [conn15613701] command spr.$cmd command: count { count: "subscriber", query: { services_key.code_key: "HWBB" }, fields: {} } planSummary: COLLSCAN keyUpdates:0 numYields:1 locks(micros) r:657876 reslen:48 504ms
SITE-2 consolidated-qns日誌:
SITE2-qns04 2016-11-18 05:28:33,776 [pool-1361732-thread-1] ERROR c.b.policy.impl.RulesPolicyService - An error occured while processing a Sync Policy Action.
com.broadhop.spr.exception.SubscriberException: Duplicate Value for Unique Data Constraint: credential networkId: 61431792343
SITE2-qns09 2016-11-17 20:47:59,539 [pool-1361592-thread-1] ERROR c.b.policy.impl.RulesPolicyService - An error occured while processing a Sync Policy Action.
com.broadhop.spr.exception.SubscriberException: Duplicate Value for Unique Data Constraint: credential networkId: 61431792343
SITE2-qns06 2016-11-17 01:45:15,476 [pool-63652-thread-1] ERROR c.b.policy.impl.RulesPolicyService - An error occured while processing a Sync Policy Action.
com.broadhop.spr.exception.SubscriberException: Data store is not available: No master DB available: sessionmgr11-SITE1:27720
SITE2-qns12 2016-11-17 01:45:15,514 [pool-63484-thread-1] ERROR c.b.policy.impl.RulesPolicyService - An error occured while processing a Sync Policy Action.
com.broadhop.spr.exception.SubscriberException: Data store is not available: No master DB available: sessionmgr11-SITE1:27720
SITE2-qns10 2016-11-12 07:40:53,659 [pool-63538-thread-1] ERROR c.b.policy.impl.RulesPolicyService - An error occured while processing a Sync Policy Action.
com.broadhop.spr.exception.SubscriberException: Duplicate Value for Unique Data Constraint: credential networkId: 61431792343
「處理同步策略操作時出錯」可能由兩個原因導致:
1.主/主MongoDB不可訪問或已關閉。
2.由於網路問題,策略伺服器(QNS)例項無法訪問sessionmgr虛擬機器(VM)。
日誌指示這與網路波動有關,因為在大多數QNS VM上都可以觀察Sync Policy Action的sessionmgr VM訪問異常。這些例外是無法訪問的相關主SPR資料庫(sessionmgr11-SITE1:27720)。在相同的持續時間內,MongoDB日誌中沒有觀察到錯誤。此外,在相同的時間段內沒有觀察到主資料庫到輔助資料庫的故障切換。
解決方案
在SITE1和SITE2上出現「Sync Policy Action」錯誤,原因有二:
1.
SITE1-qns11 2016-10-13 09:44:59,343 [pool-2-thread-1] ERROR c.b.policy.impl.RulesPolicyService - An error occured while processing a Sync Policy Action.
com.broadhop.spr.exception.SubscriberException: Data store is not available: No master DB available: sessionmgrxx-SITE1:27720
"資料儲存不可用"。 這顯然類似於在快速後續階段中解決的輕微網路波動情況:
2.
SITE2-qns04 2016-11-18 05:28:33,776 [pool-1361732-thread-1] ERROR c.b.policy.impl.RulesPolicyService - An error occured while processing a Sync Policy Action.
com.broadhop.spr.exception.SubscriberException: Duplicate Value for Unique Data Constraint: credential networkId: 61431792343
「唯一資料約束條件的重複值」對系統或訂閱者沒有影響,因為在從PCEF接收到重複請求時,將觀察到此異常。 原先的要求已經得到滿足。
在consolidated-qns.log中觀察到「Data store is not available」(資料儲存不可用)時,思科建議執行這些步驟。
步驟1.檢查QNS VM和sessionmgr11-SITE1VM之間的網路路徑或任何路由器。
步驟2.檢查QNS VM和sessionmgr11-SITE1VM中的/var/log/消息。
步驟3.檢查QNS和sessionmgr11-SITE1 VM所連線的路由器
為了確認在嘗試連線sessionmgrxx-xxx:277xx上的任何資料庫例項時發生「Datastore not available」(資料儲存不可用)異常,您可以在發現網路問題的sessionmgrxx VM上運行此命令,持續整個持續時間(可能為24小時)。 輸出將儲存在/var/tmp/output.txt。
while true; do netstat -apn | grep 27720; sleep 1 ; done | tee /var/tmp/output.txt
要停止netstat命令運行,只需使用CTRL C將其停止:
ctrl c
注意如果您發現在sessionmgrxx-xxx上連線和重置TCP連線時出現問題。然後,我們需要通過刪除資料以及從輔助節點重新建立資料庫來修複資料庫(DB)。 (修復/恢復要發佈的資料庫的連結 — )