Ad Widget

Collapse

Mssql мониторинг

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Draug
    Junior Member
    • May 2009
    • 4

    #1

    Mssql мониторинг

    Zabbix только начинаю использовать, стоит задача мониторить MSSQL 2005 и 2008.
    Нужно узнавать "performance" и статус сервера, наличие deadlocks. В общем - нужно делать запросы в mssql и проверять их на валидность, помимо обычной статистики.
    Пока я вижу что это можно делать лишь через bash-скрипт,sqsh. И как-то крутить этот скрипт к заббиксу...
    Может есть у кого уже готовые примеры?
  • dotneft
    Senior Member
    • Nov 2008
    • 699

    #2
    http://www.zabbix.com/wiki/doku.php?...trib:templates здесь собрание темплейтов. Может "Microsoft SQL Server Template (based on SQL 2005 but most things will work on 2000)" этот подойдет?

    Comment

    • T1nK
      Junior Member
      • Oct 2013
      • 6

      #3
      Шаблон для MS SQL Server 2008 R2 и старше

      Приведенная ссылка уже не актуальна...

      Шаблон по адресу

      так же оказался бесполезен...

      Абсолютно ни какие данные с его помощью не получаются...
      Прошу помощи по поиску или созданию шаблона для мониторинга MS SQL Server 2008 R2 и MS SQL Server 2012...

      Comment

      • Draug
        Junior Member
        • May 2009
        • 4

        #4
        Многие параметры можно снимать через Perfmon, открываешь его в системе, смотришь те счётчики с которых нужно снимать данные и делаешь свой шаблон. Проблема может быть если у тебя много серверов и на них разные редакции с разными языками, отдельно шаблон для русской системы придётся делать и отдельно для english.

        У Zabbix Agent уже есть item perf_counter, ничего лишнего через конфиг пилить не надо, например:
        системные: perf_counter[\PhysicalDisk(_Total)\Avg. Disk Read Queue Length]
        sql server: perf_counter["\SQLServer:Locks(_Total)\Lock Waits/sec"]

        Comment

        • T1nK
          Junior Member
          • Oct 2013
          • 6

          #5
          Originally posted by Draug
          У Zabbix Agent уже есть item perf_counter, ничего лишнего через конфиг пилить не надо, например:
          системные: perf_counter[\PhysicalDisk(_Total)\Avg. Disk Read Queue Length]
          sql server: perf_counter["\SQLServer:Locks(_Total)\Lock Waits/sec"]
          Спасибо за наводку - действительно помогло...

          Проблема была в том, что в ключе было указано имя экземпляра:
          Windows 7 с SQL Express 2012
          \MSSQL$SQLEXPRESS:Memory Manager\Total Server Memory (KB)

          Windows 2008 R2 с SQL Enterprise 2012
          \MSSQL$MICROSOFT##SSEE:Memory Manager\Total Server Memory (KB)
          \MSSQL$SQLEXPRESS:Memory Manager\Total Server Memory (KB)
          Не совсем понятно откуда во втором случае взялось первое имя экземпляра (MICROSOFT##SSEE)... разве что от того что вначале на сервере действительно стояла Express редакция сервера, а в последствии вместо ней была установлена редакция Enterprise...

          Думаю теперь с остальным разберусь

          Comment

          • X-ITER
            Junior Member
            • Apr 2012
            • 23

            #6
            Дабы не создавать новую тему спрошу здесь.
            Пока не заглянул в эту тему ,так и не получилось настроить не один счетчик для ms sql 2005.
            Проблема в том , что , например счетчик указанный здесь
            "\SQLServer:Locks(_Total)\Lock Waits/sec"
            у меня в счетчиках немного по другому
            "\SQLServer:Locks\Lock Waits/sec" т.е. без total.
            И вот первый вариант работает а второй нет.
            Подскажите почему так?
            И как тогда ориентироваться в выяснении правописания счетчиков
            ОСь W2k8 EN 64 RUS.

            PS. Выгрузил счетчики.Вроде там т.к. должны быть.

            Возможно ли настраивать параметры для конкретных баз на сервере?
            Например те-же Locks для базы TESTdb

            Спасибо
            Last edited by X-ITER; 25-10-2013, 11:41.

            Comment

            • Rainmib
              Junior Member
              • Jun 2013
              • 25

              #7
              Не забудьте потом поделится шаблоном готовым для 2008 sql

              Comment

              • X-ITER
                Junior Member
                • Apr 2012
                • 23

                #8
                Этот шаблон работает у меня на MS SQL 2005 x64 EN.

                Теперь вопрос.Каким способом мониторить невыполнение определенной job?
                Attached Files
                Last edited by X-ITER; 23-12-2013, 14:24.

                Comment

                • Sentinel7
                  Junior Member
                  • Aug 2013
                  • 21

                  #9
                  Originally posted by X-ITER
                  Этот шаблон работает у меня на MS SQL 2005 x64 EN.

                  Теперь вопрос.Каким способом мониторить невыполнение определенной job?
                  X-ITER,
                  посмотрите в сторону создания запроса в базу к нужным таблицам через UserParameter в конфигурационном файле агента. Связку с SQL-запросом можно сделать с помощью утилитки sqlcmd (http://technet.microsoft.com/ru-ru/l.../ms162773.aspx). Пример аналогичного решения тут: https://www.zabbix.com/forum/showthread.php?t=1958
                  А в шаблоне добавляете пользовательский ключ для мониторинга.
                  P.S.: Ну и триггер на срабатывание, соответственно, плюс оповещение. Хотя оповещение я реализовывал средствами MSSQL.
                  Last edited by Sentinel7; 24-12-2013, 10:40. Reason: Update

                  Comment

                  • A.Soloviev
                    Junior Member
                    • Feb 2014
                    • 27

                    #10
                    кто работал с sqlcmd, подскажите как заставить выводить в формате UTF-8.

                    Сейчас так:
                    Code:
                    UserParameter=sqlcmd,sqlcmd -S wshk0000021-don\SBd -f 65001 -i C:\database\sqlscript.sql
                    sqlscript.sql:
                    Code:
                    select * from errorlogdb.dbo.error_types;
                    GO
                    Если я сохраняю результат в файл, тогда он сохраняет в формате UTF-8, но если я запускаю с сервака zabbix_get, то вывод приходит в cp866. Потому что при запросе:
                    Code:
                    [root@doc ~]# zabbix_get -s 10.32.1.84 -p 10050 -k "sqlcmd"
                    русские буквы не читаются (формат консольного окна в UTF-8).

                    Если написать:
                    Code:
                    zabbix_get -s 10.32.1.84 -p 10050 -k "sqlcmd" | iconv -f cp866 -t utf-8
                    то русские буквы отображаются корректно.

                    Долго думал, что это из-за Zabbix, но попробовал сделать еще один UserParameter:
                    Code:
                    UserParameter=type,type c:\database\errorTypes.txt
                    в errorTypes.txt текст вывода sqlscript.sql, в кодировке UTF-8.
                    При запросе
                    Code:
                    [root@doc ~]# zabbix_get -s 10.32.1.84 -p 10050 -k type
                    русский текст выводит корректно.


                    P.S. В этой теме предистория моих мучений: https://www.zabbix.com/forum/showthr...t=19503&page=2
                    Last edited by A.Soloviev; 26-02-2014, 12:54.

                    Comment

                    • Alex0059
                      Junior Member
                      • Oct 2014
                      • 1

                      #11
                      Шаблоны

                      Здравствуйте. Я скачал шаблоны для mssql, но большинство элементов данных не поддерживаются агентом. Подскажите пожалуйста, что еще нужно настроить для этих шаблонов?
                      И еще конкретный вопрос:
                      На виртуальной машине заббикс сервер установлен а на хосте ms server 2008 r2, заббикс его мониторит. Я пытаюсь сделать чтоб заббикс показывал количество подключенных пользователей к базе:
                      Имя сервера: SQL Server (MSSQLSERVER)
                      В самом заббиксе:
                      Элемент данных: SQL Instance MSSQLSERVER: Number Users Connected с ключом: perf_counter["\MSSQLSERVER:General Statistics\User Connections"]
                      В заббиксе (в браузере) пишет Not supported by Zabbix Agent, в агенте какую команду нужно прописать? Если я правильно понял в агенте нужно прописать какой параметр и откуда брать?
                      UserParameter=MSSQLSERVER, {а вот тут нужно команду}

                      Comment

                      • n-di
                        Junior Member
                        • Jan 2015
                        • 1

                        #12
                        Originally posted by A.Soloviev
                        кто работал с sqlcmd, подскажите как заставить выводить в формате UTF-8.
                        так:
                        chcp 65001>nul

                        Code:
                        UserParameter=test1,[B]chcp 65001>nul &&[/B] sqlcmd -i "c:\Program Files\Zabbix\scripts\sql_test1.sql"

                        Comment

                        Working...