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:
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.