Inhoud

Inleiding

Voorwaarden

Vereisten

Gebruikte componenten

Achtergrondinformatie

Configureren

Configuraties

Benadering voor CPS die in OpenStack wordt gehost

Benadering voor CPS gehost in VMWare

Verifiëren

Problemen oplossen

Inleiding

Dit document beschrijft hoe u aangepaste drempelpercentages voor databasefragmentatie kunt configureren in Cisco Policy Suite (CPS).

Voorwaarden

Vereisten

Cisco raadt kennis van de volgende onderwerpen aan:

- Linux

- CPS

- Mongo DB

Opmerking: Cisco raadt u aan om hoofdgebruikerstoegang tot CPS CLI te verkrijgen.

Gebruikte componenten

De informatie in dit document is gebaseerd op de volgende software- en hardware-versies:

- COPS 20,2

- Unified Computing System (UCS)-B

- MongoDB v3.6.17

De informatie in dit document is gebaseerd op de apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als uw netwerk live is, moet u zorgen dat u de potentiële impact van elke opdracht begrijpt.

Achtergrondinformatie

CPS maakt gebruik van MongoDB om de basisdatabase (DB) structuur te vormen.

Fragmentation is een kenmerk van MongoDB. Door deze waarschuwing houdt u proactief toezicht op de fragmentatie van MongoDB en voorkomt u mogelijk hoger gebruik van bronnen (schijf en geheugen) door MongoDB.

CPS genereert een Simple Network Management Protocol (SNMP)-alarm wanneer het fragmentatiepercentage van MongoDB een bepaalde waarde overschrijdt.

Het /etc/collectd.d/dbMonitorList.cfg bestand aanwezig op sessionmgr Virtual Machines (VM's) bevat de lijst van databases en hun respectieve fragmentatiedrempelpercentages.

Configureren

Configuraties

Benadering voor CPS die in OpenStack wordt gehost

Stap 1. Voer deze opdracht uit vanuit de Cluster Manager VM om een back-up van het huidige configuratiebestand te maken.

#cp /etc/puppet/modules/qps/templates/collectd_worker/collectd.d/dbMonitorList.cfg /etc/puppet/modules/qps/templates/collectd_worker/collectd.d/dbMonitorList.cfg.bkp

Stap 2. Voer deze opdracht uit vanuit Cluster Manager om de huidige configuratie van sessionmgr VM's te krijgen (om na de wijziging te vergelijken en te valideren).

#for host in $(hosts-all.sh | grep 'sessionmgr'); do echo checking in $host; ssh $host "cat /etc/collectd.d/dbMonitorList.cfg"; done

Uitvoer voorbeeld:

checking in sessionmgr01

session_cache|session|40

sk_cache|secondary_key|40

diameter|endpoints|40

spr|subscriber|40

balance_mgmt|account|40

checking in sessionmgr02

session_cache|session|40

sk_cache|secondary_key|40

diameter|endpoints|40

spr|subscriber|40

balance_mgmt|account|40

Stap 3. Wijzig de standaarddrempel (40) naar de aanbevolen waarde (bijvoorbeeld 60). Voer deze opdracht uit vanuit Cluster Manager.

Opmerking: deze opdracht wijzigt de drempel voor alle DB's. Als het nodig is om de drempelwaarde voor een specifieke DB bij te werken, moet u het bestand handmatig bijwerken.

#sed -i 's/40/60/g' /etc/puppet/modules/qps/templates/collectd_worker/collectd.d/dbMonitorList.cfg

Stap 4. Voer deze opdracht uit om de bestanden in Cluster Manager te vergelijken om de wijziging te valideren.

#diff /etc/puppet/modules/qps/templates/collectd_worker/collectd.d/dbMonitorList.cfg /etc/puppet/modules/qps/templates/collectd_worker/collectd.d/dbMonitorList.cfg.bkp

Uitvoer voorbeeld:

4c4

< session_cache|session|60

---

> session_cache|session|40

9c9

< sk_cache|secondary_key|60

---

> sk_cache|secondary_key|40

14c14

< diameter|endpoints|60

---

> diameter|endpoints|40

19c19

< spr|subscriber|60

---

> spr|subscriber|40

24c24

< balance_mgmt|account|60

---

> balance_mgmt|account|40

Stap 5. Voer deze opdracht uit om de wijziging in Cluster Manager op te bouwen.

[root@installer ~]# /var/qps/bin/build/build_puppet.sh

Copying /etc/puppet to /var/qps/images/puppet.tar.gz...

Creating MD5 Checksum...

[root@installer ~]#

Stap 6. Voer deze opdracht uit vanuit Cluster Manager om de wijziging in sessiemgr VM's toe te passen.

[root@installer ~]# for host in $(hosts-all.sh | grep 'sessionmgr'); do echo starting vm-init in $host; ssh $host "/etc/init.d/vm-init > /dev/null 2>&1 &"; done

starting vm-init in sessionmgr01

starting vm-init in sessionmgr02

[root@installer ~]#

Stap 7. Wacht tot de marionet klaar is. Voer deze opdracht uit vanuit Cluster Manager om de voortgang van de configuratie van de marionet te bekijken.

#for host in $(hosts-all.sh | grep 'sessionmgr' | tail -1); do echo checking in $host; ssh $host "tail -f /var/log/puppet.log"; done

2022-11-08 06:32:23 +0000 Service[whisper](provider=cps) (info): whisper will be managed using monit.

2022-11-08 06:32:23 +0000 Service[whisper](provider=cps) (info): whisper will be managed using monit.

2022-11-08 06:32:23 +0000 /Stage[main]/Whisper/Service[whisper] (notice): Triggered 'refresh' from 1 event

2022-11-08 06:32:27 +0000 Stage[main] (info): Unscheduling all events on Stage[main]

2022-11-08 06:32:28 +0000 Puppet (notice): Applied catalog in 83.52 seconds

[Tue Nov 08 06:32:30 +0000 2022] * Completed puppet configuration for dc1-sessionmgr02...

[Tue Nov 08 06:32:30 +0000 2022] - NTP sync started, check the logs in vm-init.log

Benadering voor CPS gehost in VMWare

Stap 1. Werk de /var/qps/config/deploy/csv/Configuration.csv  bestand in Cluster Manager met de vereiste databasenaam en hun respectieve drempelwaardepercentages. De indeling om de aangepaste drempelwaarde in procenten op te geven is als volgt (waarbij XX de numerieke waarde is van percentage...60).

session_cache,XX,

sk_cache,XX,

diameter,XX,

spr,XX,

balance_mgmt,XX,

Voorbeeldconfiguratie:

session_cache,60,

sk_cache,60,

diameter,60,

spr,60,

balance_mgmt,60,

Stap 2. Voer deze opdrachten uit om de  /etc/collectd.d/dbMonitorList.cfg  bestand zodat het de nieuwe drempelwaarden uit het Configuration.csv-bestand heeft:

[root@installer ~]# /var/qps/install/current/scripts/import/import_deploy.sh

Filenames that will be processed

AdditionalHosts.csv Configuration.csv DBConfigServer.csv Definitions.csv Hosts.csv ReplicationSets.csv SessionCache.csv VLANs.csv VMSpecification.csv SecureConfig.csv VipProxyConfiguration.csv DSCPConfig.csv CriticalFiles.csv

The CSV files in /var/qps/config/deploy/csv are converted to json files in /var/qps/config/deploy/json..

build the hosts file to /var/www/html/hosts...

build the /etc/hosts file from the json configuation... /etc/hosts is backed to /etc/hosts.back

Skipping backup of '/etc/hosts' -- no changes detected.

Redis by default disabled -DenableQueueSystem=false in /etc/broadhop/qns.conf

Removing feature configs moved to core

Removing ws feature from pb and pcrf feature file

Building /etc/broadhop...

Copying to /var/qps/images/etc.tar.gz...

Creating MD5 Checksum...

Generating /etc/broadhop/servers.all

Rebuilding facts for: 'installer' (aka 'installer')

Creating md5sum for hosts file to validate later

Rebuilding facts for: 'dc1-lb01' (aka 'lb01')

Rebuilding facts for: 'dc1-sessionmgr01' (aka 'sessionmgr01')

Rebuilding facts for: 'dc1-lb02' (aka 'lb02')

Rebuilding facts for: 'dc1-qns01' (aka 'qns01')

Rebuilding facts for: 'dc1-qns02' (aka 'qns02')

Rebuilding facts for: 'dc1-pcrfclient01' (aka 'pcrfclient01')

Rebuilding facts for: 'dc1-sessionmgr02' (aka 'sessionmgr02')

Rebuilding facts for: 'dc1-pcrfclient02' (aka 'pcrfclient02')

No file for VipProxyConfiguration found

Copying /etc/puppet to /var/qps/images/puppet.tar.gz...

Creating MD5 Checksum...

[root@installer ~]#

Stap 3. Voer deze opdracht uit vanuit Cluster Manager om de wijziging in sessiemgr VM's toe te passen.

[root@installer ~]# for host in $(hosts-all.sh | grep 'sessionmgr'); do echo starting vm-init in $host; ssh $host "/etc/init.d/vm-init > /dev/null 2>&1 &"; done

starting vm-init in sessionmgr01

starting vm-init in sessionmgr02

[root@installer ~]#

Stap 4. Wacht tot de marionet klaar is. Voer deze opdracht uit vanuit Cluster Manager om de voortgang van de configuratie van de marionet te bekijken.

#for host in $(hosts-all.sh | grep 'sessionmgr' | tail -1); do echo checking in $host; ssh $host "tail -f /var/log/puppet.log"; done

2022-11-08 06:48:34 +0000 Service[whisper](provider=cps) (info): whisper will be managed using monit.

2022-11-08 06:48:34 +0000 Service[whisper](provider=cps) (info): whisper will be managed using monit.

2022-11-08 06:48:34 +0000 /Stage[main]/Whisper/Service[whisper] (notice): Triggered 'refresh' from 1 event

2022-11-08 06:48:39 +0000 Stage[main] (info): Unscheduling all events on Stage[main]

2022-11-08 06:48:40 +0000 Puppet (notice): Applied catalog in 93.27 seconds

[Tue Nov 08 06:48:42 +0000 2022] * Completed puppet configuration for dc1-sessionmgr02...

[Tue Nov 08 06:48:42 +0000 2022] - NTP sync started, check the logs in vm-init.log

Verifiëren

Gebruik deze sectie om te controleren of uw configuratie goed werkt.

Valideer de nieuwste configuratie in sessionmgr VM's en vergelijk deze met de uitvoer van Stap 2. Voer deze opdracht uit vanuit Cluster Manager.

[root@installer ~]# for host in $(hosts-all.sh | grep 'sessionmgr'); do echo checking in $host; ssh $host "cat /etc/collectd.d/dbMonitorList.cfg"; done

checking in sessionmgr01

session_cache|session|60

sk_cache|secondary_key|60

diameter|endpoints|60

spr|subscriber|60

balance_mgmt|account|60

checking in sessionmgr02

session_cache|session|60

sk_cache|secondary_key|60

diameter|endpoints|60

spr|subscriber|60

balance_mgmt|account|60

[root@installer ~]#

Problemen oplossen

Deze sectie bevat informatie die u kunt gebruiken om problemen met de configuratie te troubleshooten.

Dit MongoDB fragmentatiealarm werd geïntroduceerd in 20.1 en het werd niet gemeten in eerdere releases. Standaard is de fragmentatiedrempelwaarde 40%. Deze drempelwaarde moet worden gewijzigd op basis van uw implementatiegrootte, verkeerspatronen (call-modellen) en andere verkeerspatronen. Anders, CPS werpt geen/ongewenste de drempel van de gegevensbestandfragmentatie doorbroken alarm.