SQWareWeb:general
Contents
présentation
utilisation
C'est la partie de restitution 'graphique' de expdbTools® pour tous les SGBDs.
C'est un module web fait pour fonctionner avec apache 2 et PHP 5.2 (non compatible 5.3!).
Il est écrit en PHP, ajax, OpenFlash et SQL.
SQWareWeb met en forme (graphiques ou tableaux) les données remontées dans SQWareRepository® par un grande partie des scripts du module SQWareProduction®. La quasie totalité des données présentées sont dynamiquement générées (volumétries, versions, ...), seules les données de type référentiel ou paramétrage sont à stocker à la main dans les tables concernées.
Exemples de pages présentes sur le site:
- Inventaire pour chaque SGBD avec volumétrie, version, enplacement, environnement ...
- Répartition des instances en nombre/volumétrie par environnement/client/version
- Détail des volumétries (FS, databases, TBS, tables, ...)
- Trace des passages des scripts de SQWareProduction® (début, fin, options, durée, code retour, ...)
- Données de performances
- Capacity planning
- ...
explication de l'arborescence
Arborescences se trouvant dans $gvsqw_RootexpdbWebdba:
- cache : Fichiers générés par le systeme de cache
- css : Feuilles de style
- custom : C'est l'espace de customisation, permet de gérer le menu et ses includes ainsi que le paramétrage des connexions
- custom_ref : C'est le modèle de ce qui doit se trouver dans custom
- htdocs : Contient les pages du site
- images : Contient les images du site
- js : Contient les librairies ajax
- lib : Contient le moteur de template
- scripts : Contient les génrateurs principaux du site (graphiques et tableaux)
- templates : Menus gauche du site et templates html pour (graphiques, tableaux et exports excel)
fonctionnement
réécriture
Le site fonctionne par réécriture d'URL avec $gvsqw_RootexpdbWebdba/.htaccess
Contenu du fichier:
RewriteEngine On RewriteRule ^/sqw_oracle_awr/(.*)$ /sqw_oracle_awr/$1 [QSA,L,PT] RewriteRule ^/sqw_mysql_slow/(.*)$ /sqw_mysql_slow/$1 [QSA,L,PT] RewriteRule ^.+/images/(.*)$ /images/$1 [QSA,L,PT] RewriteRule ^.+/js/(.*)$ /js/$1 [QSA,L,PT] RewriteRule ^.+/timeplot/(.*)$ /timeplot/$1 [QSA,L,PT] RewriteRule ^.+/timeline/(.*)$ /timeline/$1 [QSA,L,PT] RewriteRule ^.+/ajax/(.*)$ /ajax/$1 [QSA,L,PT] RewriteRule ^.+/css/(.*)$ /css/$1 [QSA,L,PT] RewriteRule ^(.*).table$ /scripts/table.php?path=/$1 [QSA,L,PT] RewriteRule ^(.*).chart$ /scripts/chart.php?path=/$1 [QSA,L,PT] RewriteCond %{REQUEST_URI} !^/sqw_oracle_awr/ RewriteCond %{REQUEST_URI} !^/sqw_mysql_slow/ RewriteRule ^(.*)/(.*.html)(\?.*)?$ /scripts/engine.php?path=$1/$2 [QSA,L,PT] RewriteRule ^(.*)/$ /scripts/engine.php?path=/$1/ [QSA,L,PT] RewriteRule ^$ /scripts/engine.php?path=/ [QSA,L,PT]
graphiques
Les graphiques sont générés avec OpenFlashChart qui est sous licence LGPL.
La lib se trouve dans $gvsqw_RootexpdbWebdba/lib/ofc/open-flash-chart.php
Le tout est encapsulé pour SQWareWeb dans $gvsqw_RootexpdbWebdba/scripts/chart.php
Il suffit alors de créer un fichier de configuration du type *.chart pour générer le graphique.
Le fichier doit contenir les sections suivantes:
- common
- db
- y_axis
- background
- x_axis
- data_[0-9]
Exemple de fichier de configuration (GrowthBases.chart):
[common] title="Growth database {DbName} for {Instance}" [db] sql="select vbd.DataServer, convert(char(10),vbd.Gather_date,103) as gather_date, vbd.Database_name, vbd.Size_db as size_db, vbd.Used as used, vbd.Size_db-vbd.Used as free from tsqw_VolDb vbd where vbd.DataServer = '{Instance}' and vbd.Database_name = '{DbName}' order by vbd.Gather_date " [y_axis] legend="Volumetry Mo" min=0 ;max=60000 ;step=5000 [background] color="#ffffff" [x_axis] field="gather_date" ; field to display in X legend="Date" orientation="verticale" ; verticale or horizontal(by default) size="12" ; in pixels step=5 legendstep=10 ;maxdata=20 [data_1] field="size_db" ; field to trace on curve type="line" ; type of graph line, bar, bar_3d, pie, bar_glass, bar_sketch, line_dot (by default) colour="#0000ff" pointsize=2 ; in pixel text="Size of database" [data_2] field="used" ; field to trace on curve type="line" colour="#ff4500" pointsize=2 ; in pixel text="Used" [data_3] field="free" ; field to trace on curve type="line" colour="#32cd32" pointsize=2 ; in pixel text="Free"
tableaux
Les graphiques sont générés avec le framework ajax ActiveWidgets 2.5 qui est soumis à licence. Celle-ci a été acquittée par les développeurs de expdbTools et est royalty free distribution of Software in any applications. Pour plus de détail sur la cette licence.
ActiveWidgets se trouve dans $gvsqw_RootexpdbWebdba/js/ActiveWidgets/*
Le tout est encapsulé pour SQWareWeb dans $gvsqw_RootexpdbWebdba/scripts/table.php
Il suffit alors de créer un fichier de configuration du type *.table pour générer le tableau.
Le fichier doit contenir les sections suivantes:
- common
- db
- cols
- format
Et de manière optionnelle:
- link
- targetlink
- format_number
Exemple de fichier de configuration (GrowthTables.table):
[common] title="Growth {Owner}.{TableName} in {DbName}@{Instance}" [db] sql="select vbd.DataServer, convert(char(19),vbd.Gather_date,23) as gather_date, vbd.Database_name, vbd.Owner, vbd.TableName, vbd.Size_tb from tsqw_VolTables vbd where vbd.DataServer = '{Instance}' and vbd.Database_name='{DbName}' and vbd.Owner='{Owner}' and vbd.TableName='{TableName}' order by vbd.Gather_date desc " ;debug=true [cols] ; Headers of columns ; Attention \' for quotes ... col_1="Dataserver" col_2="Date" col_3="Database" col_4="Owner" col_5="TableName" col_6="Size in Mo" [format] ; Format of columns : string, number or date col_1="string" col_2="date" col_3="string" col_4="string" col_5="string" col_6="number"