Introduzione
In questo documento viene descritto come risolvere i problemi relativi agli errori di Cisco Policy Suite (CPS) correlati a un'azione dei criteri di sincronizzazione.
Prerequisiti
Requisiti
Cisco raccomanda la conoscenza dei seguenti argomenti:
- Sistema operativo Linux
- Cisco Policy Suite
Componenti usati
Le informazioni fornite in questo documento si basano su Cisco Policy Suite.
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
Problema: si è verificato un errore durante l'elaborazione di un'azione del criterio di sincronizzazione
Errori rilevati nel file di registro /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
Nell'esempio viene illustrato l'errore in 2 siti diversi e 2 timestamp diversi:
Il tempo di risposta del diametro può aumentare leggermente a causa dell'errore e picchi possono essere osservati anche su grafana.
SITE-1 consolidato-qregistri ns:
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 Mongo Log:
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
Log SITE-2 consolidati-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
"Si è verificato un errore durante l'elaborazione di un'azione del criterio di sincronizzazione" può essere causato da due motivi:
1. Il database MongoDB principale/primario non è accessibile o è inattivo.
2. Le istanze di Policy Server (QNS) non sono in grado di accedere alla macchina virtuale (VM) sessionmgr a causa di un problema di rete.
I registri indicano che ciò è correlato a una fluttuazione di rete, in quanto le eccezioni di accesso alla macchina virtuale di session mgr per l'azione del criterio di sincronizzazione possono essere osservate nella maggior parte delle macchine virtuali QNS. Queste eccezioni sono correlate al database SPR master (sessionmgr11-SITE1:27720) che non è raggiungibile. Per la stessa durata non sono stati rilevati errori nei registri MongoDB. Inoltre, non è stato osservato alcun failover da database primario a database secondario per lo stesso periodo di tempo.
Soluzione
Si sono verificati errori di "Azione criteri di sincronizzazione" in SITE1 e SITE2 per due motivi:
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
"Archivio dati non disponibile". Questo appare chiaramente come un caso di piccole fluttuazioni di rete che vengono risolte in rapida successione:
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
"Il valore duplicato per il vincolo dati univoco " non ha alcun impatto sul sistema o sui sottoscrittori, in quanto questa eccezione verrebbe rilevata quando si riceve una richiesta di duplicazione dal PCEF. La richiesta originale era già stata soddisfatta.
Di seguito vengono riportati i passaggi che Cisco consiglia di eseguire quando "Data store is not available" (L'archivio dati non è disponibile) è presente nel file consolidate-qns.log.
Passaggio 1. Controllare il percorso di rete o qualsiasi router tra le macchine virtuali QNS e session mgr11-SITE1VM.
Passaggio 2. Controllare /var/log/messages dalle VM QNS e sessionmgr11-SITE1VM.
Passaggio 3. Verificare sul router tramite il quale sono connesse le macchine virtuali QNS e sessionmgr11-SITE1
Per confermare che l'eccezione "datastore non disponibile" si verifica quando viene eseguito un tentativo di connessione di un'istanza del database su sessionmgrxx-xxx:277xx, è possibile eseguire questo comando per l'intera durata (potrebbe essere di 24 ore) sulla VM sessionmgrxx in cui si è verificato un problema di rete. L'output verrà archiviato in /var/tmp/output.txt.
while true; do netstat -apn | grep 27720; sleep 1 ; done | tee /var/tmp/output.txt
Per interrompere l'esecuzione del comando netstat, è sufficiente arrestarlo con CTRL C:
ctrl c
Nota Nel caso in cui si riscontri un problema nella connessione e nella reimpostazione della connessione TCP su sessionmgrxx-xxx. È quindi necessario ripristinare il database (DB) eliminando i dati e ricreando il DB dai nodi secondari. ( link per ripristinare/recuperare il database da pubblicare - )