re build nantes 2013 sql server monitoring
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 [email protected]
@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 [email protected]
Nous suivre sur Facebook :https://www.facebook.com/lescommunautesmsNous suivre sur Twitter :https://twitter.com/CommunautesMS