re build nantes 2013 sql server monitoring

Post on 05-Aug-2015

121 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

3 Octobre 2013Les Communautés MS

Management d’infrastructures IT hétérogèneswww.osmozium.com Support Management Technical Management Data Management Production ManagementAllDB © DBA à distance

infogérancewww.capdata.fr Conseil Service Formation

David Baffaleufhttp://blog.capdata.fr dbaffaleuf@capdata.fr

@dbaffaleuf

Points clés du monitoring SQL Server

1. Définir le besoin de monitoring2. La disponibilité de SQL Server3. La volumétrie des bases et file systems4. Les tâches de maintenance5. La performance6. La sécurité7. L’environnement immédiat8. Et les outils dans tout ça ?

Pourquoi faire

Criticité des données d’entreprise Réactivité par rapport aux incidents Parfois même proactivité Connaître ses instances:

Charge Profil d’utilisation = BASELINE !!

Prendre des décisions avec la connaissance de l’environnement.

Définir le besoin de monitoring

Trop ou trop peu ? Capacité de filtrage Automatiser la collecte Historiser les données Définir la rétention Faire des stats incidentogènes Postmortem / analyse à postériori

Disponibilité de SQL Server

Garantir l’accès aux données dans les meilleures conditions de performance.

Tester la présence des processus associés à SQL Server Scruter les sources d’information sur les erreurs

rencontrées.

Présence des processus

Permet de détecter l’indisponibilité le plus tôt possible

sqlservrsqlag

entfdhost

logread

distrib etc…

Connexion OK / KO+ SELECT @@SERVERNAMEou requête fonctionnelle ?

Outil indépendant Empreinte faible

Remontée d’erreur

ERRORLOG, journaux d’évènement Ring buffers, trace par défaut, system_health (Xevents) Alertes SQL Agent

Severity 17 (pb mémoire) et de 20 à 25. Inclure l’erreur 825

xp_readerrorlog / logparser. Attention aux erreurs non formalisées:• a significant part of sql server memory has been paged out...• SQL Server has encountered xxx occurrence(s) of IO requests taking

longer than 15 seconds…

Volumétrie bases et file systems

Capacity planning Proactivité grâce aux seuils Profil transactionnel Alertes SQL Agent, xp_fixeddrives, SQLCLR… Data Collector

DEMO

Tâches de maintenance

Backup, rebuild index, dbcc checkdb, autre… Contrôler la sortie des jobs: DB mail,

xp_sqlagent_enum_jobs, sysjobhistory... Mais aussi lorsque la tâche n’a pas été exécutée ?

=> une logique de test indépendante de l’exécution

+100 jobs, le mail n’est plus adapté =>

Performances 1/4

• Historiser les compteurs clés.• Alertes SQL Agent, Xevents, Data Collector.

COMPTEUR SEUIL

Buffer cache: Page Life Expectancy > (max server memory / 4Gb) * 300Ex: BP = 30Gb, PLE = 2250 secs

Percent Log Used (base) < 60%

Process Blocked < 5

Free space in Tempdb > 40%

Processor % < 90%

Average Disk sec/read, sec/write < 10ms

PageFile % Usage < 10% DEMO

Performances 2/4

• Surveiller les attentes• Là où l’instance perd son temps• La base de l’analyse de perf• Data Collector• System_health (Xevents)

RUNNABLE

RUNNINGSUSPENDED

Performances 3/4

Surveiller la concurrence (verrous) Activity Monitor ! sys.dm_os_waiting_tasks, sys.dm_tran_locks. Utiliser le Blocked Process Report avec SQL Trace ou

Xevents. Débrayer le mode d’isolation en utilisant Read

Committed Snapshot.

DEMO

Performances 4/4

Tracer les requêtes consommatrices Souvent à l’origine de nombreux problèmes sur

l’instance (mémoire, CPU, entrées / sorties, attentes, etc...)

Data Collector, SQL Trace, Xevents. Vues dynamiques de gestion:

sys.dm_exec_query_statssys.dm_exec_sql_text()sys.dm_exec_query_plan()

Outils tiers (Plan explorer) DEMO

La sécurité

Identifier les risques: (mots de passe, connexions SSL, etc. Authentification

..)Permissions système et permissions sur les objets.Encryption des données (certs, TDE)Vol de données / vol de sauvegardes. Comptes de service.

-> !! SQL Injection !!

L’environnement immédiat

• Système d’exploitation, host: mémoire, programmes concurrents, antivirus, ressources matérielles insuffisantes, etc...• Stockage: cache baie sous dimensionné en écriture,

mauvais choix de RAID, nombre de disques insuffisants dans le groupe, IO queue depth par défaut, etc...• Hyperviseur: problème de paramétrage, cpu ready,

entrées / sorties, sur-mutualisation, etc...

(Et) Les outils (dans tout ça)

Intégrés à SQL Server: SQL agent, SQLDIAG, vues dynamiques, SQL Trace , Xevents, Data Collector …

Fournis par MSFT (gratuits): logparser, SCOM, Perfmon, ETW, Powershell, SQL-DMO, SQL Nexus, RML utilities, etc…

Fournis par des éditeurs tiers (Gratuits/payants): SQL Sentry, Quest, Red Gate, etc…

Fournis par la communauté: CODEPLEX http://www.codeplex.com/

Des questions ?

Merci à Nos Sponsors

Merci à nos partenaires et membres

Pour adhérer à l’association :

http://www.rebuild.f/adhesions Oucontact@communautes.ms

Nous suivre sur Facebook :https://www.facebook.com/lescommunautesmsNous suivre sur Twitter :https://twitter.com/CommunautesMS

top related