temBoard - Présentation Julien Tachoires Consultant Septembre 2016 Julien Tachoires (Consultant) temBoard - Présentation Septembre 2016 1 / 18 Introduction Julien Tachoires (Consultant) temBoard - Présentation Septembre 2016 2 / 18 Introduction Genèse Tembo : Eléphant (Swahili) / Board : Tableau (Anglais) Objectif: faciliter la prise en main de PostgreSQL en production Julien Tachoires (Consultant) temBoard - Présentation Septembre 2016 3 / 18 Introduction Besoins Besoins: Console centralisée: gestion de parc Accès simplifié aux vues systèmes: interface web Intéragir avec le serveur PostgreSQL: interface / agent Collecte / historisation des données Julien Tachoires (Consultant) temBoard - Présentation Septembre 2016 4 / 18 Introduction Besoins Besoins: Console centralisée: gestion de parc Accès simplifié aux vues systèmes: interface web Intéragir avec le serveur PostgreSQL: interface / agent Collecte / historisation des données Julien Tachoires (Consultant) temBoard - Présentation Septembre 2016 4 / 18 Introduction Besoins Besoins: Console centralisée: gestion de parc Accès simplifié aux vues systèmes: interface web Intéragir avec le serveur PostgreSQL: interface / agent Collecte / historisation des données Julien Tachoires (Consultant) temBoard - Présentation Septembre 2016 4 / 18 Introduction Besoins Besoins: Console centralisée: gestion de parc Accès simplifié aux vues systèmes: interface web Intéragir avec le serveur PostgreSQL: interface / agent Collecte / historisation des données Julien Tachoires (Consultant) temBoard - Présentation Septembre 2016 4 / 18 Introduction Contraintes Contraintes: Non-intrusif Extensible Sécurisé Simple à installer / configurer Standardisé: API ReST Julien Tachoires (Consultant) temBoard - Présentation Septembre 2016 5 / 18 Introduction Contraintes Contraintes: Non-intrusif Extensible Sécurisé Simple à installer / configurer Standardisé: API ReST Julien Tachoires (Consultant) temBoard - Présentation Septembre 2016 5 / 18 Introduction Contraintes Contraintes: Non-intrusif Extensible Sécurisé Simple à installer / configurer Standardisé: API ReST Julien Tachoires (Consultant) temBoard - Présentation Septembre 2016 5 / 18 Introduction Contraintes Contraintes: Non-intrusif Extensible Sécurisé Simple à installer / configurer Standardisé: API ReST Julien Tachoires (Consultant) temBoard - Présentation Septembre 2016 5 / 18 Introduction Contraintes Contraintes: Non-intrusif Extensible Sécurisé Simple à installer / configurer Standardisé: API ReST Julien Tachoires (Consultant) temBoard - Présentation Septembre 2016 5 / 18 Introduction Composants 3 composants: Interface utilisateur aka temboard Agent aka temboard-agent Dépôt aka repository Julien Tachoires (Consultant) temBoard - Présentation Septembre 2016 6 / 18 Introduction Composants 3 composants: Interface utilisateur aka temboard Agent aka temboard-agent Dépôt aka repository Julien Tachoires (Consultant) temBoard - Présentation Septembre 2016 6 / 18 Introduction Composants 3 composants: Interface utilisateur aka temboard Agent aka temboard-agent Dépôt aka repository Julien Tachoires (Consultant) temBoard - Présentation Septembre 2016 6 / 18 Architecture globale Julien Tachoires (Consultant) temBoard - Présentation Septembre 2016 7 / 18 Agent Présentation 1/2 temboard-agent Daemon / Scheduler / Workers Python 2.6/2.7 Serveur HTTPS embarqué (SimpleHTTPServer) Connecteur PostgreSQL embarqué Julien Tachoires (Consultant) temBoard - Présentation Septembre 2016 8 / 18 Agent Présentation 1/2 temboard-agent Daemon / Scheduler / Workers Python 2.6/2.7 Serveur HTTPS embarqué (SimpleHTTPServer) Connecteur PostgreSQL embarqué Julien Tachoires (Consultant) temBoard - Présentation Septembre 2016 8 / 18 Agent Présentation 1/2 temboard-agent Daemon / Scheduler / Workers Python 2.6/2.7 Serveur HTTPS embarqué (SimpleHTTPServer) Connecteur PostgreSQL embarqué Julien Tachoires (Consultant) temBoard - Présentation Septembre 2016 8 / 18 Agent Présentation 1/2 temboard-agent Daemon / Scheduler / Workers Python 2.6/2.7 Serveur HTTPS embarqué (SimpleHTTPServer) Connecteur PostgreSQL embarqué Julien Tachoires (Consultant) temBoard - Présentation Septembre 2016 8 / 18 Agent Présentation 2/2 temboard-agent API ReST Authentification embarquée Plugins Configuration au format INI Julien Tachoires (Consultant) temBoard - Présentation Septembre 2016 9 / 18 Agent Présentation 2/2 temboard-agent API ReST Authentification embarquée Plugins Configuration au format INI Julien Tachoires (Consultant) temBoard - Présentation Septembre 2016 9 / 18 Agent Présentation 2/2 temboard-agent API ReST Authentification embarquée Plugins Configuration au format INI Julien Tachoires (Consultant) temBoard - Présentation Septembre 2016 9 / 18 Agent Présentation 2/2 temboard-agent API ReST Authentification embarquée Plugins Configuration au format INI Julien Tachoires (Consultant) temBoard - Présentation Septembre 2016 9 / 18 Interface utilisateur Présentation temboard Interface web Python 2.7 Dépendances: psycopg2 / tornado / SQLAlchemy bootstrap3 / jquery / Chart.JS / dygraph Plugins Configuration INI Julien Tachoires (Consultant) temBoard - Présentation Septembre 2016 10 / 18 Interface utilisateur Présentation temboard Interface web Python 2.7 Dépendances: psycopg2 / tornado / SQLAlchemy bootstrap3 / jquery / Chart.JS / dygraph Plugins Configuration INI Julien Tachoires (Consultant) temBoard - Présentation Septembre 2016 10 / 18 Interface utilisateur Présentation temboard Interface web Python 2.7 Dépendances: psycopg2 / tornado / SQLAlchemy bootstrap3 / jquery / Chart.JS / dygraph Plugins Configuration INI Julien Tachoires (Consultant) temBoard - Présentation Septembre 2016 10 / 18 Interface utilisateur Présentation temboard Interface web Python 2.7 Dépendances: psycopg2 / tornado / SQLAlchemy bootstrap3 / jquery / Chart.JS / dygraph Plugins Configuration INI Julien Tachoires (Consultant) temBoard - Présentation Septembre 2016 10 / 18 Interface utilisateur Présentation temboard Interface web Python 2.7 Dépendances: psycopg2 / tornado / SQLAlchemy bootstrap3 / jquery / Chart.JS / dygraph Plugins Configuration INI Julien Tachoires (Consultant) temBoard - Présentation Septembre 2016 10 / 18 Interface utilisateur Présentation temboard Interface web Python 2.7 Dépendances: psycopg2 / tornado / SQLAlchemy bootstrap3 / jquery / Chart.JS / dygraph Plugins Configuration INI Julien Tachoires (Consultant) temBoard - Présentation Septembre 2016 10 / 18 Dépôt Présentation repository Stockage méta-données et historisation des métrics Base de données PostgreSQL 9.5 min. Extension tablefunc Julien Tachoires (Consultant) temBoard - Présentation Septembre 2016 11 / 18 Dépôt Présentation repository Stockage méta-données et historisation des métrics Base de données PostgreSQL 9.5 min. Extension tablefunc Julien Tachoires (Consultant) temBoard - Présentation Septembre 2016 11 / 18 Dépôt Présentation repository Stockage méta-données et historisation des métrics Base de données PostgreSQL 9.5 min. Extension tablefunc Julien Tachoires (Consultant) temBoard - Présentation Septembre 2016 11 / 18 Plugins Plugins: dashboard : vue temps réél activity : requêtes en cours d’exec., pg terminate backend settings : édition configuration, pg hba.conf, pg ident.conf supervision : graphiques de supervision administration : start/stop PostgreSQL Julien Tachoires (Consultant) temBoard - Présentation Septembre 2016 12 / 18 Plugins Plugins: dashboard : vue temps réél activity : requêtes en cours d’exec., pg terminate backend settings : édition configuration, pg hba.conf, pg ident.conf supervision : graphiques de supervision administration : start/stop PostgreSQL Julien Tachoires (Consultant) temBoard - Présentation Septembre 2016 12 / 18 Plugins Plugins: dashboard : vue temps réél activity : requêtes en cours d’exec., pg terminate backend settings : édition configuration, pg hba.conf, pg ident.conf supervision : graphiques de supervision administration : start/stop PostgreSQL Julien Tachoires (Consultant) temBoard - Présentation Septembre 2016 12 / 18 Plugins Plugins: dashboard : vue temps réél activity : requêtes en cours d’exec., pg terminate backend settings : édition configuration, pg hba.conf, pg ident.conf supervision : graphiques de supervision administration : start/stop PostgreSQL Julien Tachoires (Consultant) temBoard - Présentation Septembre 2016 12 / 18 Plugins Plugins: dashboard : vue temps réél activity : requêtes en cours d’exec., pg terminate backend settings : édition configuration, pg hba.conf, pg ident.conf supervision : graphiques de supervision administration : start/stop PostgreSQL Julien Tachoires (Consultant) temBoard - Présentation Septembre 2016 12 / 18 Démo. Démo. Julien Tachoires (Consultant) temBoard - Présentation Septembre 2016 13 / 18 Packaging Packaging: UI: debian 8, centos 7 Agent: debian 7 et 8, centos 5,6 et 7 https://packages.temboard.io Julien Tachoires (Consultant) temBoard - Présentation Septembre 2016 14 / 18 Packaging Packaging: UI: debian 8, centos 7 Agent: debian 7 et 8, centos 5,6 et 7 https://packages.temboard.io Julien Tachoires (Consultant) temBoard - Présentation Septembre 2016 14 / 18 Packaging Packaging: UI: debian 8, centos 7 Agent: debian 7 et 8, centos 5,6 et 7 https://packages.temboard.io Julien Tachoires (Consultant) temBoard - Présentation Septembre 2016 14 / 18 Divers Divers: 92 tests fonctionnels pour temboard-agent License: PostgreSQL Git: https://github.com/dalibo/temboard Support PostgreSQL: 9.4, 9.5 et 9.6 Support Linux uniquement Julien Tachoires (Consultant) temBoard - Présentation Septembre 2016 15 / 18 Divers Divers: 92 tests fonctionnels pour temboard-agent License: PostgreSQL Git: https://github.com/dalibo/temboard Support PostgreSQL: 9.4, 9.5 et 9.6 Support Linux uniquement Julien Tachoires (Consultant) temBoard - Présentation Septembre 2016 15 / 18 Divers Divers: 92 tests fonctionnels pour temboard-agent License: PostgreSQL Git: https://github.com/dalibo/temboard Support PostgreSQL: 9.4, 9.5 et 9.6 Support Linux uniquement Julien Tachoires (Consultant) temBoard - Présentation Septembre 2016 15 / 18 Divers Divers: 92 tests fonctionnels pour temboard-agent License: PostgreSQL Git: https://github.com/dalibo/temboard Support PostgreSQL: 9.4, 9.5 et 9.6 Support Linux uniquement Julien Tachoires (Consultant) temBoard - Présentation Septembre 2016 15 / 18 Divers Divers: 92 tests fonctionnels pour temboard-agent License: PostgreSQL Git: https://github.com/dalibo/temboard Support PostgreSQL: 9.4, 9.5 et 9.6 Support Linux uniquement Julien Tachoires (Consultant) temBoard - Présentation Septembre 2016 15 / 18 Futur proche Futur proche: Support Python 3 Ajout de nouvelles sondes (supervision) Plugin: gestion des sauvegardes Plugin: volumétrie/fragmentation des objets Plugin: gestion de la réplication Julien Tachoires (Consultant) temBoard - Présentation Septembre 2016 16 / 18 Futur proche Futur proche: Support Python 3 Ajout de nouvelles sondes (supervision) Plugin: gestion des sauvegardes Plugin: volumétrie/fragmentation des objets Plugin: gestion de la réplication Julien Tachoires (Consultant) temBoard - Présentation Septembre 2016 16 / 18 Futur proche Futur proche: Support Python 3 Ajout de nouvelles sondes (supervision) Plugin: gestion des sauvegardes Plugin: volumétrie/fragmentation des objets Plugin: gestion de la réplication Julien Tachoires (Consultant) temBoard - Présentation Septembre 2016 16 / 18 Futur proche Futur proche: Support Python 3 Ajout de nouvelles sondes (supervision) Plugin: gestion des sauvegardes Plugin: volumétrie/fragmentation des objets Plugin: gestion de la réplication Julien Tachoires (Consultant) temBoard - Présentation Septembre 2016 16 / 18 Futur proche Futur proche: Support Python 3 Ajout de nouvelles sondes (supervision) Plugin: gestion des sauvegardes Plugin: volumétrie/fragmentation des objets Plugin: gestion de la réplication Julien Tachoires (Consultant) temBoard - Présentation Septembre 2016 16 / 18 Et après ? Et après ? Alerting ? Support PostgreSQL 9.2 et 9.3 ? Authentification externe (LDAP) ? Support Windows ? Julien Tachoires (Consultant) temBoard - Présentation Septembre 2016 17 / 18 Et après ? Et après ? Alerting ? Support PostgreSQL 9.2 et 9.3 ? Authentification externe (LDAP) ? Support Windows ? Julien Tachoires (Consultant) temBoard - Présentation Septembre 2016 17 / 18 Et après ? Et après ? Alerting ? Support PostgreSQL 9.2 et 9.3 ? Authentification externe (LDAP) ? Support Windows ? Julien Tachoires (Consultant) temBoard - Présentation Septembre 2016 17 / 18 Et après ? Et après ? Alerting ? Support PostgreSQL 9.2 et 9.3 ? Authentification externe (LDAP) ? Support Windows ? Julien Tachoires (Consultant) temBoard - Présentation Septembre 2016 17 / 18 Questions ? Questions ? Julien Tachoires (Consultant) temBoard - Présentation Septembre 2016 18 / 18