Моніторинг SQL Server 2008 з OpsMgr

  1. Що вміє OpsMgr
  2. Звідки беруться проблеми з додатками?
  3. Налаштування пакета управління
  4. включення компонентів
  5. Тривало виконуються завдання
  6. Звіти
  7. Засіб моніторингу для адміністраторів баз даних
  8. Майбутнє пакету управління для

Microsoft System Center Operations Manager 2007 (OpsMgr), завдяки можливості підключення спеціального пакета управління (management pack) для SQL Server, дозволяє адміністраторам баз даних відслідковувати продуктивність серверів SQL Server. Цей пакет управління доступний для завантаження з каталогу на сайті Microsoft ( http://technet.microsoft.com/en-us/opsmgr/cc539535.aspx ). Нова версія R2 дозволяє вибирати і завантажувати потрібні пакети управління прямо з консолі OpsMgr.

Звичайно, OpsMgr НЕ оптимізує використовувані додатки і таблиці баз даних, зате за допомогою пакета управління SQL Server можна виявити блокування, перевірити використання дискового простору, виконання завдань резервування і деякі аспекти реплікації. Давайте розглянемо докладніше, як можна застосовувати OpsMgr для моніторингу критичних аспектів середовища SQL Server 2008.

Що вміє OpsMgr

OpsMgr призначений для моніторингу та управління серверами, клієнтськими системами, додатками, операційними системами, мережевими пристроями і бізнес-службами. Нової для OpsMgr є концепція використання моніторів. Монітори надають можливість відстежувати стан компонентів в реальному часі на дуже детальному рівні.

OpsMgr дозволяє комбінувати монітори, правила та оповіщення, з тим щоб своєчасно повідомляти про проявилися і потенційні проблеми (див. таблицю ). Правила та монітори, а також все необхідне для моніторингу збирається в пакети управління, які скомпоновані для окремих додатків і операційних систем.

OpsMgr використовує об'єктно-орієнтовану модель моніторингу на основі класів. Всі компоненти, необхідні для роботи з об'єктом (в разі SQL Server це служби, бази даних і диски), зібрані разом для визначення і відображення рівня здоров'я або стану об'єкта. «Модель здоров'я», описана в пакеті управління SQL Server, дозволяє OpsMgr відстежувати працездатність об'єктів і визначати, які дії необхідно зробити для забезпечення нормальної роботи системи. Перспективи розвитку пакета управління для SQL Server розглянуті в урізанні «Майбутнє пакету управління для SQL Server» .

Звідки беруться проблеми з додатками?

Багато інциденти, які потім переростають в проблеми, мають загальний симптом - затримку відповіді. Затримка може бути наслідком багатьох причин: неполадок з мережею, затримок блокувань, запуску онлайн-резервування, розщеплення сторінок через високої інтенсивності операцій вставки або поновлення даних, реплікації томів, прорахунків при проектуванні баз даних і навіть помилок в додатках.

Пакет управління SQL Server допомагає виконувати моніторинг додатків завдяки моніторингу операцій з базами даних і середовища SQL Server в цілому. Він виявляє збої і скорочує час, необхідний для ідентифікації та усунення проблем, надаючи відповіді на питання, які найчастіше постають перед адміністраторами баз даних (DBA).

Чи доступний SQL Server, чи приймає він сполуки? Якщо користувачі не можуть підключатися до SQL Server, OpsMgr відразу повідомить про це.

Чи всі бази даних і журнали мають досить вільного простору? Блокуються чи транзакції? Така ситуація зазвичай виникає, коли одна транзакція блокує ресурс, який потрібно інший транзакції для читання або зміни. Блокування зазвичай триває недовго, але може відображатися на часу відгуку і негативно впливає на роботу користувачів.

Чи всі завдання агентів SQL Server (резервування, оптимізація та інші) працюють? Агенти SQL Server застосовуються для запуску за розкладом службових завдань з підтримки працездатності баз даних. Якщо ці завдання не виконуються, то не виробляються і необхідні роботи по підтримці.

Чи виконується реплікація SQL Server? За замовчуванням закладена в OpsMgr функціональність щодо моніторингу реплікації не задіяна повністю, оскільки багато встановлені системи SQL Server просто не використовують реплікацію. Так що, якщо вона використовується, має сенс включити цю функцію.

OpsMgr виконує моніторинг всіх примірників і баз даних, якщо ця установка не була змінена спеціально. Він підтримує моніторинг реплікації, але для цього на кожен бере участь в реплікації сервер необхідно встановити агент OpsMgr.

У OpsMgr є базова підтримка віддзеркалення за допомогою інструментарію управління Windows Management Instrumentation (WMI), заплановано подальший розвиток цієї функції. OpsMgr повністю підтримує кластери як для конфігурацій «активний-пасивний», так і для варіантів, коли всі сервери є активними. Давайте розглянемо докладніше, для вирішення яких завдань слід використовувати пакет управління SQL Server.

Налаштування пакета управління

У вузлі моніторингу консолі OpsMgr може з'явитися сповіщення, в якому стверджується, що брокер служби SQL Server Service Broker транспортні моніторингу баз даних Database Monitoring Transport заблокований або не налаштований. Це сповіщення виникає при появі в журналі додатків системи SQL Server події з кодом 9666.

На жаль, це попередження може виникати і в тому випадку, коли брокер працює. Можливі варіанти реакції на повідомлення: переконатися, що брокер включений, для чого достатньо виконати запит з консолі SQL Server Management Studio (SSMS), підключеної до бази даних master на сервері, на якому виникає дане сповіщення:

SELECT is_broker_enabled FROM
sys.databases
WHERE name = 'OperationsManager'

Якщо код повернення result = 1, значить, брокер включений. Якщо ж result = 0, виконайте такі дії для включення брокера:

  1. За допомогою оснастки Services консолі Microsoft Management Console (MMC) на сервері Root Management Server зупиніть служби SDK, Config і Health Services, а на всіх вторинних серверах управління зупиніть Health Service. У OpsMgs R2 вони називаються, відповідно, System Center Data Access, System Center Management Configuration і System Center Management Services.
  2. У SSMS виконайте наступну пропозицію:
    ALTER DATABASE OperationsManager
    SET ENABLE_BROKER
  3. Перезапустіть служби.

Якщо попередження продовжує з'являтися, заблокуйте правило шляхом його перезапису. Для цього зробіть наступне:

  1. Клацніть правою кнопкою на попередженні в вузлі моніторингу консолі управління OpsMgr і виберіть Overrides, Override the rule, For the object: MSSQLSERVER.
  2. На екрані Override Properties включите прапорець дозволу перезапису.
  3. Перед тим як натиснути OK для збереження змін, виберіть цільової пакет, відмінний від пакета управління за замовчуванням. Рекомендується зберігати змінену настройку в окремий пакет управління для кожного варіанта настройки, таким чином, при необхідності буде простіше повернутися до вихідних налаштувань.

У розглянутому прикладі використовується попередньо створений пакет управління SQL Server MP Overrides. Якщо у вас немає пакета управління для тестування змін, можна створити його за допомогою кнопки New. Якщо правило відключити, а не перезаписати, то зміни будуть збережені в пакеті управління за замовчуванням. Ці дії показані на екрані 1. Додаткові відомості про рекомендовані Microsoft кращі практики настройки перезапису можна знайти на сайті підтримки ( http://support.microsoft.com/kb/943239 ).

включення компонентів

За замовчуванням пакет управління SQL Server автоматично виявляє не всі типи об'єктів SQL Server. Для SQL Server 2008 списку не виявляються компонентів включає наступні об'єкти:

  • SQL 2008 Agent Job;
  • SQL 2008 DB File Group;
  • SQL 2008 DB File;
  • SQL 2008 Distributor;
  • SQL 2008 Publisher;
  • SQL 2008 Subscription.

Цей список збігається з компонентами SQL Server 2005 і 2000. Фахівці Microsoft виключили ці компоненти з числа виявлених за замовчуванням через потенційне зниження продуктивності і значного збільшення числа повідомлень.

Слід зазначити, що включення деяких з відключених компонентів може допомогти вирішити певні завдання. Потрібно мати на увазі, що якщо їх не вибрати, то відповідні об'єкти не будуть відслідковуватися, і ви не отримаєте попереджень, яких могли б очікувати, просто тому, що OpsMgr про них нічого не знає.

Наприклад, якщо було налаштоване резервне копіювання баз даних SQL Server за допомогою SQL Agent, і в якийсь момент це завдання дасть збій, OpsMgr не повідомили про це, якщо об'єкт типу Agent Job не був включений.

Для включення компонентів слід виконати таку послідовність дій:

  1. В консолі OpsMgr перейдіть до вузла Authoring. У лівій частині панелі виберіть Management Pack Objects, Object Discoveries.
  2. В поле Look for введіть SQL Server 2008 і виберіть Find Now. Результатом буде список всіх компонентів пакетів управління SQL Server 2008. Аналогічно можна вибрати об'єкти для SQL Server 2005 і 2000.
  3. Тепер зверніть увагу на правий стовпець Enabled by default, в якому кожному компоненту відповідає значення Yes або No (див. Екран 2).
  4. Виберіть компоненти, які збираєтеся включити. У розглянутому прикладі я вибрала об'єкт Discover SQL 2008 Agent Jobs object.
  5. Клацніть його правою кнопкою миші, виберіть Overrides, Override the Object Discovery, For a group ... для виклику вікна Select Object. Виберіть SQL 2008 Computers, після чого з'явиться екран Override Properties.
  6. Увімкніть прапорець Override для параметра Enabled, переконайтеся, що для Override Setting встановлено значення True. Виберіть цільовий пакет управління (відмінний від пакета за замовчуванням) і натисніть OK для збереження змін. Вікно Override Properties показано на екрані 3.

Вікно Override Properties показано на екрані 3

Запуск SQL Server Configuration Manager, SSMS і SQL Server Profiler з консолі OpsMgr вимагає установки обраного програмного забезпечення на комп'ютерах, на яких запущена консоль. Якщо ці компоненти не встановлені, система видасть повідомлення про помилку The system can not find the file specified.

Не зайвим також буде переконатися, що адміністратор імпортував в OpsMgr потрібну версію пакету управління Windows Server (Windows Server 2008 або Windows Server 2003). Цей пакет управління відстежує параметри операційної системи, які можуть впливати на продуктивність SQL Server, такі як використання оперативної пам'яті, продуктивність дискової системи і процесорів, завантаження мережевих адаптерів.

Тривало виконуються завдання

Іноді потрібно налаштувати монітор Long Running Jobs. Граничні значення вказуються в хвилинах, значення за замовчуванням залишають 60 хвилин для нижньої межі і 120 для верхньої.

Коли час виконання завдання знаходиться в межах від 60 до 120 хвилин, станом системи присвоюється статус Warning, для задач з часом виконання понад 120 хвилин статус встановлюється Critical, при цьому OpsMgr створює відповідні оповіщення.

Для зміни цих налаштувань виконайте наступні дії:

  1. Відкрийте консоль OpsMgr і в лівій панелі виберіть вузол Monitoring. В поле Look for: введіть текст long running jobs, щоб отримати відповідний список моніторів.
  2. Виберіть зі списку монітор Long Running Jobs для пакета управління SQL Server 2008
  3. Для присвоєння іншого значення конкретного агенту клацніть правою кнопкою миші на Long Running Jobs, Override. Вкажіть Override the Monitor, For a specific object of type: SQL Server 2008 Agent.
  4. На екрані Select Object виберіть потрібний агент і клацніть OK.
  5. На екрані Override Properties при необхідності встановіть відповідні значення нижнього і верхнього порогу Lower Threshold і Upper Threshold. Зміни потрібно зберегти в новий пакет управління, відмінний від пакета за замовчуванням.

Використання монітора Long Running Jobs справляє помітний вплив на продуктивність системи. Крім того, його поведінка змінюється в залежності від версії SQL Server.

  • Для SQL Server 2000 моніторинг тривалих завдань можливий лише при виборі окремих завдань. Необхідно знаходити Ваш задач. При цьому моніторинг кожного завдання для кожного екземпляра SQL Server проводиться окремо і з відповідними накладними витратами. Після дозволу виявлення для кожного завдання створюється власний монітор тривалості роботи завдання Job Duration. Введіть порогові значення в форматі ЧЧММСС. За замовчуванням в поточному випуску пакета управління SQL Server ці значення становлять 1 і 2 години (010000 і 020000), з відповідним розумінням змін цих порогових значень.
  • Для SQL Server 2008 і 2005 подібна функціональність моніторингу за окремими задачами доступна, але за замовчуванням вона відключена, а порогові значення задаються в хвилинах.
  • Для SQL Server 2008 і 2005 є також новий агент, який дозволяє виконувати моніторинг завдань для примірників SQL Server. Якщо дозволити цей тип виявлення, буде виявлений кожен екземпляр агента SQL Server, і монітор Long Running Jobs для класу агента SQL Server буде відстежувати тривалість всіх завдань, що виконуються агентом. Якщо не встановити нові значення, будь-яке завдання, що виконується довше зазначеного порогового значення, буде викликати зміну стану, і монітор буде створювати оповіщення.

Звіти

Пакет управління SQL Server містить зумовлені звіти, в тому числі такі:

  • SQL Broker Performance - продуктивність брокера;
  • SQL Database Space Report - звіт по простору бази даних SQL;
  • SQL Server Configuration - параметри налаштування SQL Server;
  • SQL Server Database Engine Counters - лічильники движка бази даних SQL Server;
  • SQL Server Lock Analysis - аналіз блокувань SQL Server;
  • SQL Server Service Pack Report - звіт про пакети виправлень SQL Server;
  • SQL Server User Activity - активність користувачів SQL Server;
  • Top 5 Deadlocked Databases - 5 баз даних, де найбільше взаємних блокувань;
  • User connections by day - кількість призначених для користувача підключень за день;
  • User connections by peak hours - призначені для користувача підключення в години пік.

При виборі будь-якого із звітів в вузлі Reporting консолі управління OpsMgr викликається панель Details, яка виводить інформацію про те, як даний звіт запускається, як його використовувати і які параметри можна вказати. Серед параметрів можна відзначити вибір дати / часу, що дозволяє вказувати відносні або фіксовані часові інтервали і часові пояси.

На екрані 4 наведено фрагмент звіту про лічильниках бази даних, що показує продуктивність за тиждень. Можна налаштувати періодичну видачу автоматичних звітів і збереження їх у форматі XML, CSV, TIF, PDF, MHT, а також в форматі Microsoft Excel.

Можна налаштувати періодичну видачу автоматичних звітів і збереження їх у форматі XML, CSV, TIF, PDF, MHT, а також в форматі Microsoft Excel

Засіб моніторингу для адміністраторів баз даних

OpsMgr дозволяє виконувати моніторинг тих параметрів, які найбільше потрібні адміністраторам баз даних для забезпечення кращої продуктивності систем - використання пам'яті, дискові операції введення-виведення, завантаження центрального процесора, затримки в мережі, резервування та інші ключові індикатори. При цьому OpsMgr збирає всі ці кошти в єдину зручну середу інструментів.

Керрі Мейлер ( [email protected] ) - консультант і MVP по Operations Manager

Таблиця. Лічильники, правила і повідомлення Operations Manager

Майбутнє пакету управління для

Спочатку пакет управління для SQL Server 2008 планувався як повний функціональний аналог пакету управління для SQL Server 2005 (з додаванням змін, внесених в пакет управління для SQL Server 2005 SP1). Очікується, що Microsoft випустить оновлення пакета в 2010 році, при цьому в нього будуть включені нові розробки, пов'язані з підвищенням керованості систем, і кошти для спрощення застосування цих нових функцій. І хоча до остаточного випуску оновлення нічого стверджувати не можна, ймовірно, в оновлення будуть включені наступні функції.

Database Tuning Advisor - радник по оптимізації бази даних. До складу SQL Server 2008 і 2005 включений компонент Database Tuning Advisor. Однак, крім моніторингу виконання завдань SQL Server, пакет управління також вирішує завдання відстеження стану SQL Server і пов'язаних служб (які саме служби встановлено, як вони налаштовані і яке їхнє операційне стан). При цьому залишається відкритим питання, що побудовано поверх цих встановлених об'єктів і як налаштована і функціонує ця надбудова. Ймовірно, Microsoft просунеться в напрямку більш тонкого моніторингу баз даних, продуктивності і питань настройки.

Best Practices Analyzer - аналізатор оптимальних методик. До складу SQL Server 2008 і 2005 входить компонент BPA Best Practices Advisor - радник із застосування кращої практики. Розробники Microsoft включили Exchange BPA до складу пакета керування Exchange для Microsoft Operations Manager - MOM-2005, але в пакет управління SQL Server компонент BPA досі не входив.

Управління політиками SQL Server 2008 включає набір правил, які виконують функції BPA. Нова версія наступного пакета управління SQL Server, ймовірно, буде включати загальні правила і монітори, призначені для реагування на перемикання різних політик. Оскільки кожна установка зазвичай вимагає власного набору політик, пакет управління, швидше за все, буде відслідковувати відповідність цим політикам і попереджати, якщо таке відповідність порушено. Хоча в даний час OpsMgr не перевіряє і не встановлює політики, на якомусь етапі кошти для поширення і застосування політик в ньому повинні з'явитися.

Resource Governor - розпорядник ресурсів. Розпорядник ресурсів - одна з нових можливостей SQL Server 2008. OpsMgr з оновленим пакетом управління SQL Server повинен коректно інтерпретувати обмеження, які розпорядник ресурсів накладає на різні компоненти SQL Server, наприклад порогові значення можуть змінюватися в залежності від зміни політик, а не від загальних ресурсів системи .

Performance Studio and Performance Data Collection - управління продуктивністю і збір даних про продуктивність. Компоненти Performance Studio і Performance Data Collection забезпечують функціональність і глибину аналізу, що перевершує можливості сучасної редакції пакету управління SQL Server. Вбудовування цих можливостей зажадає переходу від загального високорівневого моніторингу, що забезпечується пакетом управління, до низькорівневих можливостям трасування і звітів, що надаються самим SQL Server.

Швидше за все, для досягнення цієї мети пакет управління SQL Server у всіх областях, де можливо, передасть ці функції системі збору даних про продуктивність, поряд з іншими завданнями і діагностикою. Можливо, Microsoft буде потрібно додати в пакет управління функції виявлення і побудови діаграм для відображення зв'язків між компонентами, які здійснюють збір даних, і сховищем, де накопичуються результати.

Згодом можна очікувати зворотного зміни моделі збору даних від показників продуктивності до вихідного поданням OpsMgr про загальної продуктивності системи. Але, швидше за все, ми побачимо це не в найближчій версії оновлення пакету управління SQL Server.

Звідки беруться проблеми з додатками?
Чи доступний SQL Server, чи приймає він сполуки?
Чи всі бази даних і журнали мають досить вільного простору?
Блокуються чи транзакції?
Чи всі завдання агентів SQL Server (резервування, оптимізація та інші) працюють?
Чи виконується реплікація SQL Server?