Nouveau: Découvrez les fonctionnalités avancées de reporting présentes dans Datasentinel
Comment les rapports d’activité vous permettent d’analyser finement les performances de vos clusters ?
Cet article vous décrit les différentes manières d’utiliser les rapports d’activité afin de compléter vos analyses
Ces rapports peuvent ainsi être partagés entre équipes, mis de côté pour comparaison ultérieure, envoyés à un éditeur de logiciels.
Les exemples d’utilisation sont nombreux.
Ils sont parfaits pour une analyse à froid de l’activité de vos clusters lors de problèmes de performance
Les Rapports
Les rapports sont créés au format PDF et comprennent graphes temporels et données statistiques
Il existe un certain nombre de rapports prédéfinis.
Rapport | Description |
---|---|
Workload sessions | Activité historisée et détaillée des sessions avec leur impact sur l’activité globale |
Top queries | Requêtes les plus consommatrices calculées sur un critère particulier (par temps d’exécution par exemple) |
Top tables / indexes | Statistiques d’activité des tables et indexes calculées sur un critère particulier (par lectures disque par exemple) |
Clusters | Statistiques d’activité d’instance (activité IOs, Activité du cache, checkpoints, WAL généré, statistiques par database, …) |
Servers | Statistiques serveur (activité IOs, cpu, mémoire, swap, réseau, file-systems) |
Data size | Espace utilisé par database comprenant les tables et indexes les plus volumineux |
Rapport complet | Rapport complet de l’activité reprenant l’ensemble des éléments précédents |
Rapport détaillé d’une query | Statistiques complètes de l’activité d’une query ainsi que son ou ses plans d’exécution associés (si extension pg_store_plans installée) |
Création d’un rapport d’activité
Un rapport peut contenir l’activité d’un ou plusieurs clusters et peut être filtré sur une database particulière
Les rapports se définissent ainsi:
1. Choix de la tranche horaire d’activité
2. Définition d’un ou plusieurs filtres afin de sélectionner le ou les cluster(s) désiré(s).
Il est possible d’intégrer plusieurs clusters dans un même rapport (Cf TAGs associés à chaque instance)
Quelques possibilités de rapport |
---|
Rapport de l’activité d’un cluster |
Rapport incluant les clusters d’une architecture haute disponibilité: cluster primaire + read replicas |
Rapport de l’activité des clusters de production |
Rapport d’activité de l’ensemble des clusters d’un datacenter |
3. Choix d’une database particulière si besoin. Par défaut, l’activité de toutes les databases est extraite.
4. Lancement du rapport.
Si le rapport est initié depuis l’icône présent sur certains dashboards, les options du dashboard actif sont alors préservées. (Nombre de lignes maximum, critère choisi, …)
Le rapport peut être généré et téléchargé immédiatement ou envoyé par email à un ou plusieurs destinataires. (Cf Documentation )
Automatiser l’envoi de rapports
L’automatisation des rapports Datasentinel est un processus qui consiste à planifier l’envoi à un moment précis d’un rapport mis à jour automatiquement, à une ou des personnes choisies.
Ce processus est notamment très utile lorsque vous souhaitez utiliser des rapports d’analyse personnalisés.
Automatiser les rapports comporte de nombreux avantages
- Se concentrer sur l’essentiel: l’analyse des performacnes.
- Pas besoin de se connecter sur l’interface graphique. Ces rapports peuvent être envoyés à des personnes non déclarées sur la plateforme.
- Mise de côté des rapports pour analyse, comparaison ultérieure.
Il suffit pour cela, lors de la création d’un rapport, de choisir l’option scheduled email puis de remplir ses caractéristiques d’envoi
- Choix de l’heure et du jour d’exécution
- Fréquence d’envoi : journalière ou hebdomadaire
- Plage horaire d’activité relative à l’heure d’exécution du rapport
Le rapport se déclenchera 3 minutes après sa définition, afin d’avoir les dernières métriques d’activité.
(Cf Documentation pour une gestion complète)
Déclencher l’envoi de rapports via l’API
La gestion de rapports via l’API permet d’intégrer l’exécution et l’envoi de rapports à des moments précis (fin d’un traitement batch de nuit par exemple), très pratique lorsque l’on souhaite avoir une trace d’une activité particulière.
L’exemple ci-dessous crée un rapport complet de l’activité d’un cluster filtré sur une database avec envoi par mail
cat > $TMP_JSON_FILE <<EOF
{
"utc_time": true,
"from": "2020-02-29 00:00:00",
"to": "2020-02-29 04:00:00",
"filters": [
{
"tag": "pg_instance",
"value": "pg-crm-0926@:9342"
}
],
"database": "pgbench",
"report_type": "email",
"subject": "[Datasentinel] Report activity",
"recipients": ["contact@datasentinel.io"]
}
EOF
export TOKEN=<<ACCESS_TOKEN>>
curl -sk --header "user-token: $ACCESS_TOKEN" --header 'Content-Type: application/json' -X POST https://$DATASENTINEL_HOST//ds-api/activity/full-report -d @$TMP_JSON_FILE
Cette gestion de rapports peut être incluse dans une chaîne d’automatisation DevOps.
Retrouvez l’ensemble de la documentation de l’API
Conclusion
Les rapports d’activité sont d’une aide précieuse permettant des analyses précises à postériori.
Ces rapports peuvent être partagés, conservés sur disque pour des consultations ultérieures.
Les fonctionnalités uniques de Datasentinel et la simplexité de son interface graphique permettent une prise en main rapide afin d’analyser facilement et précisément les performances de vos instances PostgreSQL
Stay connected!