Comment utiliser efficacement les TAGs avec Datasentinel
Datasentinel utilise la très populaire base de données timeseries InfluxDB comme espace de stockage des métriques d’activité des instances PostgreSQL.
Une des fonctionnalités offertes par InfluxDB est de pouvoir associer des tags aux mesures stockées, autrement dit, d’indexer les métriques sur certains critères.
Un tag est composé d’une clé et d’une valeur. (Ex application=crm)
Certains tags sont créés automatiquement par Datasentinel pour chaque instance PostgreSQL.
Tag | Description |
---|---|
pg_instance | Concaténation du nom serveur et du nom de l’instance paramétrée |
pg_version | Version de l’instance PostgreSQL |
server | Nom du serveur |
database | Nom de la database, quand celle-ci est présente |
Définissez vos propres tags
Par exemple, spécifier l’application à laquelle se rattache l’instance.
Ce peut aussi être le type d’environnement, le provider, etc…
Il n’y a pas de restriction dans la création de TAGs suivant vos besoins
Exemple d’association de tags à l’enregistrement d’une instance sur un agent Datasentinel:
{
"name": "crm",
"host": "pg-crm-2031",
"port": 9342,
"user": "datasentinel",
"password": "password",
"tags": "application=crm,environment=production,provider=azure,datacenter=lyon"
}
La simplexité de l’interface graphique vous permet de naviguer, d’utiliser facilement et efficacement les tags.
Eviter tout caractère spécial dans le nommage des tags et leur valeur à l’exception du caractère underscore
Module Sessions workload
Le sampling des sessions actives (Voir Documentation) effectué par Datasentinel (vue pg_stat_activity) ajoute automatiquement des tags relatifs aux sessions
Tag | Description |
---|---|
application_name | Nom de l’application si spécifiée |
client_host_name | Nom du serveur client ou adresse IP |
command_type | Type de commande SQL |
process_id | Identifiant du process utilisateur |
query_md5_id | Identifiant (valeur MD5 calculée par Datasentinel) du sql en cours d’exécution |
user_name | Nom de l’utilisateur |
wait_event | Evènement d’attente (attente Ios, libération Verrou, …) ou en cours CPU |
wait_event_type | Type d’évènement (CPU, IOS, ..) |
Des TAGs: mais pourquoi faire ?
Une fois les tags paramétrés, il devient très simple de filtrer un périmètre d’instances par tag pour se focaliser par exemple sur un environnement particulier.
Il est également possible d’extraire différentes statistiques par tag (ou dimension) afin d’avoir une vision globale de l’activité, et pourquoi pas s’en servir à des fins de refacturation.
C’est ce que propose le module Data analysis.
Ci-dessous, l’exemple montre les top consommateurs regroupés par un tag: le provider
Workload consolidé
Il s’agit de regrouper le workload de plusieurs instances en fonction d’un critère, ce qui permet un large choix d’analyses.
Par exemple:
- Lister le Top queries de plusieurs instances d’une même application.
- Voir l’activité globale des instances d’un serveur
- Afficher le workload consolidé de vos instances primaires et répliquées en lecture seule
- Etc, …
Tout cela en seulement quelques clics, grâce aux TAGs
Mais ce n’est pas tout
Datasentinel offre une gestion d’utilisateurs (Voir Documentation)
La fonctionnalité Role based access permet de créer des rôles basés sur la valeur d’un ou plusieurs tags.
L’association d’un rôle à un utilisateur permet de limiter l’accès à tout ou partie d’un périmètre d’instances PostgreSQL.
Par exemple
- Créer un utilisateur avec accès aux seuls environnements de Développement.
Conclusion
Datasentinel est un outil de monitoring de performance et troubleshooting pour PostgreSQL
Bien utiliser les TAGs est essentiel pour tirer profit de la plateforme Datasentinel
Ses fonctionnalités uniques et la simplexité de son interface graphique permettent une prise en main rapide afin d’analyser facilement et précisément le workload de vos instances PostgreSQL
Stay connected!