Lighty est un logiciel de supervision et de suivi des performances de bases de données PostgreSQL.
Le logiciel est compatible avec les versions supérieures ou égales à la 9.6.
Vision des performances de plusieurs bases de données en simultané |
Vision de l’activité d’une base en temps réel |
Vision de l’activité passée |
Navigation facile parmi les nombreuses informations des bases grâce aux rapports SQLs |
Comparaison de l'activité sur différentes périodes et pour différentes bases |
Le logiciel fonctionne sur les plateformes Windows et Linux.
Une option est prévue dans le logiciel pour vous permettre d'utiliser plus ou moins de mémoire suivant les besoins. Le besoin minimum en mémoire est de 256 Mo et peut aller jusqu'à 1024 Mo suivant votre choix. La valeur conseillée est de 512 Mo.
L'espace disque occupé est d'environ 200Mo.
Le logiciel est distribué en format compressé zip sur les environnements Windows.
Il suffit de décompresser ce fichier à l'endroit désiré. Un répertoire Lighty est alors créé avec une arborescence contenant tous les fichiers nécessaires à son fonctionnement. Lancer ensuite Lighty.exe.
Une version du JRE (Java Runtime Environment) est incluse (version 8 update 161) |
La mise à jour du logiciel peut se faire de deux manières. Dans les deux cas, vos préférences seront préservées.
Une fenêtre apparaît, vous indiquant si vous utilisez la dernière version. Si ce n'est pas le cas, vous avez le choix de télécharger et installer automatiquement la dernière version. (Une connexion internet est nécessaire. Pour les accès internet à travers un proxy, il sera peut-être nécessaire de configurer cet accès à travers les options du logiciel).
Suppression de l'arborescence Lighty puis décompression du fichier zip.
La version d’essai gratuite est pleinement fonctionnelle. Cependant, vous ne pouvez pas déclarer plus de 5 connexions. Quand la période d’évaluation est terminée, seul le monitoring multi-bases reste accessible.
L-ASH (Lighty ASH) est un petit utilitaire permettant de simuler la fonctionnalité ASH. Cet utilitaire prend une image toutes le secondes environ des sessions actives. Ces images sont stockées dans des table pour pouvoir ensuite être restituées dans l'écran Activity Viewer
shared_preload_libraries = 'pg_stat_statements' pg_stat_statements.track = all track_io_timing=on
-bash-4.2$ l_ash/lighty.sh status /var/lib/pgsql/l_ash/Lightylocalhost5432.pid started : 591Le fichier Lightylocalhost5432.pid contient le pid du processus Lighty.sh lancé : ici 591.
Il est possible d'installer un agent de collecte sous windows, pour une instance locale ou bien pour une instance distante.
Dans ce cas il faut :
Cette barre d'outils peut être masquée. Toutes les options de la barre d'outils sont également disponibles dans les menus ou par l'intermédiaire de raccourcis clavier.
Raccourci | Description |
---|---|
Ctrl + G | Passage en mode multiple connexions |
Ctrl + I | Passage en mode simple connexion |
Ctrl + M | Affiche la page de configuration des connexions |
Ctrl + A | Ajout d'une nouvelle connexion |
Ctrl + O | Affiche la fenêtre d'options |
Ctrl + N | Affiche ou cache la fenêtre flottante des connexions |
Ctrl + R | Affiche ou cache la fenêtre flottante des rapports |
Ctrl + Q | Affiche ou cache la fenêtre flottante des statistiques d'un SQL |
Ctrl + S | Affiche ou cache la fenêtre flottante des statistiques d'une session |
Lighty utilise des fenêtres flottantes dans son interface graphique. Ces fenêtres peuvent être regroupées, déplacées sur un des bords de la fenêtre principale, redimensionnées ou cachées. Certaines peuvent être maximisées en double-cliquant sur la barre de titre ou sur l'icône correspondante.
Fenêtre | Peut être maximisée | Déplaçable |
---|---|---|
Liste des connexions | ||
Liste des rapports SQLs | ||
Statistiques SQL | ||
Statistiques Session |
Le tableau de bord vous offre un aperçu de différentes statistiques d’activité via une page unique. Sa gestion se fait avec les icônes . Cette page unique est organisée en onglets. Vous pouvez ajouter un nouvel onglet à partir du bouton . Chaque onglet peut être nommé. Vous pouvez également fermer un onglet par le bouton prévu. A l’intérieur de chaque onglet, organisez votre tableau à l’aide de gadgets prédéfinis. Par défaut, le tableau comporte 3 colonnes dédiées aux gadgets. Réduisez / augmentez le nombre de colonnes à l'aide du bouton . Les gadgets disponibles pour le tableau de bord sont visibles en cliquant sur le bouton . Pour intégrer un gadget au tableau de bord, il vous suffit de glisser-déposer le gadget à l'endroit voulu à l'aide de la souris. Les gadgets sont redimensionnables (largeur et hauteur). Vous pouvez également personnaliser ou supprimer n'importe quel gadget du tableau de bord. Un même gadget peut être ouvert plusieurs fois.
Certains possèdent des options. Dans ce cas, l’icône apparaît en haut à droite du gadget.
Le principe de tableau de bord est utilisé dans 2 écrans (par défaut préremplis avec quelques gadgets) :
Les liens hypertexte vous permettent de naviguer facilement parmi les nombreuses informations disponibles. Ils sont de couleur bleue.
Dans l'écran des rapports, l'historique de votre navigation est affiché en haut de la fenêtre, vous permettant de revenir instantanément à l'information souhaitée.
Les filtres sont omniprésents dans les différentes fenêtres du logiciel. Ils permettent d'isoler très facilement l'information désirée.
Il existe 3 types de filtre :
Ce composant vous informe visuellement de l'activité d'un identifiant dans une fourchette de temps.
L'exemple ci-dessous vous montre la consommation de SQLs dans une fourchette de temps (11h50 à 14h10) :
Plusieurs informations sur un seul et même composant :
Les plages d'exécution
Le type d'activité
Le temps d'activité
De nombreux écrans proposent un rafraîchissement des informations affichées.
Dans ce cas, les boutons vous permettent de gérer ce rafraîchissement.
Pour un rafraîchissement automatique, sélectionnez la case à cocher puis la fréquence dans la liste (10s, 30s ou 60s). Un décompte est affiché.
Pour un rafraîchissement manuel, cliquez sur l'icône correspondante.
Le bouton d'export permet, suivant les fenêtres et le type d'information affichées, de réaliser différentes opérations :
L'ajout se fait par le bouton , le menu ou par le raccourci Ctrl + A.
Ajouter une connexion se fait en 3 étapes.
Le nom de la connexion doit être unique.
Par défaut un pool de connexion de 10 sessions est préconisé et utilisé. Vous pouvez augmenter ou diminuer ce pool.
Le type et l'application vous permettent de grouper vos connexions suivant leurs fonctions.
Vous pourrez ainsi facilement identifier ces connexions par la suite (dans le menu ou dans le panneau de configuration).
Définissez l'utilisateur ainsi que le mot de passe.
Une connexion en tant que SysDBA permet de visualiser certains rapports spéciaux (cache des données, paramètres cachés, contenu alert log...).
Le mot de passe peut être sauvegardé (sous format crypté) vous évitant ainsi une saisie à chaque connexion.
La configuration de la connexion peut se faire en saisissant le nom du serveur, le port et le nom de l'instance ou nom de service. Vous pouvez également saisir une chaîne complète de connexion (entrée TNS par exemple).
Definissez le nombre de jours de retention des données pour le gadget SQL Aggregate
Cette fenêtre est accessible depuis le menu "Options" , par l'icône ou via le raccourci Ctrl + M.
La fenêtre liste toutes les connexions définies. Vous pouvez ainsi modifier leur configuration, ou supprimer une connexion.
Cette fenêtre est accessible depuis le menu "Options" , par l'icône ou via le raccourci Ctrl + M.
La fenêtre liste toutes les connexions définies. Vous pouvez ainsi modifier leur configuration, ou supprimer une connexion.
La retention definie le nombre de jours pendant lesquels les données collectées sont concervées (et exploitables par Lighty). Elle est de 7 jours par défaut mais peut-être modifiées celons les besoins.
Le bouton Check Agent Version permet d'interroger la base Lighty pour récupérer la version utilisée par l'agent installé, ainsi que le site Lighty Software pour obtenir la dernière version disponible.
Si une connexion internet est disponnible et qu'une nouvelle version est detectée, son telechargement est proposé.
Sans connexion internet disponnible depuis le PC d'installation de Lighty, il faut telecharger l'agent depuis un autre PC à l'aide de l'url fournie.
Vous pouvez lister les connexions par l'intermédiaire du menu "Connection List" ou par la Fenêtre Flottante du même nom.
Le menu regroupe les connexions par type et par application.
3 onglets vous permettent de naviguer parmi les statistiques.
L'onglet "Activity Viewer" permet de visualiser l'activité d'une base de données.
Celle-ci se fait à l'aide des boutons :
Vous pouvez également choisir exactement la date et heure de début et de fin en cliquant sur le bouton "Custom" puis en saisissant les dates / heures de début et fin.
Les boutons "Prev Day" et "Next Day" permettent de passer au jour précédent ou suivant en conservant la période horaire
La list "tags" permet de sélectionner une période enregistrée grace au bouton "tag".
Ces periodes ne sont pas supprimées lors de la purge reguliére des données, mais uniquement en utilisant le bouton
Le filtre de type champ vous permet de saisir un SQL ID ou un PID de session.
Vous pouvez également afficher / masquer la liste des filtres prédéfinis à l'aide du bouton
Ces filtres sont configurables (bouton ) à partir d'une liste d'éléments.
Utilisez la souris pour sélectionner une partie du graphique et n'afficher que les statistiques correspondantes.
Les boutons du graphique (ou le menu clic-droit de la souris) vous permettent de sauvegarder, copier dans le presse papier, sélectionner le zoom, supprimer le zoom...
Gadget | Description | Composant Timeline | Options Possibles |
---|---|---|---|
Graphique | Affiche l'activité d'un sous-ensemble sous forme de graphe de type camembert ou historique |
Graphique de type camembert ou historique Choix des statistiques (machine, programme, utilisateur, identifiant client, module, action, opération SQL, SQL, évènement système) |
|
Sessions |
Affiche les sessions. Permet d'affiner l'information en affichant les SQLs pour une session. |
||
SQLs |
Affiche les SQLs Permet d'affiner l'information en affichant les évènements système pour un SQL. Le plan d'exécution est affiché à côté du SQL. |
||
SQLs Aggregate |
Affiche les SQLs regroupés par similarité (seuls les paramètres diffèrent) Permet d'affiner l'information en affichant les évènements système pour un SQL. Le plan d'exécution est affiché à côté du SQL. L'aggregation des requêtes se fait avec une granularité de 5 minutes |
||
Sessions bloquantes | Affiche les sessions bloquantes ainsi que les sessions bloquées dans l'intervalle de temps |
Le panneau vous donne en temps réel l'activité ainsi que les statistiques de votre base.
Il est organisé en tableau de bord vous permettant de customiser l’affichage.
L'onglet "Reports" vous permet d'explorer les statistiques de votre base de données. Ces rapports sont répartis par catégorie et sous-catégorie pour plus de simplicité. (Les textes sont laissés volontairement en anglais)
Catégorie | Sous-Catégorie |
---|---|
DB Information | Version, Users, Extensions, Instance parameters, Databases, Schema... |
Physical Design | Tablespace size... |
DB Statistics | dba_cache_hit_ratio, dba_taille_objets, dba_taille_bytea, dba_fragmentation_table, dba_dependances_fk... |
Sessions | pg_stat_activity... |
SQLs | pg_stat_statements, top queries, running... |
Segments / Tables | ... |
Locks / Transactions | Blocking session... |
Alert | TableSpace, FileSystemUsed... |
Une fenêtre de type Fenêtre Flottante est dédiée aux statistiques d’un SQL. Elle est affichée automatiquement lorsque vous cliquez sur le SQL ID présent sur les différents écrans.
Vous pouvez également saisir le SQL ID (éventuellement le numéro de « child ») pour effectuer une recherche manuelle.
Retrouvez toutes les informations liées à un SQL |
Text de la requête |
Les statistiques d'exécution |
Le but de ce nouvel onglet est d’améliorer la comparaison de deux sources de données
        • La base courante avec un snapchot (export) d’une base sauvegardé au préalable.
        • Vous pouvez aussi comparer deux états antérieurs (exports).
        • Ou une même base à deux moments différents.
Dans la partie "Reports", on trouve la section "Alert".
Les rapports de cette section sont appelés toutes les minutes.
SELECT 'FileSystemUsed' as "key",'File System Used ' || FSUse || '% > 40%' as "Alert" FROM ( SELECT (( p2.value::decimal / p.value::decimal)*100)::integer as FSUse FROM l_ash.parameters p,l_ash.parameters p2 WHERE p.name='filesys_size' AND p2.name='filesys_used' ) T WHERE FSUse > 40Si la taille occupée dépasse 40% de la capacité du disque abritant les données PostgreSQL, cette requête renverra une ligne de résultat.
Dans la partie "Reports" se trouvent différents rapports mettant en avant les informations les plus pertinentes pour le travail des DBAs. Vous avez la possibilité de créer vos propres rapports personnalisés.
La liste des rapports est accessible via le menu Windows
Ou bien via le menu Reports
Il est possible d'exporter et d'importer un rapport personnalisé
Une fenêtre de type Fenêtre Flottante est dédiée aux statistiques d’une session. Elle est affichée automatiquement lorsque vous cliquez sur le SID d’une session présent sur les différents écrans.
Vous pouvez également saisir le SID pour effectuer une recherche manuelle.
Retrouvez toutes les informations liées à une session |
Les informations de connexion |
L’historique d’exécution des SQLs sous forme de Timeline |
Vous avez la possibilité d'importer et d'exporter les connexions aux bases de données entre les logiciels Lighty
Vous pouvez kill une session depuis l'interface de Lighty
Vous avez la possibilité d'exporter les rapports dans un format CSV
Le SQL Report Wizard permet aussi de dupliquer ou de modifier des rapports déjà existants. La fonction "Duplicate" a été conçue afin de créer des rapports personnalisés en prenant pour base des rapports existants. Ainsi un utilisateur lambda pourra définir ses propres rapports sans pour autant modifier ceux déjà existants. Ce sera pour lui un gain de temps considérable car s’il existe déjà un rapport similaire à celui désiré, il n’aura pas à tout recréer. Le bouton duplicate se trouve dans l’onglet Report en bas de l’écran.
Menu | Bas de fenêtre | Fenêtre Reports |
Default table | |
Single Line table properties | |
Tree Table Properties | ... |
Text Area | |
Html Area | La requête renvoie une sortie HTML qui est affichée dans le navigateur par défaut |
Clob Text | ... |
Refreshable | Le rapport sera rafraîchi périodiquement, la période peut être configurable |
Displayed | Indique si la colonne sera affichée dans le rapport |
Filtered | Indique si la colonne pourra servir à filtrer des résultats (voir écran Filter Values) |
Incremental | Indique si la colonne affiche la différence avec le résultat précèdent de la requête (cas d’une requête qui est rafraîchie périodiquement) |
Virtual | Indique si la valeur de la colonne sera calculée en fonction de 2 colonnes (voir écran Virtual Columns) |
Type |
Indique le type de valeur retournée. Le type peut être redéfini grâce à une liste; suivant le type, la colonne affichera des liens par défaut vers d’autres fenêtres. Exemple : Pour le type SID (Session ID), un clic sur la valeur permet d’ouvrir la fenêtre Session statistics |
ProgressBar | Indique si la colonne affiche les valeurs sous la forme d’une barre de progression (voir écran Progress Bar properties). Exemple : |
Linked |
Indique si la colonne affiche un lien vers un autre rapport (voir écran Linked Column) Exemple : |
Min. Width | Indique la taille minimale en pixel de la colonne |
Opérande 1 | Opérateur | Opérande 2 |
CheckBox Filter | Utilisé pour les colonnes de type Yes / No, il affiche une case à cocher et un label défini dans le champ Filter Displayed Text. La valeur utilisée pour filtrer lorsque la case est cochée est définie dans le champ Filter value Exemple : pour la colonne IsDefault on aura l’affichage suivant : |
Field Filter | Affiche un champ de saisie d’une valeur pour le filtre. Pour les bases multitenant le filtre sur le PDB est automatiquement ajouté |
Panel Filter | Affiche un panel contenant les valeurs de toutes les colonnes définies comme filtered Exemple : ici Backup type et Status sont des colonnes utilisées pour le filtrage |