Ad Widget

Collapse

Опрос размера каждой из баз на MSsql сервере

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Nevva
    Junior Member
    • Nov 2017
    • 4

    #1

    Опрос размера каждой из баз на MSsql сервере

    Доброго времени суток,
    стоит нетривиальная задача опросить сервер на предмет размера находящихся на нем баз, причем, каждой по отдельности, и выдать это дело на панель zabbixa.
    Снять информацию через sqlcmd можем.
    Вопрос как интегрировать все собранное с zabbix?
    за ссылки и полезные советы буду благодарна
  • sadman
    Senior Member
    • Dec 2010
    • 1611

    #2
    https://www.zabbix.com/documentation...evel_discovery -> ^F "3.7 Создание пользовательских LLD правил"

    Comment

    • Nevva
      Junior Member
      • Nov 2017
      • 4

      #3
      как я поняла мне необходимо 2 файла один с перечнем баз типа :
      {"data":[{{#BASENAME}":" Base_1"} [skip] }]}
      Второй с соотношением база - размер базы как-то так:
      Base_1 basesize_1
      Base_2 basesize_2

      Непонятно как их клиенту скормить

      Comment

      • sadman
        Senior Member
        • Dec 2010
        • 1611

        #4
        Ну, примерно правильно поняли в первой части. Вот тут разъяснялось решение для схожей задачи: https://www.zabbix.com/forum/showthread.php?t=56097

        Только непонятно, причем тут файлы.

        Comment

        • rough-84
          Senior Member
          • Oct 2014
          • 198

          #5
          Если задача срочная и базы все известны можно всё сделат ьвручную.

          Для каждой базы создать внешнюю проверку по типу:
          создаём скрипт base.sql :

          SET NOCOUNT ON
          declare @x int = (select sum(reserved)/128 from base.sys.sysindexes where indid < 2); print(@x);

          добавляем внешнюю проверку в zabbix.agent

          UserParameter = base,sqlcmd -S Server -E -i C:\base.sql

          и так для всех баз

          Получаем данные и сводим их в график который цепляем к комплексному экрану.
          Да наверное ручной труд знатоки zabbix не особо приветствуют, но иногда так быстрее сделать задачу, чем искать информацию часами в сети.

          Comment

          • Nevva
            Junior Member
            • Nov 2017
            • 4

            #6
            Originally posted by rough-84
            Если задача срочная и базы все известны можно всё сделат вручную.
            спасибо за вариант но баз 72 шт на трех серверах :-(

            Comment

            • Nevva
              Junior Member
              • Nov 2017
              • 4

              #7
              пока пытаюсь сделать на одном с наименьшим количеством баз. Где-то все-таки ошибаюсь.
              Так как ошибка value should be json object при передачи файла с перечнем баз нарисовалась.
              файл сформирован правильно - два валидатора подтвердили,
              кодировка правильная, размер 136 кб, в строке максимально 76 символов, таймаут и клиента и сервера максимальный.
              В логах и сервера и клиента ничего нет критичного.

              Comment

              • sadman
                Senior Member
                • Dec 2010
                • 1611

                #8
                У Zabbix JSON-парсер капризный.

                Покажите ваш LLD-JSON после zabbix_agent -s ... -k database_lld - чей-нибудь опытный глаз сразу выловит проблему.

                Comment

                • Anth(0)ny
                  Member
                  • Jul 2015
                  • 42

                  #9
                  Если имена баз известны заранее, то можно использовать это:

                  неименованный инстанс
                  wmi.get[root\cimv2,select DataFilesSizeKB from Win32_PerfFormattedData_MSSQLSERVER_SQLServerDatab ases Where name = 'имя базы или макрос']

                  именованный инстанс
                  wmi.get[root\cimv2,select DataFilesSizeKB from Win32_PerfFormattedData_{имя инстанса}_{имя инстанса}Databases Where name = 'имя базы или макрос']
                  Last edited by Anth(0)ny; 30-11-2017, 16:19.

                  Comment

                  Working...