Configurar el nombre de tasques en paral·lel que executa l’aplicació
Aquest procediment permet modificar el nombre de tasques asíncrones que l’aplicació Cyberwatch executa en paral·lel.
Explicació de les cues d’espera del programari
L’aplicació processa les tasques de manera asíncrona per obtenir un rendiment millor i paral·lelitzar les tasques.
Les tasques en espera es col·loquen en diferents cues d’espera segons el tipus de tasca.
| Cua | Serveis | Funció principal |
|---|---|---|
| default | sidekiq_master | Tasques diverses. |
| reports | sidekiq_master | Generació de les exportacions i dels informes PDF. |
| servers | sidekiq, sidekiq_master | Càlcul de les vulnerabilitats dels actius. |
| default:NODE | sidekiq_node | Execució dels descobriments i de les anàlisis dels actius. |
| web-scanner:NODE | sidekiq_node | Execució dels escanejos d’aplicacions web. |
Algunes cues tenen una variant express que serveix per accelerar el processament de les tasques prioritàries. Comparteixen la mateixa capacitat de càlcul i no tenen concurrència pròpia, a excepció de reports-express, que en reserva una part.
Addició de rèpliques de Sidekiq
Per defecte, Sidekiq només utilitza una CPU per processar les tasques.
En la majoria de configuracions, el valor per defecte del nombre de tasques permet utilitzar tota una CPU per processar aquestes tasques en paral·lel.
En cas de latència de l’aplicació a causa d’un processament massa lent de les tasques, el primer enfocament recomanat és permetre que Sidekiq utilitzi les dues CPU del servidor Cyberwatch.
Això permetrà, en un primer moment, duplicar el nombre de tasques que l’escàner de Cyberwatch pot executar simultàniament.
Aquestes modificacions només s’han de fer per recomanació d’un enginyer de Cyberwatch.
Per fer-ho, seguiu el procediment següent:
Modifiqueu el fitxer
/etc/cyberwatch/config.envi editeu o afegiu la línia següent:# Number of Sidekiq replicas to start. CBW_SIDEKIQ_REPLICAS=1Substituïu
1pel nombre de rèpliques que vulgueu.Reinicieu Cyberwatch segons el procediment estàndard:
sudo cyberwatch restart
Configuració del nombre de fils d’execució
A més de configurar el nombre de processos de Sidekiq amb les rèpliques, es pot augmentar la capacitat de cadascun configurant-ne el nombre de fils d’execució (threads).
| Servei | Variable | Recursos limitants | Cues afectades |
|---|---|---|---|
| sidekiq | SIDEKIQ_CONCURRENCY | CPU | servers |
| sidekiq_master | SIDEKIQ_CONCURRENCY | CPU | default, servers |
| sidekiq_master | REPORTS_CONCURRENCY | RAM | reports |
| sidekiq_node | SIDEKIQ_NODE_CONCURRENCY | Xarxa | default:NODE |
| sidekiq_node | WEB_SCANNER_CONCURRENCY | Xarxa, CPU, RAM | web-scanner:NODE |
La concurrència del servei sidekiq es pot augmentar a qualsevol node, i contribueix a la capacitat de càlcul global de la cua servers. Les altres cues són específiques d’un node, de manera que la configuració de la concurrència s’hi ha d’aplicar específicament per obtenir l’efecte desitjat.
Aquestes modificacions només s’han de fer per recomanació d’un enginyer de Cyberwatch.
Per configurar, per exemple, la variable SIDEKIQ_CONCURRENCY del servei sidekiq, modifiqueu el fitxer /etc/cyberwatch/configs-enabled/99-sidekiq-concurrency.yml d’aquesta manera:
version: '3.7'
services:
sidekiq:
environment:
SIDEKIQ_CONCURRENCY: 4
A continuació, reinicieu la vostra instància amb sudo cyberwatch restart.
D’aquesta mateixa manera es poden configurar les altres variables dels altres serveis.
Configuració del nombre d’escanejos d’imatges Docker en paral·lel
Es pot configurar el nombre d’escanejos d’imatges Docker que l’aplicació Cyberwatch pot fer en paral·lel.
La modificació d’aquest valor pot tenir un impacte significatiu en el rendiment del sistema i en el consum de recursos. Es recomana modificar aquest valor només després d’haver consultat un enginyer de Cyberwatch.
Configuració per a Docker Swarm i Podman
Per modificar aquest valor en un entorn Docker Swarm o en un entorn Podman, seguiu el procediment següent:
Modifiqueu el fitxer
/etc/cyberwatch/config.envi editeu o afegiu la línia següent:# Number of container-scanner replicas to start. CBW_CONTAINER_SCANNER_REPLICAS=1
Substituïu 1 pel nombre de rèpliques que vulgueu. Per defecte, cada rèplica pot executar fins a 4 escanejos en paral·lel.
Reinicieu Cyberwatch segons el procediment estàndard:
sudo cyberwatch restart
Configuració per a Kubernetes
Per modificar aquest valor en un entorn Kubernetes, seguiu el procediment següent:
Modifiqueu el fitxer
values.ymli afegiu-hi les línies següents:containerScanner: replicaCount: Non la variable
Nha de prendre el valor del nombre de rèpliques que vulgueu per al container-scanner. Per defecte, cada rèplica pot executar fins a 4 escanejos en paral·lel.Per repartir les rèpliques entre diversos nodes, vegeu el volum de treball del pod container-scanner.
Apliqueu les modificacions segons el procediment estàndard de desplegament de Kubernetes.