SSAS Monitoring Eploitation Guide

SSAS Monitoring Eploitation Guide

SSAS Monitoring SSAS Monitoring Administration guide Lundi 24 Janvier 2011 Version 1 Auteurs Nicolas Boulez – Architecte BI Nicolas. [email protected]. com Contributeurs Historique des versio ment or 13 Mises à jour Sni* to View Date Auteur Version Description du changement 13/01/201 1 Nicolas Boulez 1. 0 Initialisation du document Windows 2008 server, SQL Server 2008. Recommendations hardware. 2. Description Technique 2. 1.

Architecture La solution repose sur • Une base de données SQL Server 2008 faisant office d’entrepôt de collecte des informations des serveurs AS supervisés: es tables de stockage des différents compteurs AS des procédures stockées permettant l’agrégation de ces compteurs ainsi que l’historisation et la purge de données. Une instance Reporting Services qui permettra d’accéder à une série de rapports liés permettant de vlsualiser, via un browser, une synthèse du statut des instances AS et d’accéder au détail de celles-ci.

Un service Windows (ASTrace_xxx) par instance SSAS supervisée. Schéma d’architecture 2. 2 Liste des composants La liste suivante présente un aperçu des différents composants écessaires au fonctionnement de la solution de monitorlng : Composants Description Rapports Un jeu de 10 rapports liés Ils mettent en forme les données supervisées. Application Service ASTrace2008. exe Application principale utilisée sous forme de service InventaireConfig_exe

Désolé, mais les essais complets ne sont disponibles que pour les utilisateurs enregistrés

Choisissez un plan d'adhésion
Utilitaire permettant de lister le nombre de cubes pour une instance Analysis Services donnée.

Base de données 13 SQL Agent) permettent de mettre en forme les données brutes dans des tables « normées » Les rapports reporting services (SSRS) s’appuient sur ces tables « normées » pour présenter les etats des moteurs SSAS. . 4. Cinématique des données Au démarrage d’un service, celui-ci récupere les caracteristiques principales de l’instance dans un table nommée : CubeGenerallnfos_temp_lnstanceName. Une fois la récupération des ses données achevée, elles sont transférées dans une table commune à toutes les instances : CubeGenerallnfos.

Au fil de l’eau, les evenements occurant sur une instance supervisée sont stockés dans une table nommée : ASTraceTable InstanceSSASName. A intervalle regulier, un job sql Agent déclenche la procédure stockée nommée SP_Process_Extract: Elle copie les evenements elatifs aux process des cubes dans la table Process_ëxtract. Cette table contient tous les evenements de process survenus au cours de la journée. stockée nommée SP_Query_Extract: Elle copie les evenements relatifs aux requetes clientes dans la table Query_Extract.

Cette table contient tous les evenements de query survenus au cours Quotidiennement, un job sql Agent (ssas_monitor_process_histo_day) déclenche la procédure stockée nommée SP_Process_histo_hourly: Elle copie les evenements relatifs aux process des cubes de la veille depuis la table Process_Extract vers la table Process_histo_hourly. Cette rocédure en profite pour aggréger les evenements collectés avec une granularité à l’heure.

Cette table contient tous les evenements de process survenus au cours des 7 derniers jours avec une granularité horai PAGF 13 depuis la table Process_histo_hourly vers la table Process_histo_daily. Cette procédure en profite pour aggréger les evenements collectés avec une granularité au jour. Cette table contient tous les evenements de process survenus précédemment aux 7 derniers jours avec une granularité « jour b. déclenche la procédure stockée nommée SP_Query_histo hourly: Elle copie les evenements elatifs aux requetes des cubes de la veille depuis la table Query_Extract vers la table Query_histo_hourly.

Cette procédure en profite pour aggréger les evenements collectés avec une granularité à l’heure. Cette table contient tous les evenements de query survenus au cours des 7 derniers jours avec une granularité horaire. Ce meme job déclenche la procédure stockée nommée Elle copie les evenements relatifs aux requetes des cubes anterieurs à 7 jours depuis la table Query_histo_hourly vers la table Cette avec une granularité au jour.

Cette table contient tous les venements de query survenus précédemment aux 7 derniers jours avec une granularité jour Ce meme job déclenche le procédure stockée nommée Elle vide les table Query_Top100 et Query_Top100_CPLJ des données anterieures à 7 jours. Elle met à jour la table Query_Top100 qui contient les 100 requetes les plus longues à s’executer. Elle met à jour la table Query_Top100_CPU qui contient les 100 requetes les plus consommatrices en CPI_J.

Enfin, lors de l’arret d’un services de supervision, la procédure stockée SP SSAS historize e. Elle appelle 3 respectivement (SP_Process_Extract puis SP_Process_histo_hourly uis SP_Process_histo_dally)et 1 OO_Purge, SP_Query_Top1 00, puis puis SP_Query_histo daily) Remarque : (**) ces deux Job SQL Agent doivent fair el’objet d’une modification lors de l’installation sur un enviroenement donné : en effet, il faut editer les étapes du job pour qu’il y en ait une pour chque serveur supervisé.

Dans le cas de prod, il y a 6 instances ? superviser 2. 5. Compilation des binaires des services de supervision Cette étape est nécessaire afin que les services de supervison aient tous un nom différent, et de pouvoir ainsi les distinguer sur le serveur de supervision. 2. . 1 . Mise à jour du code C# : changement du Nom du Service 1 Ouvrir la solution Visual Studio. (ASTrace2008. sln) 2 Dans Solution Explorer, ouvrir le fichier Projectlnstaller. cs. Cette classe prend en charge le déploiement du service Windows. Modifier la méthode Projectlnstaller_Afterlnstall (vérifier les commentaires) b Modifier la méthode ProjectlnstalIer_BeforeUninstaIl (vérifier les 3 Dans Solution Explorer, Ouvrir le fichier Projectnstaller. Designer. cs. Cette classe prend en charge le déploiement du service Windows. a Modifier la méthode InitializeCom onent (vérifier les PAGF s 3 projet, vérifier si la valeur de Platform target est « X86 2 Puis lancer un build de la solution. 3. Installation, déploiement et configuration 3*1.

Prérequis d’installation Chaque service de supervision tourne sous l’identitéd’ un compte de service utilisé pour les taches suivantes : Déclencher une trace Analysis Service sur l’instance supervisée . le compte doit etre administrateur de l’instance SSAS. Créer et Ecrire dans les tables de la base de collecte [Monitor_SSAS], et executer les procedures stockées sur cette base. Executer les jobs SQL Agent (qui appelle egalement les rocédures stockées). Se connecter a la base lors de l’execution des rapports.

Ils utilisent une DataSaurce Unique et partagée. Ecrire et lire dans les répertoires où les fichiers de configuration, executable et log sont installés sur le serveur de « supervision En résumé, le compte de services (svc_grp_excel_olap_adm, par exmple) doit etre Administrateur des instances SSAS DEO de la base [Monitor_SSASl Lecture/Ecriture sur le filesytem où est déployée l’application. En outre, l’application repose sur l’existence d’une instance SQL Server hebergeant la base de collecte et une instance Reporting Services hebergeant les rapports. . 2. Installation de la base de collecte [Monitor_SSAS] Cette étape se réalise via l’excution du script SQL livré Il crée les tables, les procédures stockées, positionne la compression de données sur certaines tables et crée les job SQ Agent. Les 2 lobs sql Agent (ssas ess histo min, paratgée. La DataSource paratgée doit utiliser les credential du compte de service. 3. 4. Installation des services de supervision Cette étape se déroule en 2 étapes : la création de la tructure des répertoires et l’installation des services à proprement parler. 41. Création de la structure des répertoires Les différents utilitaires de monitoring seront hébergés dans une structure de répertoire bien déterminée. Il faut décider d’un répertoire racine ( %root_as_trace% ) Ce dernier contiendra : Un sous-répertoire par instance SSAS supervisée ayant le nom . ServerName InstanceName L’executable d’inventaire (Inventaireconfig. exe) Ainsi sur le serveur de développement nous avons la structure suivante : Chacun des repertoires contiendra notamment l’executable ASTrace20Û8. xe (executable utilisé par le service Windows). Il est mportant que chaque ASTrace2008. exe soit dans un répertoire au nom de l’instance pour laquelle il a été compilée. Si l’instance est nommée et utillse un symbole « le répertoire devra obligatoirement changer par « _ Exemple : » passe ? « QUAWEBMAGNTOOI _ ANALYTICS Aussi, chaque ASTrace2008. exe est déployé avec d’autres fichiers: ASTRace2008. exe. conflg : il contient les paramètres d’ASTrace2008. exe QueryAndProcess. tdf: Ce fichier est le template utilisé par ASTrace2008. xe. Des DLL nécessaires à l’application Remarque : les autres fichiers présents dans ce répertoire sont le ichier decrivant le perimetre à su erviser, les log d’installation et d’exécution du service. Ce araitront dans les étapes PAGF 7 3 répertoire approprié. Si nécessaire, créer le répertoire. ( %root_as_trace% 3 Copier egalement l’ASTrace2008. exe. config et le template du SQL Server Profiler (. tdf) dans le même répertoire. 4 Modifier le fichier de configuration si nécessaire. Vu ulterieurement. 3. . 2. Installation du service Windows ASTrace ServerName InstanceName Le service s’installe en ligne de commande avec l’utilitaire Installutil. exe présent dans le répertoire Cl En ligne de commande, aller dans le répertoire d’explo•tation de l’instance concernée Cd %root as trace% ServerName InstanceName 2 Exécuter la commande suivante ASTrace2008. exe 3 Vérifier que le service apparait correctement dans la console (services. msc) Le cas échéant, lire les logs générés lors de l’installation du service.

Dans le répertoire d’exploration de l’instance. 4 Modifier le compte faisant tourner le service Enfin pour s’affranchir des arrets (volontaires ou non) des instances SSAS, il peut etre utile de redémarrer le services si celui- ci se crashe (normalement arce ue le serveur a rebooté) istant les cubes d’une instance SSAS donnée. Cette application s’utilise en ligne de commande dont voici un exemple : l’outil présume qu’un répertoire portant le même nom que l’instance existe.

Toutefois il transformera le caractère » en Ainsi pour une instance nommée QUAWEBMAGNTOOI XANALYTICS un répertoire du nom « QUAWEBMAGNTOOI _ ANALWICS » doit être créé. Inventaireconfig. exe -s QUAWEBMAGNTOOI XANALYTICS Après génération du fichier (ASSERVER. XML), il suffit de changer la valeur de l’attribut ‘To_Monitorr. Cet attribut est présent pour chaque ligne avec le tag Cube. La valeur 1 signifie que les infos du cube seront collectées. La valeur O signifie qu’excepté les historiques de connexion, aucune info sur le cube sera enregistrée en base. Server ServerName= « QUAWEBMAGNTOOAANALYTICS » PL Gervais Europe4Cube> 6S VERNES ‘l ARTHUR 01SPORT DIVISION PL HM 4Server> Donner le nom de la base de données SQL où seront Donner le nom du fichier de trace, il doit se trouver dans le même répertoire que Standard. tdf