Ad Widget

Collapse

Microsoft WSUS + Zabbix

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • sadman
    Senior Member
    • Dec 2010
    • 1611

    #1

    Microsoft WSUS + Zabbix

    Выкладываю комплект для мониторинга Microsoft WSUS (3.0).

    По форуму не нашёл, в гугле в основном мониторят обновления на клиентах и размеры базы SUSDB, так что накатал .ps1 сам.

    Что умеет... Выдавать метрики, связанные с общей статистикой - количество одобренных/неодобренных/истекших/прочих обновлений, клиентов обновленных полностью/частично/с ошибками; результат последней синхронизации, текущий статус процесса синхронизации.

    Подключается через UserParameter. Темплейт для Zabbix 2.4 в комплекте. Не забывайте сделать Set-ExecutionPolicy RemoteSigned, увеличить Timeout в конфиге агента и не увлекайтесь частым обновлением элементов данных.

    Забирать тут: https://github.com/zbx-sadman/wsus

    Предложения, дополнения?
    Last edited by sadman; 04-02-2016, 11:53.
  • Andrey Dyukin
    Junior Member
    • Jul 2015
    • 22

    #2
    Супер просто, давно искал что-то подобное. В ближайшую неделю обкатаю, напишу все ли хорошо.
    Спасибо вам за работу!

    Comment

    • sadman
      Senior Member
      • Dec 2010
      • 1611

      #3
      Было бы неплохо, если бы поделились статистикой. А то что-то на моей виртуалке как-то медленновато запросы через wsus api обрабатываются - пришлось даже интервалы в айтемах данных увеличивать до часа. На 60 сек полная вешалка была с неполучением данных от агента.

      Вобщем, я еще lld добавил для получения срезов по группам компьютеров, так что актуализируйте шаблон/скрипт.

      Comment

      • sadman
        Senior Member
        • Dec 2010
        • 1611

        #4
        Зафиксил скрипт для правильного коннекта к WSUS 6 (Windows Server 2012 R2) и так ещё, по мелочи.

        Лежит там же, на гитхабе.

        Comment

        • MONro
          Junior Member
          • Dec 2015
          • 9

          #5
          Получение статистики с учетом подчиненн&

          Отличный инструмент для мониторинга.
          Вопрос такой, есть ли возможность получать статистику с учетом подчиненных серверов?
          Скрипт дает информацию по компьютерам, подключенным непосредственно к опрашиваемому серверу. В консоли wsus видна полная статистика с учетом подчиненных серверов. Есть возможность эти цифры получить?

          Comment

          • sadman
            Senior Member
            • Dec 2010
            • 1611

            #6
            Originally posted by MONro
            Отличный инструмент для мониторинга.
            Вопрос такой, есть ли возможность получать статистику с учетом подчиненных серверов?
            Скрипт дает информацию по компьютерам, подключенным непосредственно к опрашиваемому серверу. В консоли wsus видна полная статистика с учетом подчиненных серверов. Есть возможность эти цифры получить?
            В текущей ревизии - нет. Так, как у меня нет downstream-ов и доступа к таким конфигурациям нет, то я эту часть оставил нереализованной - проверить всё равно не на чем. В принципе, в API есть DownstreamServerCollection - значить выудить что-то оттуда можно.

            Comment

            • vitabios
              Junior Member
              • Sep 2018
              • 6

              #7
              5464:20180926:082407.641 active check "wsus.miner[Get,Configuration,LocalContentCachePath]" is not supported: Timeout while executing a shell script.
              5464:20180926:082437.653 active check "wsus.miner[Get,Info,FullVersion]" is not supported: Timeout while executing a shell script.
              5464:20180926:082507.673 active check "wsus.miner[Get,LastSynchronization,NotSyncInDays]" is not supported: Timeout while executing a shell script.
              Подскажите, как исправить ошибку в работе агента?
              Timeout=30 в конфиге

              Comment

              • sadman
                Senior Member
                • Dec 2010
                • 1611

                #8
                Сам-то скрипт как быстро работает? Из командной строки его позапускайте с опцией Verbose.

                Comment

                • vitabios
                  Junior Member
                  • Sep 2018
                  • 6

                  #9
                  запустил вот так, он отработал за 14 секунд и показал все параметры в окне powershell
                  powershell -NoProfile -ExecutionPolicy "RemoteSigned" -File "wsus_miner.ps1" -Action "Get" -Object "Configuration" -Verbose

                  в параметрах агента:
                  UserParameter=wsus.miner[*], powershell -NoProfile -ExecutionPolicy "RemoteSigned" -File "c:\windows\zabbix\scripts\wsus_miner.ps1" -Action "$1" -Object "$2" -Key "$3" -Id "$4" -consoleCP CP866

                  Comment

                  • sadman
                    Senior Member
                    • Dec 2010
                    • 1611

                    #10
                    Значит должно работать, ежели не забыли перезапустить агента после того, как подправили таймаут. 14 сек - это же меньше, чем 30.

                    Еще уточняющий вопрос - по таймауту все метрики отваливаются или часть? Какая-то логика прослеживается?

                    Comment

                    • vitabios
                      Junior Member
                      • Sep 2018
                      • 6

                      #11
                      да практически все. при перезапуске агента powershell начинает работать, это видно в диспетчере задач. Но в логе начинает писать таймаут по всем параметрам. Лог приложил
                      Attached Files

                      Comment

                      • sadman
                        Senior Member
                        • Dec 2010
                        • 1611

                        #12
                        На моей виртуалке порядка 3 сек выполняется скрипт:

                        powershell -NoProfile -ExecutionPolicy "RemoteSigned" -File "wsus_miner.ps1" -Action "Get" -Object "Configuration" -Verbose -defaultConsoleWidth

                        -------------
                        ПОДРОБНО: 10/01/2018 09:09:55 Test 'UpdateServices' module state
                        ПОДРОБНО: 10/01/2018 09:09:55 Loading 'Microsoft.UpdateServices.Administration' assembly from file
                        ПОДРОБНО: 10/01/2018 09:09:55 Trying to connect to local WSUS Server
                        ПОДРОБНО: 10/01/2018 09:09:56 Connection established
                        ПОДРОБНО: 10/01/2018 09:09:56 Creating collection of specified object: 'Configuration'
                        ПОДРОБНО: 10/01/2018 09:09:58 Collection created, begin processing its with action: 'Get'
                        ПОДРОБНО: 10/01/2018 09:09:58 Getting metric related to key: ''
                        ПОДРОБНО: 10/01/2018 09:09:58 Finishing
                        -------------


                        Даже и не знаю, что посоветовать кроме как накинуть мощностей. По картинке я тут ничего не могу сказать, нужно систему щупать.

                        Comment

                        • vitabios
                          Junior Member
                          • Sep 2018
                          • 6

                          #13
                          приложил вывод этой команды. сервер на 2008 R2. вот даже не знаю в какую сторону посмотреть.
                          база данных wsus находится на отдельном сервере, если это важно.
                          Attached Files

                          Comment

                          • sadman
                            Senior Member
                            • Dec 2010
                            • 1611

                            #14
                            По неравномерности интервалов времени за которые исполняется скрипт могу предположить, что там все же крутится что-то тяжелое, высок LA процессора или SQL медленно отдает данные. Смотреть надо в сторону сокращения мониторящихся метрик, возможно перевод их в тип "Zabbix agent (passive)" и увеличения производительности системы. Это всё, что я могу сказать на данном уровне диагностики.

                            Comment

                            • vitabios
                              Junior Member
                              • Sep 2018
                              • 6

                              #15
                              спасибо, буду пробовать ускорить ответ скрипта.

                              Comment

                              Working...