Dimensionnement du cluster

Ce produit n'est pas pris en charge par le site Datadog que vous avez sélectionné. ().
CloudPrem est en bêta

Participez à la bêta de CloudPrem pour profiter de nouvelles fonctionnalités autohébergées de gestion des logs.

Request Access

Présentation

Un dimensionnement correct du cluster garantit des performances optimales, une rentabilité et une fiabilité optimales pour votre déploiement CloudPrem. Vos besoins en matière de dimensionnement dépendent de plusieurs facteurs, notamment le volume d’ingestion de logs, les schémas de requêtes et la complexité de vos données de logs.

Ce guide fournit des recommandations de base pour le dimensionnement des composants de votre cluster CloudPrem : indexeurs, moteurs de recherche, services de support et base de données PostgreSQL.

Utilisez votre volume de logs journalier attendu et vos taux d'ingestion aux heures de pointe comme points de départ, puis surveillez les performances de votre cluster et ajustez le dimensionnement en conséquence.

Indexeurs

Les indexeurs reçoivent les logs des Agents Datadog, puis les traitent, les indexent et les stockent sous forme de fichiers d’index (appelés splits) dans un stockage objet. Un dimensionnement correct est essentiel pour maintenir le débit d’ingestion et garantir que votre cluster peut gérer votre volume de logs.

SpécificationRecommandationRemarques
Performances5 Mo/s par vCPUDébit de base pour déterminer le dimensionnement initial. Les performances réelles dépendent des caractéristiques des logs (taille, nombre d’attributs, niveau d’imbrication)
Mémoire4 Go de RAM par vCPU
Taille minimale des pods2 vCPU, 8 Go de RAMMinimum recommandé pour les pods d’indexation
Capacité de stockageAu moins 200 GoRequis pour les données temporaires lors de la création et de la fusion de fichiers d’index
Type de stockageSSD locaux (recommandé)Les HDD locaux ou le stockage en mode bloc attaché au réseau (Amazon EBS, Azure Managed Disks) peuvent également être utilisés
E/S disque~20 Mo/s par vCPUÉquivalent à 320 IOPS par vCPU pour Amazon EBS (en supposant 64 Ko par IOPS)

Pour indexer 1 To de logs par jour (~11,6 Mo/s), suivez les étapes suivantes :

  1. Calculez les vCPU : 11,6 Mo/s ÷ 5 Mo/s par vCPU ≈ 2,3 vCPU
  2. Calculez la RAM : 2,3 vCPU × 4 Go de RAM ≈ 9 Go de RAM
  3. Ajoutez une marge : commencez avec un pod d’indexation configuré avec 3 vCPU, 12 Go de RAM et un disque de 200 Go. Ajustez ces valeurs en fonction des performances observées et des besoins en redondance.

Moteurs de recherche

Les moteurs de recherche traitent les requêtes de recherche depuis l’interface Datadog, en lisant les métadonnées depuis le Metastore et en récupérant les données depuis le stockage objet.

Un point de départ général consiste à provisionner environ le double du nombre total de vCPU alloués aux indexeurs.

  • Performances : les performances de recherche dépendent fortement de la charge de travail (complexité des requêtes, simultanéité, quantité de données analysées). Par exemple, les requêtes de termes (status:error AND message:exception) sont généralement moins coûteuses en calcul que les agrégations.
  • Mémoire : 4 Go de RAM par vCPU de moteur de recherche. Provisionnez davantage de RAM si vous prévoyez de nombreuses requêtes d’agrégation simultanées.

Autres services

Allouez les ressources suivantes pour ces composants légers :

ServicevCPURAMRéplicas
Plan de contrôle24 Go1
Metastore24 Go2
Janitor24 Go1

Base de données PostgreSQL

  • Taille de l’instance : pour la plupart des cas d’utilisation, une instance PostgreSQL avec 1 vCPU et 4 Go de RAM est suffisante
  • Recommandation AWS RDS : si vous utilisez AWS RDS, le type d’instance t4g.medium constitue un bon point de départ
  • Haute disponibilité : activez le déploiement Multi-AZ avec un réplica de secours pour la haute disponibilité

Niveaux de dimensionnement du Helm chart

Le Helm chart CloudPrem fournit des niveaux de dimensionnement prédéfinis via les paramètres indexer.podSize et searcher.podSize. Chaque niveau définit les limites de ressources en vCPU et en mémoire pour un pod, et configure automatiquement les paramètres spécifiques aux composants.

TaillevCPUMémoire
medium14 Go
large28 Go
xlarge416 Go
2xlarge832 Go
4xlarge1664 Go
6xlarge2496 Go
8xlarge32128 Go

Les valeurs suivantes sont automatiquement appliquées lorsque vous définissez indexer.podSize dans le Helm chart. Pour plus de détails sur chaque paramètre, consultez la section Configuration de l’indexeur Quickwit.

Taillesplit_store_max_num_bytessplit_store_max_num_splits
medium200G10000
large200G10000
xlarge200G10000
2xlarge200G10000
4xlarge200G10000
6xlarge200G10000
8xlarge200G10000

Les valeurs suivantes sont automatiquement appliquées lorsque vous définissez indexer.podSize dans le Helm chart. Pour plus de détails sur chaque paramètre, consultez la section Configuration de l’API d’ingestion Quickwit.

Taillemax_queue_memory_usagemax_queue_disk_usage
medium2GiB4GiB
large4GiB8GiB
xlarge8GiB16GiB
2xlarge16GiB32GiB
4xlarge32GiB64GiB
6xlarge48GiB96GiB
8xlarge64GiB128GiB

Les valeurs suivantes sont automatiquement appliquées à la configuration du moteur de recherche lorsque vous définissez searcher.podSize dans le Helm chart. Pour plus de détails sur chaque paramètre, consultez la section Configuration du moteur de recherche Quickwit.

Taillefast_field_cache_capacitysplit_footer_cache_capacitypartial_request_cache_capacitymax_num_concurrent_split_searchesaggregation_memory_limit
medium1GiB500MiB64MiB2500MiB
large2GiB1GiB128MiB41GiB
xlarge4GiB2GiB256MiB82GiB
2xlarge8GiB4GiB512MiB164GiB
4xlarge16GiB8GiB1GiB328GiB
6xlarge24GiB12GiB1536MiB4812GiB
8xlarge32GiB16GiB2GiB6416GiB

Pour aller plus loin