Si votre base de données Postgres comporte un grand nombre de relations (quelques milliers), Datadog recommande d’ajouter le paramètre collect_database_size_metrics: false à votre configuration d’instance pour cette base de données. Si ce paramètre est désactivé, l’Agent n’exécute pas la fonction pg_database_size() permettant de recueillir des statistiques sur la taille de la base de données, car celle-ci est peu performante sur les instances comportant un grand nombre de tables.
En outre, si vous partitionnez vos données sur plusieurs tables et que les définitions des tables sont identiques (à l’exception de leur nom), vous risquez de vous retrouver avec un grand nombre de requêtes normalisées :
Dans ce cas, utilisez l’option replace_digits pour surveiller ces requêtes sous la forme d’une seule requête normalisée. Toutes les métriques associées à ces requêtes seront alors regroupées dans une seule requête :
SELECT*FROMdaily_aggregates_?
Ajoutez l’option replace_digits à la configuration de l’instance de votre base de données dans l’Agent Datadog :
Si certaines requêtes sont relativement peu fréquentes ou s’exécutent rapidement, augmentez le taux d’échantillonnage en réduisant la valeur collection_interval afin de recueillir des échantillons plus fréquemment.
Définissez le paramètre collection_interval dans la configuration de l’instance de votre base de données dans l’Agent Datadog. Ce paramètre est défini sur 1 seconde par défaut. Un exemple est disponible dans le fichier postgres/conf.yaml.example.
Réduisez cette valeur pour obtenir un intervalle plus court :