Pull to refresh

Comments 9

Скрипты для автодискавери на Powershell — делеко не самый оптимальный вариант (возможны таймауты под нагрузкой, скрипт может отвалиться с ошибкой итд). Помимо этого, нужно скрипты закидывать в агент и конфигурировать агент.

Есть нативный дискавери для WMI — можно как-нибудь использовать его, не прибегая к кастомным скриптам?

www.zabbix.com/documentation/current/manual/discovery/low_level_discovery/wmi
ПризнАюсь, не знал. Получается, что можно, но:
1) в процессе продакшн-использования шаблона (десяток серверов и несколько ТБ данных) просадок по производительности не наблюдал, кроме одного сервера, которому изначально выдали всего два vCPU (на остальных было по 4 или 8), что легко решилось добавлением виртуалке процессорных мощностей; а вообще, как уже было сказано в статье, на тему оптимизации и производительности PS хорошо ответили тут

2) не все WMI-запросы вернут вам данные в удобном виде, например, в некоторых не будет имён RG/RF, а будут только их GUID'ы — в итоге получите айтем с малоинформативным именем;

3) не всё можно обнаружить WMI-запросами (например, обнаружить с их помощью партнёров репликации у меня не получилось)

А так да, «идея богатая».
Ох уж эта DFS Репликация!
У нас по скрипту Powershell каждое утро приходит сколько баклога, доступность сервисов на DFS серверах и смысла нет даже что то еще вставлять.
Главное чтобы полоса была нормальной между городами и странами.
Самое главное с чем столкнулись в своей реализации — таймауты от агентов при мониторинге беклога больших папок.
На больших папках — они неизбежны, поскольку беклог в 1000+, а то и в 10000+ это норма у нас при больших изменениях.
Выкручивались шедулером, который собирает инфу в текстовые файлы, заббикс уже работает с ними (дискавери и опрос).

Как у вас это обходится?
Тайм-аут в настройках агента 10-15 секунд, периодичность опроса бэклогов 15 минут — полет нормальный. Правда, у нас больше 5000 бэклог не разрастался.
А вы каким скриптом размер бэклога получаете?
даже на 30 сек таймаута фейлится, на особо больших папках получение размера беклога занимает до минуты иногда.
Используется командлет Get-DfsrBacklog с -Verbose
Почитал ваш код — вижу что вы через WMI работаете. Интересно, спасибо, попробуем применить)
Не в ту ветку, сорри.
У меня на одном из серверов виснет на этом месте
$j = Get-WmiObject -ComputerName $RServerName -Namespace $DFSNamespace -Query $WMIQuery -ErrorAction Ignore -AsJob
[void](Wait-Job $j -Timeout $RequestTimeout)

Переписал вот так — работает.
$j = Get-WmiObject -ComputerName $RServerName -Namespace $DFSNamespace -Query $WMIQuery -ErrorAction Ignore
...
$VersionVector = $j.GetVersionVector().VersionVector

На остальных вроде и так и так нормально.
Sign up to leave a comment.

Articles

Change theme settings