После долгих поисков решения, перелопатил на эту тему много всяких доков и скриптов, для себя нашел такое решение
Во-первых, решил что отчет должен формироваться в pdf, считаю правильной практику отчетов для текстовых данных это CSV, для графики PDF
Во-вторых, все таки для Linux и Windows систем лучше использовать агента Zabbix, чем протокол SNMP(плюсы много мануалов и не нужно искать MIB)
Разделил по этапам выполнение
1. Создание msi пакетов для Windows систем, кто-то уже потрудился и сделал все за нас
www.suiviperf.com/zabbix/index.php , качается ORCA -
www.technipages.com/download-orca-msi-editor , и редактируются msi под свои нужды
2. Идем в AD и через GPO или GPMC, закидываем Computer configuration - Software Settings - Software installation
Ждем когда при загрузке ПК,будут ставится агенты Заббикса
3. Настраиваем Zabbix
Предварительно создаем группу хостов - у меня TEST
Configuration - Discovery
Name - Local
IP range - 192.168.1.1-254 (Диапозон локалки,через запятую если их несколько)
Checks - ICMP ping, Zabbix agent "system.uname"
Device uniqueness criteria - ICMP ping
Configuration - Actions
Name - AddLocal
CONDITIONS
Discovery rule = Local
Received value like Windows
Uptime/Downtime >= 3600
Discovery status = Up
Service type = Zabbix agent
OPERATIONS
Add host
Add to host groups: Test
Link to templates: Template OS Windows
Enable host
Теперь наши хосты при обнаружении в сети больше часа и с ОС Windows,попадут в группу хостов TEST
Удаляем хосты которые неактивны больше суток
Name - REMOVELocal
CONDITIONS
Discovery rule = LOcal
Uptime/Downtime >= 86400
Service type = ICMP ping
OPERATIONS
Remove host
Включаем настройки отладки пользователю с которым подключимся в скрипте, я использовал по умолчанию свою учетку с админискими правами, для группу Zabbix administrators - DEBUG MODE - Enabled
4. Собственно сам скрипт
https://cloud.mail.ru/public/4hGR/gBZNGVJp9
Копируем его в каталог zabbix /usr/share/zabbix/zabbix-dynamic-pdf-report
Создаем здесь же каталог report c полными правами chmod 777
Редактируется файл config.inc.php
Идем на страничку и проверяем работает ли скрипт 192.168.11/zabbix/zabbix-dynamic-pdf-report
У меня формируется отчет по условиям CPU load, IIS WP3W Memory usage, Memory usage,Disk space usage
Они прописаны в файле createpdf.functions.php
5. Пишем обработчик и отправку отчета по почте, вешаем в crontab, отчет формируем для группы хостов TEST смотрим его id и добавляем в get запрос
Файл getcurl.pl
#!/usr/bin/perl
my $strcurl = `curl "
192.168.1.11/zabbix/zabbix-dynamic-pdf-report/crea..."`;
Файл sendreport.pl
#!/usr/bin/perl
my $sen= system(' echo "" | mail -s "Zabbix Report day" -a "/usr/share/zabbix/zabbix-dynamic-pdf-report/report/test_PC_in_AD.pdf" test@test.com');
Нашел пока две недоработки, пытаюсь исправить
1. Динамические обнаруженные буквы дисков не подставляются, такая же история и с процессами, поэтом в массиве нужно указывать весь набор
2. График по дискам, не круговой,а обычная диаграмма