Установка Агента Zabbix + Аппаратное обеспечение Windows

Мониторинг Железа
Датчики температур
Кулера
Диски
Напряжение
и т.д.
Аватара пользователя
Артём Мамзиков
Admin
Сообщения: 367
Стаж: 2 года 9 месяцев
Откуда: Вологодская область
Контактная информация:

Установка Агента Zabbix + Аппаратное обеспечение Windows

Сообщение Артём Мамзиков »

Установка агента совместно с программой мониторинга железа



Скопировать папку zabbix в корень диска С

Браундмауэр открыть порт что бы все работало в брандмауэре Windows создать правило для входящих подключений разрешающее работу с портом TCP Служебный 10050 и 10051

Запустить powershell под правами администратора
выполнить команды
Get-ExecutionPolicy
Set-ExecutionPolicy Unrestricted потвердить Y

Запустить от имени Администратора Instal 64Bit Zabbix Agent.bat
Проверить OpenHardwareMonitor что бы в программке не было в наименованиях датчиков #
Запустить Службу Zabbix Agenta

Можно сделать скрипт bat для облегчения установки (если пути отличаются изменить на свои)

Установка скриптом Скачиваем Извлекаем в любое место и запускаем от имени Администратора Install 32 64Bit Zabbix Agent.bat
Если желаете изменить путь установки или набор установки редактируйте данный батник путь выбран без пробелов для удобства

Скачать Auto install Zabbix Agent.zip

Батник
Сам определяет где он лежит путь
Определяет какая разрядность
Ставит Zabbix Agenta
Ставит OpenHardwareMonitor
Ставит smartmontools
Запускает службы
В брандмауэр прописывает порты исключения
Разрешает запуск скриптов PowerShell
Запрос основных настроек Конфигурации Zabbix Agenta
Остается убрать # для получения нужной инфы с OpenHardwareMonitor или же есть новый способ Скрипт + Шаблон для Windows LLD Open Hardware Monitor

Версия V3.1Instal 32 64Bit Zabbix Agent.bat
Изменения от 3.0
Убрана установка службы Open Hardware Monitor оставлен только процесс
V3.1Instal 32 64Bit Zabbix Agent.bat
Показать
@ECHO OFF
mode con:cols=130 lines=40
color 1A
:: Автор Артём Андреевич Мамзиков
:: V 3.1 2020.11.24
chcp 866 >NUL
TITLE Установка Zabbix Agent и дополнений
@cls
echo.
echo.
echo. Данный скрипт автоматически выполнит:
echo. 1. Разрешить выполнение всех скриптов в PowerShell Unrestricted (правка реестра)
echo. 2. Брандмауэр Windows Разрешение Входящих Исходящих Портов 10050 и 10051
echo. 3. Определение разрядности системы x86 или x64
echo. 4. Установка Zabbix Agent
echo. 5. Установка OpenHardwareMonitor
echo. 6. Установка smartmontools состояния дисков
echo.
echo. P.S.
echo. Убрать # для передачи необходимых параметров в OpenHardwareMonitor
echo. При необходимости настроить файл конфигурации C:\zabbix\zabbix_agentd.win.conf
echo. Скрипт должен выполнятся от имени Администратора
echo. или Пользователя имеющего соответствующие права на изменения!!!
@echo off
pause
@Echo Off
::Пользователь Разрешить выполнение всех скриптов в PowerShell
reg add HKCU\Software\Policies\Microsoft\Windows\PowerShell /v EnableScripts /t REG_DWORD /d 1 /f
reg add HKCU\Software\Policies\Microsoft\Windows\PowerShell /v ExecutionPolicy /t REG_SZ /d Unrestricted /f
::Локально компьютера Разрешить выполнение всех скриптов в PowerShell
reg add HKLM\Software\Policies\Microsoft\Windows\PowerShell /v EnableScripts /t REG_DWORD /d 1 /f
reg add HKLM\Software\Policies\Microsoft\Windows\PowerShell /v ExecutionPolicy /t REG_SZ /d Unrestricted /f
:: Unrestricted - разрешено выполнение абсолютно любых сценариев не подписанных скриптов в PowerShell
reg add HKCU\Software\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell /v ExecutionPolicy /t REG_SZ /d Unrestricted /f
:: Брандмауэр Windows Разрешение Входящих Исходящих Портов 10050 и 10051
netsh advfirewall firewall add rule name="10050 Zabbix" protocol=TCP dir=in localport=10050 action=allow
netsh advfirewall firewall add rule name="10051 Zabbix" protocol=TCP dir=in localport=10051 action=allow
netsh advfirewall firewall add rule name="10050 Zabbix" protocol=TCP dir=out localport=10050 action=allow
netsh advfirewall firewall add rule name="10051 Zabbix" protocol=TCP dir=out localport=10051 action=allow
:: Остановка служб на случай если были установлены ранее
net stop "Zabbix Agent"
:: Определение пути откуда запущен bat и копирование в C:\zabbix\
chcp 866 >NUL
xcopy "%~dp0"*.* C:\zabbix\ /s /e /y /v /c
:: Кооптировании установочного файла для определенной разрядности системы
Set xOS=x64
If "%PROCESSOR_ARCHITECTURE%"=="x86" If Not Defined PROCESSOR_ARCHITEW6432 Set xOS=x86
If %xOS%==x86 (xcopy "C:\zabbix\inst\zabbix_agents_ 4.4.4.win\bin\win32" "C:\zabbix" /s /e /y /v & xcopy "C:\zabbix\inst\openhardwaremonitor-v0.8.0-beta" "C:\zabbix\OpenHardwareMonitor" /s /e /y /v) Else (xcopy "C:\zabbix\inst\zabbix_agents_ 4.4.4.win\bin\win64" "C:\zabbix" /s /e /y /v & xcopy "C:\zabbix\inst\OpenHardwareMonitorv0.9.5" "C:\zabbix\OpenHardwareMonitor" /s /e /y /v)
:: Проверка наличия переменной Path для zabbix, если нет добавляем
echo %PATH%|>nul find /i "C:\zabbix"||path %PATH%;C:\zabbix\;
:: Установка службы Zabbix Agent
C:/zabbix/zabbix_agentd.exe --config C:/zabbix/zabbix_agentd.win.conf --install
sc config "Zabbix Agent" start= auto
sc failure "Zabbix Agent" reset= 60 actions= restart/60000/restart/120000//
net start "Zabbix Agent"

:: Установка NET Framework 4.5 если его нет
C:\zabbix\OpenHardwareMonitor\dotnetfx45_full_x86_x64.exe /q /norestart

::Автозагрука OHM в качестве процесса
:: Автозапуск через реестр
::reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v StartupOHM /d C:\zabbix\OpenHardwareMonitor\OpenHardwareMonitor.exe /f

:: Планировщик задач создание задачи От имени администратора
:: При входе любого пользователя
::SCHTASKS /Create /SC ONLOGON /TN "\Open Hardware Monitor\Startup" /TR "'C:\zabbix\OpenHardwareMonitor\OpenHardwareMonitor.exe'" /RL Highest /F

:opros
:: Вопрос От какой учетной записи внести задание в планировщик для OHM
set /P otvet=Указать Учетнаю запись для запуска OpenHardwareMonitor [Y,N]?:
if /i "%otvet%"=="y" (goto :yes) else (if /i "%otvet%"=="n" (goto :no) else (goto :opros))
:: Если нет ответа 3 минуты автоматом значение N работает от Windows 7
::CHOICE /C YN /N /T 180 /D N /M "Указать Учетную запись для запуска OpenHardwareMonitor [Y,N]?:"
::if /i "%ERRORLEVEL%"=="1" (goto :yes) else (if /i "%ERRORLEVEL%"=="2" (goto :no) else if /i "%ERRORLEVEL%"=="255" (goto :opros))
:no
:: От Група Система или Локального пользователя
set login=S-1-5-18
::set login=NT AUTHORITY\LOCALSERVICE
set "pass="
:: При загрузке Windows
SCHTASKS /Create /SC ONSTART /TN "\Open Hardware Monitor\Startup" /TR "'C:\zabbix\OpenHardwareMonitor\OpenHardwareMonitor.exe'" /RU "NT AUTHORITY\LOCALSERVICE" /RL Highest /F
SCHTASKS /Create /SC ONSTART /TN "\Open Hardware Monitor\Startup" /TR "'C:\zabbix\OpenHardwareMonitor\OpenHardwareMonitor.exe'" /RU "S-1-5-18" /RL Highest /F
:: Уже готовая задача в XML делаем импорт
SCHTASKS /Create /RU "%login%" /RP "%pass%" /tn "\Open Hardware Monitor\Startup" /XML "C:\zabbix\OpenHardwareMonitor\OHM.xml" /F
SCHTASKS /Create /RU "%login%" /RP "%pass%" /tn "\Open Hardware Monitor\restart-ohm.bat" /XML "C:\zabbix\OpenHardwareMonitor\restart-ohm.bat.xml" /F
goto :dalee

:yes
:: Визуальный вывод и получение ввода данных
chcp 866 >NUL
echo Логин/Login
set /P login=
set login=%login%
echo.
echo Пароль/Password
set /P pass=
set pass=%pass%
echo.

:: При загрузке Windows
SCHTASKS /Create /SC ONSTART /TN "\Open Hardware Monitor\Startup" /TR "'C:\zabbix\OpenHardwareMonitor\OpenHardwareMonitor.exe'" /RU "NT AUTHORITY\LOCALSERVICE" /RL Highest /F
SCHTASKS /Create /SC ONSTART /TN "\Open Hardware Monitor\Startup" /TR "'C:\zabbix\OpenHardwareMonitor\OpenHardwareMonitor.exe'" /RU "S-1-5-18" /RL Highest /F
SCHTASKS /Create /RU "%login%" /RP "%pass%" /SC ONSTART /TN "\Open Hardware Monitor\Startup" /TR "'C:\zabbix\OpenHardwareMonitor\OpenHardwareMonitor.exe'" /RL Highest /F
:: Уже готовая задача в XML делаем импорт
SCHTASKS /Create /RU "%login%" /RP "%pass%" /tn "\Open Hardware Monitor\Startup" /XML "C:\zabbix\OpenHardwareMonitor\OHM.xml" /F
SCHTASKS /Create /RU "%login%" /RP "%pass%" /tn "\Open Hardware Monitor\restart-ohm.bat" /XML "C:\zabbix\OpenHardwareMonitor\restart-ohm.bat.xml" /F
goto :dalee

:dalee
:: Выполнить на локальном компьютере задание "Startup" немедленно, игнорируя любые ограничения
SCHTASKS /Run /I /TN "\Open Hardware Monitor\Startup"
SCHTASKS /Run /I /TN "\Open Hardware Monitor\restart-ohm.bat"

:: Папка Автозагрузки в неё нужно скоприровать .exe или батник на запуск .exe
::C:\Users\Пользователь\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
::C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup

:: Проверка что процесс запустился, если нет запускаем
TaskList /FI "ImageName EQ OpenHardwareMonitor.exe" 2>nul|Find /I "OpenHardwareMonitor.exe">nul||(
Start "" /high "C:\zabbix\OpenHardwareMonitor\OpenHardwareMonitor.exe"
)


::Установка smartmontools состояния дисков
start C:\zabbix\inst\smartmontools-7.0-1.win32-setup.exe /S
::Для Windows XP Служба zabbix agentd запущенная от имени Локальная система не видит smartctl.exe
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path /t REG_EXPAND_SZ /d "%path%;C:\Program Files"\smartmontools\bin; /f
:: Проверка наличия переменной, если нет добавляем
echo %PATH%|>nul find /i "C:\Program Files\smartmontools\bin"||path %PATH%;C:\Program Files\smartmontools\bin\;
::Дополнительно команды для переменных если выше команд не достаточно
::reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths\smartctl.exe" /ve /t REG_SZ /d "C:\Program Files\smartmontools\bin\smartctl.exe" /f
::reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths\smartctl.exe" /v Path /t REG_SZ /d "C:\Program Files"\smartmontools\bin\ /f
::reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths\smartctl-nc.exe" /ve /t REG_SZ /d "C:\Program Files\smartmontools\bin\smartctl-nc.exe" /f
::reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths\smartctl-nc.exe" /v Path /t REG_SZ /d "C:\Program Files"\smartmontools\bin\ /f
::reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths\smartd.exe" /ve /t REG_SZ /d "C:\Program Files\smartmontools\bin\smartd.exe" /f
::reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths\smartd.exe" /v Path /t REG_SZ /d "C:\Program Files"\smartmontools\bin\ /f

:: Запрос на настройку файла конфигурации
:: Если любой другой ответ запустить запрос еще раз
:vopros
:: Очистка экрана
::@cls
set /P zapros=Вы хотите настроить файл конфигурации [Y,N]?:
if /i "%zapros%"=="y" (goto :yconf) else (if /i "%zapros%"=="n" (goto :end) else (goto :vopros))
:yconf
:: Запрос для заполнения конфигурации файла переменные запроса
set ipserver=Укажите IP адрес Zabbix Servera Server=
set portserver=Укажите порт обычно 10050 ListenPort=
set activserver=Укажите IP и Порт Zabbix Servera для активных проверок обычно порт 10051 ServerActive=
:: Визуальный вывод и получение ввода данных
chcp 866 >NUL
echo %ipserver%
set /P Server=
set Server=Server=%Server%
echo.
echo %portserver%
set /P ListenPort=
set ListenPort=ListenPort=%ListenPort%
echo.
echo %activserver%
set /P ServerActive=
set ServerActive=ServerActive=%ServerActive%
echo.
:: Цикл для каждого параметра и подстановка
setlocal EnableDelayedExpansion
for %%t in (Server, ListenPort, ServerActive) do (
<"C:\zabbix\zabbix_agentd.win.conf">$ (for /f "delims=" %%a in ('find /I /N /V ""') do @(
set "s=%%a"& set "s=!s:*]=!"& echo:!s!|>nul findstr /ibrc:"%%t=" && (
echo:!%%t!
) || (
echo:!s!
)
)
)& >nul move $ "C:\zabbix\zabbix_agentd.win.conf"
)
endlocal
:: Перезапуск службы после настройки конфигурации
net restart "Zabbix Agent"
chcp 866 >NUL
echo Для более детальной настройки откройте C:\zabbix\zabbix_agentd.win.conf
:end

::Перезагрузка для применения системной переменной
::shutdown -r -f -t 15 -c "Перезагрузка системы"
pause
color 0f
Версия V3.0Instal 32 64Bit Zabbix Agent.bat
Изменения от 2.0
Проверяет есть ли уже переменные, если есть повторно не заносит
Ввиду того что nssm стала считаться вирусом некоторыми антивирусниками
сделано 2 варианта как служба так и процесс Open Hardware Monitor
в зависимости от разрядности Open Hardware Monitor будет 0.8 или 0.9.5
для 0.9.5 будет выполнена установка NET Framework 4.5
Вопрос для процесса OHM для занесения в планировщик заданий от какого имени пользователя
V3.0Instal 32 64Bit Zabbix Agent.bat
Показать
@ECHO OFF
mode con:cols=130 lines=40
color 1A
:: Автор Артём Андреевич Мамзиков
:: V 3.0 2020.11.24
chcp 866 >NUL
TITLE Установка Zabbix Agent и дополнений
@cls
echo.
echo.
echo. Данный скрипт автоматически выполнит:
echo. 1. Разрешить выполнение всех скриптов в PowerShell Unrestricted (правка реестра)
echo. 2. Брандмауэр Windows Разрешение Входящих Исходящих Портов 10050 и 10051
echo. 3. Определение разрядности системы x86 или x64
echo. 4. Установка Zabbix Agent
echo. 5. Установка OpenHardwareMonitor
echo. 6. Установка smartmontools состояния дисков
echo.
echo. P.S.
echo. Убрать # для передачи необходимых параметров в OpenHardwareMonitor
echo. При необходимости настроить файл конфигурации C:\zabbix\zabbix_agentd.win.conf
echo. Скрипт должен выполнятся от имени Администратора
echo. или Пользователя имеющего соответствующие права на изменения!!!
@echo off
pause
@Echo Off
::Пользователь Разрешить выполнение всех скриптов в PowerShell
reg add HKCU\Software\Policies\Microsoft\Windows\PowerShell /v EnableScripts /t REG_DWORD /d 1 /f
reg add HKCU\Software\Policies\Microsoft\Windows\PowerShell /v ExecutionPolicy /t REG_SZ /d Unrestricted /f
::Локально компьютера Разрешить выполнение всех скриптов в PowerShell
reg add HKLM\Software\Policies\Microsoft\Windows\PowerShell /v EnableScripts /t REG_DWORD /d 1 /f
reg add HKLM\Software\Policies\Microsoft\Windows\PowerShell /v ExecutionPolicy /t REG_SZ /d Unrestricted /f
:: Unrestricted - разрешено выполнение абсолютно любых сценариев не подписанных скриптов в PowerShell
reg add HKCU\Software\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell /v ExecutionPolicy /t REG_SZ /d Unrestricted /f
:: Брандмауэр Windows Разрешение Входящих Исходящих Портов 10050 и 10051
netsh advfirewall firewall add rule name="10050 Zabbix" protocol=TCP dir=in localport=10050 action=allow
netsh advfirewall firewall add rule name="10051 Zabbix" protocol=TCP dir=in localport=10051 action=allow
netsh advfirewall firewall add rule name="10050 Zabbix" protocol=TCP dir=out localport=10050 action=allow
netsh advfirewall firewall add rule name="10051 Zabbix" protocol=TCP dir=out localport=10051 action=allow
:: Остановка служб на случай если были установлены ранее
net stop "Zabbix Agent"
net stop OpenHardwareMonitor
:: Определение пути откуда запущен bat и копирование в C:\zabbix\
chcp 866 >NUL
xcopy "%~dp0"*.* C:\zabbix\ /s /e /y /v /c
:: Кооптировании установочного файла для определенной разрядности системы
Set xOS=x64
If "%PROCESSOR_ARCHITECTURE%"=="x86" If Not Defined PROCESSOR_ARCHITEW6432 Set xOS=x86
If %xOS%==x86 (xcopy "C:\zabbix\inst\zabbix_agents_ 4.4.4.win\bin\win32" "C:\zabbix" /s /e /y /v & xcopy "C:\zabbix\inst\nssm-2.24\win32" "C:\zabbix\inst\nssm-2.24" /s /e /y /v & xcopy "C:\zabbix\inst\openhardwaremonitor-v0.8.0-beta" "C:\zabbix\OpenHardwareMonitor" /s /e /y /v) Else (xcopy "C:\zabbix\inst\zabbix_agents_ 4.4.4.win\bin\win64" "C:\zabbix" /s /e /y /v & xcopy "C:\zabbix\inst\nssm-2.24\win64" "C:\zabbix\inst\nssm-2.24" /s /e /y /v & xcopy "C:\zabbix\inst\OpenHardwareMonitorv0.9.5" "C:\zabbix\OpenHardwareMonitor" /s /e /y /v)
:: Проверка наличия переменной Path для zabbix, если нет добавляем
echo %PATH%|>nul find /i "C:\zabbix"||path %PATH%;C:\zabbix\;
:: Установка службы Zabbix Agent
C:/zabbix/zabbix_agentd.exe --config C:/zabbix/zabbix_agentd.win.conf --install
sc config "Zabbix Agent" start= auto
sc failure "Zabbix Agent" reset= 60 actions= restart/60000/restart/120000//
net start "Zabbix Agent"

:: Установка NET Framework 4.5 если его нет
C:\zabbix\OpenHardwareMonitor\dotnetfx45_full_x86_x64.exe /q /norestart

:: Установка службы OpenHardwareMonitor
cd C:\zabbix\inst\nssm-2.24
nssm install OpenHardwareMonitor C:\zabbix\OpenHardwareMonitor\OpenHardwareMonitor.exe
:: Применение к службам Автозапуска Перезапуск при 2х сбоях Старт служб
sc config OpenHardwareMonitor start= auto
sc failure OpenHardwareMonitor reset= 60 actions= restart/60000/restart/120000//
nssm start OpenHardwareMonitor

::Автозагрука OHM в качестве процесса
:: Автозапуск через реестр
::reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v StartupOHM /d C:\zabbix\OpenHardwareMonitor\OpenHardwareMonitor.exe /f

:: Планировщик задач создание задачи От имени администратора
:: При входе любого пользователя
::SCHTASKS /Create /SC ONLOGON /TN "\Open Hardware Monitor\Startup" /TR "'C:\zabbix\OpenHardwareMonitor\OpenHardwareMonitor.exe'" /RL Highest /F

:opros
:: Вопрос От какой учетной записи внести задание в планировщик для OHM
set /P otvet=Указать Учетнаю запись для запуска OpenHardwareMonitor [Y,N]?:
if /i "%otvet%"=="y" (goto :yes) else (if /i "%otvet%"=="n" (goto :no) else (goto :opros))
:: Если нет ответа 3 минуты автоматом значение N работает от Windows 7
::CHOICE /C YN /N /T 180 /D N /M "Указать Учетную запись для запуска OpenHardwareMonitor [Y,N]?:"
::if /i "%ERRORLEVEL%"=="1" (goto :yes) else (if /i "%ERRORLEVEL%"=="2" (goto :no) else if /i "%ERRORLEVEL%"=="255" (goto :opros))
:no
:: От Група Система или Локального пользователя
set login=S-1-5-18
::set login=NT AUTHORITY\LOCALSERVICE
set "pass="
:: При загрузке Windows
SCHTASKS /Create /SC ONSTART /TN "\Open Hardware Monitor\Startup" /TR "'C:\zabbix\OpenHardwareMonitor\OpenHardwareMonitor.exe'" /RU "NT AUTHORITY\LOCALSERVICE" /RL Highest /F
SCHTASKS /Create /SC ONSTART /TN "\Open Hardware Monitor\Startup" /TR "'C:\zabbix\OpenHardwareMonitor\OpenHardwareMonitor.exe'" /RU "S-1-5-18" /RL Highest /F
:: Уже готовая задача в XML делаем импорт
SCHTASKS /Create /RU "%login%" /RP "%pass%" /tn "\Open Hardware Monitor\Startup" /XML "C:\zabbix\OpenHardwareMonitor\OHM.xml" /F
SCHTASKS /Create /RU "%login%" /RP "%pass%" /tn "\Open Hardware Monitor\restart-ohm.bat" /XML "C:\zabbix\OpenHardwareMonitor\restart-ohm.bat.xml" /F
goto :dalee

:yes
:: Визуальный вывод и получение ввода данных
chcp 866 >NUL
echo Логин/Login
set /P login=
set login=%login%
echo.
echo Пароль/Password
set /P pass=
set pass=%pass%
echo.

:: При загрузке Windows
SCHTASKS /Create /SC ONSTART /TN "\Open Hardware Monitor\Startup" /TR "'C:\zabbix\OpenHardwareMonitor\OpenHardwareMonitor.exe'" /RU "NT AUTHORITY\LOCALSERVICE" /RL Highest /F
SCHTASKS /Create /SC ONSTART /TN "\Open Hardware Monitor\Startup" /TR "'C:\zabbix\OpenHardwareMonitor\OpenHardwareMonitor.exe'" /RU "S-1-5-18" /RL Highest /F
SCHTASKS /Create /RU "%login%" /RP "%pass%" /SC ONSTART /TN "\Open Hardware Monitor\Startup" /TR "'C:\zabbix\OpenHardwareMonitor\OpenHardwareMonitor.exe'" /RL Highest /F
:: Уже готовая задача в XML делаем импорт
SCHTASKS /Create /RU "%login%" /RP "%pass%" /tn "\Open Hardware Monitor\Startup" /XML "C:\zabbix\OpenHardwareMonitor\OHM.xml" /F
SCHTASKS /Create /RU "%login%" /RP "%pass%" /tn "\Open Hardware Monitor\restart-ohm.bat" /XML "C:\zabbix\OpenHardwareMonitor\restart-ohm.bat.xml" /F
goto :dalee

:dalee
:: Выполнить на локальном компьютере задание "Startup" немедленно, игнорируя любые ограничения
SCHTASKS /Run /I /TN "\Open Hardware Monitor\Startup"
SCHTASKS /Run /I /TN "\Open Hardware Monitor\restart-ohm.bat"

:: Папка Автозагрузки в неё нужно скоприровать .exe или батник на запуск .exe
::C:\Users\Пользователь\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
::C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup

:: Проверка что процесс запустился, если нет запускаем
TaskList /FI "ImageName EQ OpenHardwareMonitor.exe" 2>nul|Find /I "OpenHardwareMonitor.exe">nul||(
Start "" /high "C:\zabbix\OpenHardwareMonitor\OpenHardwareMonitor.exe"
)

::Установка smartmontools состояния дисков
start C:\zabbix\inst\smartmontools-7.0-1.win32-setup.exe /S
::Для Windows XP Служба zabbix agentd запущенная от имени Локальная система не видит smartctl.exe
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path /t REG_EXPAND_SZ /d "%path%;C:\Program Files"\smartmontools\bin; /f
:: Проверка наличия переменной, если нет добавляем
echo %PATH%|>nul find /i "C:\Program Files\smartmontools\bin"||path %PATH%;C:\Program Files\smartmontools\bin\;
::Дополнительно команды для переменных если выше команд не достаточно
::reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths\smartctl.exe" /ve /t REG_SZ /d "C:\Program Files\smartmontools\bin\smartctl.exe" /f
::reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths\smartctl.exe" /v Path /t REG_SZ /d "C:\Program Files"\smartmontools\bin\ /f
::reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths\smartctl-nc.exe" /ve /t REG_SZ /d "C:\Program Files\smartmontools\bin\smartctl-nc.exe" /f
::reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths\smartctl-nc.exe" /v Path /t REG_SZ /d "C:\Program Files"\smartmontools\bin\ /f
::reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths\smartd.exe" /ve /t REG_SZ /d "C:\Program Files\smartmontools\bin\smartd.exe" /f
::reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths\smartd.exe" /v Path /t REG_SZ /d "C:\Program Files"\smartmontools\bin\ /f

:: Запрос на настройку файла конфигурации
:: Если любой другой ответ запустить запрос еще раз
:vopros
:: Очистка экрана
::@cls
set /P zapros=Вы хотите настроить файл конфигурации [Y,N]?:
if /i "%zapros%"=="y" (goto :yconf) else (if /i "%zapros%"=="n" (goto :end) else (goto :vopros))
:yconf
:: Запрос для заполнения конфигурации файла переменные запроса
set ipserver=Укажите IP адрес Zabbix Servera Server=
set portserver=Укажите порт обычно 10050 ListenPort=
set activserver=Укажите IP и Порт Zabbix Servera для активных проверок обычно порт 10051 ServerActive=
:: Визуальный вывод и получение ввода данных
chcp 866 >NUL
echo %ipserver%
set /P Server=
set Server=Server=%Server%
echo.
echo %portserver%
set /P ListenPort=
set ListenPort=ListenPort=%ListenPort%
echo.
echo %activserver%
set /P ServerActive=
set ServerActive=ServerActive=%ServerActive%
echo.
:: Цикл для каждого параметра и подстановка
setlocal EnableDelayedExpansion
for %%t in (Server, ListenPort, ServerActive) do (
<"C:\zabbix\zabbix_agentd.win.conf">$ (for /f "delims=" %%a in ('find /I /N /V ""') do @(
set "s=%%a"& set "s=!s:*]=!"& echo:!s!|>nul findstr /ibrc:"%%t=" && (
echo:!%%t!
) || (
echo:!s!
)
)
)& >nul move $ "C:\zabbix\zabbix_agentd.win.conf"
)
endlocal
:: Перезапуск службы после настройки конфигурации
net restart "Zabbix Agent"
chcp 866 >NUL
echo Для более детальной настройки откройте C:\zabbix\zabbix_agentd.win.conf
:end

::Перезагрузка для применения системной переменной
::shutdown -r -f -t 15 -c "Перезагрузка системы"
pause
color 0f
Вторая версия Добавлен запрос на основную настройку Конфигурации
V2.0 Install 32 64Bit Zabbix Agent.bat
Показать
@ECHO OFF
mode con:cols=130 lines=40
color 1A
:: Автор Артём Андреевич Мамзиков
:: V 2.0 2019.12.12
chcp 1251 >NUL
TITLE Установка Zabbix Agent и дополнений
@cls
echo.
echo.
echo. Данный скрипт автоматически выполнит:
echo. 1. Разрешить выполнение всех скриптов в PowerShell Unrestricted (правка реестра)
echo. 2. Брандмауэр Windows Разрешение Входящих Исходящих Портов 10050 и 10051
echo. 3. Определение разрядности системы x86 или x64
echo. 4. Установка Zabbix Agent
echo. 5. Установка OpenHardwareMonitor
echo. 6. Установка smartmontools состояния дисков
echo.
echo. P.S.
echo. Убрать # для передачи необходимых параметров в OpenHardwareMonitor
echo. При необходимости настроить файл конфигурации C:\zabbix\zabbix_agentd.win.conf
echo. Скрипт должен выполнятся от имени Администратора
echo. или Пользователя имеющего соответствующие права на изменения!!!
@echo off
pause
@Echo Off
::Пользователь Разрешить выполнение всех скриптов в PowerShell
reg add HKCU\Software\Policies\Microsoft\Windows\PowerShell /v EnableScripts /t REG_DWORD /d 1 /f
reg add HKCU\Software\Policies\Microsoft\Windows\PowerShell /v ExecutionPolicy /t REG_SZ /d Unrestricted /f
::Локально компьютера Разрешить выполнение всех скриптов в PowerShell
reg add HKLM\Software\Policies\Microsoft\Windows\PowerShell /v EnableScripts /t REG_DWORD /d 1 /f
reg add HKLM\Software\Policies\Microsoft\Windows\PowerShell /v ExecutionPolicy /t REG_SZ /d Unrestricted /f
:: Unrestricted - разрешено выполнение абсолютно любых сценариев не подписанных скриптов в PowerShell
reg add HKCU\Software\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell /v ExecutionPolicy /t REG_SZ /d Unrestricted /f
:: Брандмауэр Windows Разрешение Входящих Исходящих Портов 10050 и 10051
netsh advfirewall firewall add rule name="10050 Zabbix" protocol=TCP dir=in localport=10050 action=allow
netsh advfirewall firewall add rule name="10051 Zabbix" protocol=TCP dir=in localport=10051 action=allow
netsh advfirewall firewall add rule name="10050 Zabbix" protocol=TCP dir=out localport=10050 action=allow
netsh advfirewall firewall add rule name="10051 Zabbix" protocol=TCP dir=out localport=10051 action=allow
:: Остановка служб на случай если были установлены ранее
net stop "Zabbix Agent"
net stop OpenHardwareMonitor
:: Определение пути откуда запущен bat и копирование в C:\zabbix\
chcp 1251
xcopy "%~dp0"*.* C:\zabbix\ /s /e /y /v /c
:: Кооптировании установочного файла для определенной разрядности системы
Set xOS=x64
If "%PROCESSOR_ARCHITECTURE%"=="x86" If Not Defined PROCESSOR_ARCHITEW6432 Set xOS=x86
If %xOS%==x86 (xcopy "C:\zabbix\inst\zabbix_agents_ 4.2.3.win\bin\win32" "C:\zabbix" /s /e /y /v & xcopy "C:\zabbix\inst\nssm-2.24\win32" "C:\zabbix\inst\nssm-2.24" /s /e /y /v) Else (xcopy "C:\zabbix\inst\zabbix_agents_ 4.2.3.win\bin\win64" "C:\zabbix" /s /e /y /v & xcopy "C:\zabbix\inst\nssm-2.24\win64" "C:\zabbix\inst\nssm-2.24" /s /e /y /v)
:: Установка службы Zabbix Agent
C:/zabbix/zabbix_agentd.exe --config C:/zabbix/zabbix_agentd.win.conf --install
::Переменная Path для zabbix
path %PATH%;C:\zabbix\
:: Установка службы OpenHardwareMonitor
cd C:\zabbix\inst\nssm-2.24
nssm install OpenHardwareMonitor C:\zabbix\OpenHardwareMonitor\OpenHardwareMonitor.exe
:: Применение к службам Автозапуска Перезапуск при 2х сбоях Старт служб
sc config OpenHardwareMonitor start= auto
sc failure OpenHardwareMonitor reset= 60 actions= restart/60000/restart/120000//
nssm start OpenHardwareMonitor
sc config "Zabbix Agent" start= auto
sc failure "Zabbix Agent" reset= 60 actions= restart/60000/restart/120000//
net start "Zabbix Agent"
::Установка smartmontools состояния дисков
start C:\zabbix\inst\smartmontools-7.0-1.win32-setup.exe /S
::Для Windows XP Служба zabbix agentd запущенная от имени Локальная система не видит smartctl.exe
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path /t REG_EXPAND_SZ /d "%path%;C:\Program Files"\smartmontools\bin; /f
path %PATH%;C:\Program Files\smartmontools\bin
::Дополнительно команды для переменных если выше команд не достаточно
::reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths\smartctl.exe" /ve /t REG_SZ /d "C:\Program Files\smartmontools\bin\smartctl.exe" /f
::reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths\smartctl.exe" /v Path /t REG_SZ /d "C:\Program Files"\smartmontools\bin\ /f
::reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths\smartctl-nc.exe" /ve /t REG_SZ /d "C:\Program Files\smartmontools\bin\smartctl-nc.exe" /f
::reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths\smartctl-nc.exe" /v Path /t REG_SZ /d "C:\Program Files"\smartmontools\bin\ /f
::reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths\smartd.exe" /ve /t REG_SZ /d "C:\Program Files\smartmontools\bin\smartd.exe" /f
::reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths\smartd.exe" /v Path /t REG_SZ /d "C:\Program Files"\smartmontools\bin\ /f

:: Запрос на настройку файла конфигурации
:: Если любой другой ответ запустить запрос еще раз
:vopros
:: Очистка экрана
::@cls
set /P zapros=Вы хотите настроить файл конфигурации [Y,N]?:
if /i "%zapros%"=="y" (goto :yconf) else (if /i "%zapros%"=="n" (goto :end) else (goto :vopros))
:yconf
:: Запрос для заполнения конфигурации файла переменные запроса
set ipserver=Укажите IP адрес Zabbix Servera Server=
set portserver=Укажите порт обычно 10050 ListenPort=
set activserver=Укажите IP и Порт Zabbix Servera для активных проверок обычно порт 10051 ServerActive=
:: Визуальный вывод и получение ввода данных
chcp 866 >NUL
echo %ipserver%
set /P Server=
set Server=Server=%Server%
echo.
echo %portserver%
set /P ListenPort=
set ListenPort=ListenPort=%ListenPort%
echo.
echo %activserver%
set /P ServerActive=
set ServerActive=ServerActive=%ServerActive%
echo.
:: Цикл для каждого параметра и подстановка
setlocal EnableDelayedExpansion
for %%t in (Server, ListenPort, ServerActive) do (
<"C:\zabbix\zabbix_agentd.win.conf">$ (for /f "delims=" %%a in ('find /I /N /V ""') do @(
set "s=%%a"& set "s=!s:*]=!"& echo:!s!|>nul findstr /ibrc:"%%t=" && (
echo:!%%t!
) || (
echo:!s!
)
)
)& >nul move $ "C:\zabbix\zabbix_agentd.win.conf"
)
endlocal
:: Перезапуск службы после настройки конфигурации
net restart "Zabbix Agent"
chcp 1251 >NUL
echo Для более детальной настройки откройте C:\zabbix\zabbix_agentd.win.conf
:end

::Перезагрузка для применения системной переменной
::shutdown -r -f -t 15 -c "Перезагрузка системы"
pause
color 0f

Первая версия скрипта, без предложения основных настроек конфигурации
V1.0 Install 32 64Bit Zabbix Agent.bat
Показать
@ECHO OFF
mode con:cols=100 lines=20
color 1A
:: Автор Артём Андреевич Мамзиков
:: V 1.0 2019.06.10
chcp 1251 >NUL
@cls
echo.
echo.
echo. Данный скрипт автоматически выполнит:
echo. 1. Разрешить выполнение всех скриптов в PowerShell Unrestricted (правка реестра)
echo. 2. Брандмауэр Windows Разрешение Входящих Исходящих Портов 10050 и 10051
echo. 3. Определение разрядности системы x86 или x64
echo. 4. Установка Zabbix Agent
echo. 5. Установка OpenHardwareMonitor
echo. 6. Установка smartmontools состояния дисков
echo.
echo. P.S.
echo. Убрать # для передачи необходимых параметров в OpenHardwareMonitor
echo. При не обходимости настроить файл конфигурции C:\zabbix\zabbix_agentd.win.conf
echo. Скрипт должен выполнятся от имени Администратора
echo. или Пользователя имеющего соответствующие права на изменения!!!
@echo off
pause
@Echo Off
::Пользователь Разрешить выполнение всех скриптов в PowerShell
reg add HKCU\Software\Policies\Microsoft\Windows\PowerShell /v EnableScripts /t REG_DWORD /d 1 /f
reg add HKCU\Software\Policies\Microsoft\Windows\PowerShell /v ExecutionPolicy /t REG_SZ /d Unrestricted /f
::Локально компьютера Разрешить выполнение всех скриптов в PowerShell
reg add HKLM\Software\Policies\Microsoft\Windows\PowerShell /v EnableScripts /t REG_DWORD /d 1 /f
reg add HKLM\Software\Policies\Microsoft\Windows\PowerShell /v ExecutionPolicy /t REG_SZ /d Unrestricted /f
:: Unrestricted - разрешено выполнение абсолютно любых сценариев не подписанных скриптов в PowerShell
reg add HKCU\Software\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell /v ExecutionPolicy /t REG_SZ /d Unrestricted /f
:: Брандмауэр Windows Разрешение Входящих Исходящих Портов 10050 и 10051
netsh advfirewall firewall add rule name="10050 Zabbix" protocol=TCP dir=in localport=10050 action=allow
netsh advfirewall firewall add rule name="10051 Zabbix" protocol=TCP dir=in localport=10051 action=allow
netsh advfirewall firewall add rule name="10050 Zabbix" protocol=TCP dir=out localport=10050 action=allow
netsh advfirewall firewall add rule name="10051 Zabbix" protocol=TCP dir=out localport=10051 action=allow
:: Остановка служб на случай если были установлены ранее
net stop "Zabbix Agent"
net stop OpenHardwareMonitor
:: Определение пути откуда запущен bat и копирование в C:\zabbix\
chcp 1251
xcopy "%~dp0"*.* C:\zabbix\ /s /e /y /v
:: Копировани установочного файла для определенной рязрядности системы
Set xOS=x64
If "%PROCESSOR_ARCHITECTURE%"=="x86" If Not Defined PROCESSOR_ARCHITEW6432 Set xOS=x86
If %xOS%==x86 (xcopy C:\zabbix\inst\zabbix_agents_ 4.2.3.win\bin\win32 C:\zabbix /s /e /y /v & xcopy C:\zabbix\inst\nssm-2.24\win32 C:\zabbix\inst\nssm-2.24 /s /e /y /v) Else (xcopy C:\zabbix\inst\zabbix_agents_ 4.2.3.win\bin\win64 C:\zabbix /s /e /y /v & xcopy C:\zabbix\inst\nssm-2.24\win64 C:\zabbix\inst\nssm-2.24 /s /e /y /v)
:: Установка службы Zabbix Agent
C:/zabbix/zabbix_agentd.exe --config C:/zabbix/zabbix_agentd.win.conf --install
::Переменная Path для zabbix
path %PATH%;C:\zabbix\
:: Установка службы OpenHardwareMonitor
cd C:\zabbix\inst\nssm-2.24
nssm install OpenHardwareMonitor C:\zabbix\OpenHardwareMonitor\OpenHardwareMonitor.exe
:: Применение к службам Автозапуска Перезапуск при 2х сбоях Старт служб
sc config OpenHardwareMonitor start= auto
sc failure OpenHardwareMonitor reset= 60 actions= restart/60000/restart/120000//
nssm start OpenHardwareMonitor
sc config "Zabbix Agent" start= auto
sc failure "Zabbix Agent" reset= 60 actions= restart/60000/restart/120000//
net start "Zabbix Agent"
::Установка smartmontools состояния дисков
start C:\zabbix\inst\smartmontools-7.0-1.win32-setup.exe /S
::Для Windows XP Служба zabbix agentd запущенная от имени Локальная система не видит smartctl.exe
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path /t REG_EXPAND_SZ /d "%path%;C:\Program Files"\smartmontools\bin; /f
path %PATH%;C:\Program Files\smartmontools\bin
::Дополнительно команды для переменных если выше команд не достаточно
::reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths\smartctl.exe" /ve /t REG_SZ /d "C:\Program Files\smartmontools\bin\smartctl.exe" /f
::reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths\smartctl.exe" /v Path /t REG_SZ /d "C:\Program Files"\smartmontools\bin\ /f
::reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths\smartctl-nc.exe" /ve /t REG_SZ /d "C:\Program Files\smartmontools\bin\smartctl-nc.exe" /f
::reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths\smartctl-nc.exe" /v Path /t REG_SZ /d "C:\Program Files"\smartmontools\bin\ /f
::reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths\smartd.exe" /ve /t REG_SZ /d "C:\Program Files\smartmontools\bin\smartd.exe" /f
::reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths\smartd.exe" /v Path /t REG_SZ /d "C:\Program Files"\smartmontools\bin\ /f
::Перезагрузка для применения системнгй перменной
::shutdown -r -f -t 15 -c "Перезагрузка системы"
Remove 32 64Bit Zabbix Agent .bat
Показать
@Echo Off
::Остановка службы Заббикс Агента
zabbix_agentd.exe --stop
net stop "Zabbix Agent"
::Удаление Заббикс Агента
C:/zabbix/zabbix_agentd.exe --config C:/zabbix/zabbix_agentd.win.conf --uninstall
::Переход в директорию
cd C:\zabbix\inst\nssm-2.24
::Остановка службы OpenHardwareMonitor
nssm stop OpenHardwareMonitor
net stop OpenHardwareMonitor
:: Удаление службы OpenHardwareMonitor
nssm remove OpenHardwareMonitor confirm
:: Удаление smartmontools
Start C:\"Program Files"\smartmontools\uninst-smartmontools.exe /S
::Удаление дополнительных команд переменной если они были установленны
::REG DELETE "HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths\smartctl.exe" /f
::REG DELETE "HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths\smartctl-nc.exe" /f
::REG DELETE "HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths\smartd.exe" /f
Аппаратное обеспечение Windows
Какие данные получает данный шаблон
Обнаружение датчиков напряжения
Напряжение батареи BIOS
Обнаружение датчиков температур
Обнаружение дисков (есть новый шаблон и новый внешний скрипт улучшено и упрощенно)
Обнаружение кулеров

Данные поступают через агента zabbix при помощи скриптов PowerShell

nssm-2.24 - программа для создания службы
OpenHardwareMonitor 0.8.0.3 - Отсюда берутся данные все данные кроме состояния дисков
smartmontools-6.6-1 - Отсюда берутся данные о состояние дисков (только где доступен SMART , на рейдах не работает)

Данные взяты из Zabbix: LLD-мониторинг железа под Windows на PowerShell Автор AcidVenom


О настройке файла Конфигурации Zabbix Adent

Некоторые источники по командам в скриптах
Список команд Windows ( Windows CMD ) с описанием и примерами
REG – редактирование реестра Windows в командной строке
Команда XCOPY - копирование файлов и каталогов
Контекст командной строки Netsh AdvFirewall Firewall Брандмауэр Защитника Windows

Конфиг Zabbix Agent с переведенным описанием
Показать
# Это файл конфигурации для службы агента Zabbix (Windows)
# Чтобы получить дополнительную информацию о Zabbix, посетите http://www.zabbix.com
# Значения по умолчанию являются умолчаниями демона, но не значениями которые указаны в поставляемых файлах конфигурации.
# https://www.zabbix.com/documentation/4. ... agentd_win

############ ОСНОВНЫЕ ПАРАМЕТРЫ #################

### Опция: Тип Журнала (LogType)
# Указывает, куда записываются сообщения журнала:
# система-журнал событий Windows
# файл - файл, указанный в параметре файл журнала (LogType)
# консоль-стандартный вывод
#
# Обязательно: нет
# По умолчанию:
# LogType=file

### Опции: Лог файл
# Имя файла журнала для параметра LogType file.
#
# Обязательно: нет
# По умолчанию:
# LogFile=

LogFile=c:\zabbix\zabbix_agentd.log

### Опция: Размер Файла Журнала
# Максимальный размер файла журнала в МБ.
# 0-отключить автоматическое вращение журнала.
#
# Обязательно: нет
# Диапазон: 0-1024
# По умолчанию:

LogFileSize=3

### Опция: Уровень Отладки (DebugLevel)
# Задает уровень отладки:
# 0 - основная информация о запуске и остановке процессов Zabbix
# 1 - критическая информация
# 2 - сведения об ошибках
# 3 - Предупреждение
# 4 - для отладки (производит много информации)
# 5 - расширенная отладка (дает еще больше информации)
#
# Обязательно: нет
# Диапазон: 0-5
# По умолчанию:
# DebugLevel=3

### Опция: IP источника
# Исходный IP-адрес для исходящих соединений.
#
# Обязательно: нет
# По умолчанию:
# SourceIP=

### Опция: Включить удаленные команды
# Разрешены ли удаленные команды с Zabbix сервера.
# 0 - не разрешено
# 1 - разрешается
#
# Обязательно: нет
# По умолчанию:
# EnableRemoteCommands=0

EnableRemoteCommands=1

### Опция: Лог Удаленных Команд
# Включить ведение журнала выполненных команд оболочки в виде предупреждений.
# 0 - выключено
# 1 - включено
#
# Обязательно: нет
# По умолчанию:

LogRemoteCommands=1

##### Пассивные проверки, связанные

### Опция: Сервер
# Список IP-адресов, разделенных запятыми, необязательно в нотации CIDR, или имен хостов Zabbix серверов.
# Входящие соединения будут приниматься только от перечисленных здесь хостов.
# Если поддержка IPv6 включена, то '127.0.0.1', '::127.0.0.1', '::ffff: 127.0.0.1 ' обрабатываются одинаково и ':: / 0 ' позволит любой IPv4 или IPv6 адрес.
# '0.0.0.0/0' может использоваться для разрешения любого IPv4-адреса.
# Пример: Server=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.domain
#
# Обязательно: нет
# По умолчанию:

Server=192.168.175.111

### Опция: порт прослушивания
# Агент будет прослушивать на этом порту соединения с сервера.
#
# Обязательно: нет
# Диапазон: 1024-32767
# По умолчанию:

ListenPort=10050

### Опция: прослушивание IP
# Список разделенных запятыми IP-адресов, которые агент должен прослушивать.
# Первый IP-адрес отправляется на Zabbix сервер при подключении к нему для получения списка активных проверок.
#
# Обязательно: нет
# По умолчанию:
# ListenIP=

### Опция: запуск агента
# Количество предварительно разветвленных экземпляров zabbix_агента, которые обрабатывают пассивные проверки.
# При значении 0 отключает пассивные проверки, и агент не будет прослушивать TCP-порт.
#
# Обязательно: нет
# Диапазон: 0-100
# По умолчанию:
# StartAgents=3

##### Активные проверки связаны

### Опция: сервер актив
# Список разделенных запятыми пар IP:порт (или имя_хоста:порт) серверов Zabbix для активных проверок.
# Если порт не указан, используется порт по умолчанию.
# IPv6-адреса должны быть заключены в квадратные скобки, если указан порт для этого хоста.
# Если порт не указан, квадратные скобки для адресов IPv6 необязательны.
# Если этот параметр не указан, активные проверки отключаются.
# Пример: ServerActive=127.0.0.1:20051,zabbix.domain,[::1]:30051,::1,[12fc::1]
#
# Обязательно: нет
# По умолчанию:
# ServerActive=

ServerActive=192.168.175.111:10051

### Опция: Имя Хоста
# Уникальное, чувствительное к регистру имя хоста.
# Требуется для активных проверок и должно совпадать с именем хоста, настроенным на сервере.
# Значение получается из элемента имени хоста, если не определено.
#
# Обязательно: нет
# По умолчанию:
# Hostname=

### Опция: Элемент Имени Хоста
# Элемент, используемый для создания имени хоста, если оно не определено. Игнорируется, если определено имя хоста.
# Не поддерживает пользовательские параметры или псевдонимы.
#
# Обязательно: нет
# По умолчанию:
# HostnameItem=system.hostname[host]

HostnameItem=system.hostname[host]

### Вариант: Хост Метаданных
# Необязательный параметр, определяющий метаданные хоста.
# Метаданные хоста используются в процессе автоматической регистрации хоста.
# Агент выдаст ошибку и не запустится, если значение превышает ограничение в 255 символов.
# Если не определено, значение будет получено из элемента метаданных узла.
#
# Обязательно: нет
# Диапазон: 0-255 символов
# По умолчанию:
# HostMetadata=

### Опция: элемент метаданных Хоста
# Необязательный параметр, определяющий элемент, используемый для получения метаданных узла.
# Метаданные хоста используются в процессе автоматической регистрации хоста.
# Во время запроса на авторегистрацию агент регистрирует предупреждающее сообщение, если
# значение, возвращаемое указанным элементом, превышает ограничение в 255 символов.
# Этот параметр используется только в том случае, если метаданные хоста не определены.
#
# Обязательно: нет
# По умолчанию:
# HostMetadataItem=

### Опция: Обновить Активные Проверки
# Как часто обновляется список активных проверок, в секундах.
#
# Обязательно: нет
# Диапазон: 60-3600
# По умолчанию:
# RefreshActiveChecks=60

### Вариант: Буфер Отправки
# Не храните данные в буфере дольше N секунд.
#
# Обязательно: нет
# Диапазон: 1-3600
# По умолчанию:
# BufferSend=5

### Опция: Размер Буфера
# Максимальное количество значений в буфере памяти. Агент будет отправлять
# все собранные данные на Zabbix сервер или прокси если буфер заполнен.
#
# Обязательно: нет
# Диапазон: 2-65535
# По умолчанию:
# BufferSize=100

### Опция: Максимально Линий В Секунду
# Максимальное количество новых строк, которые агент будет отправлять в секунду на Zabbix сервер
# или прокси-обработка активных проверок "log", "logrt" и " eventlog.
# Указанное значение будет переопределено параметром maxlines,
# представленная в 'журнал', 'logrt' или 'журнал событий' ключи пункт .
#
# Обязательно: нет
# Диапазон: 1-1000
# По умолчанию:
# MaxLinesPerSecond=20

############ ДОПОЛНИТЕЛЬНЫЕ ПАРАМЕТРЫ #################

### Опция: псевдоним Alias
# Устанавливает псевдоним для ключа элемента. Его можно использовать для замены длинного и сложного ключа элемента на меньший и более простой.
# Может присутствовать несколько параметров псевдонимов. Несколько параметров с одним и тем же ключом Alias не допускаются.
# Различные ключи Alias могут ссылаться на один и тот же ключ элемента.
# Например, чтобы получить использование файла подкачки в процентах с сервера:
# Alias=pg_usage:perf_counter[\Paging File(_Total)\% Usage]
# Теперь стенографический ключ pg_usage может быть использован для получения данных.
# Псевдонимы могут использоваться в элементе метаданных хоста, но не в параметре «Имя хоста» или «Счетчик перфорации».
#
# Обязательно: нет
# Диапазон:
# По умолчанию:

### Опция: Тайм-аут
# Потратьте не более таймаута на обработку.
#
# Обязательно: нет
# Диапазон: 1-30
# По умолчанию:

Timeout=15

### Опция: СчетчикПерф
# Синтаксис: <имя_параметра>, "<путь_счетчика_перф>>, <период>
# Определяет новый параметр <имя_параметра>, который является средним значением для счетчика производительности системы <perf_counter_path> за указанный период времени <период> (в секундах).
# Например, если вы хотите получать среднее число прерываний процессора в секунду за последнюю минуту, вы можете определить новый параметр «прерывания» следующим образом:
# PerfCounter = interrupts,"\Processor(0)\Interrupts/sec",60
# Обратите внимание, двойные кавычки вокруг пути счетчика производительности.
# Образцы для расчета среднего значения будут отбираться каждую секунду.
# Вы можете запустить "команду perf -qx ", чтобы получить список всех счетчиков производительности, доступных в Windows.
#
# Обязательно: нет
# Диапазон:
# По умолчанию:

### Опция: Включить
# Вы можете включить отдельные файлы в файл конфигурации.
#
# Обязательно: нет
# По умолчанию:
# Include=

# Include=c:\zabbix\zabbix_agentd.userparams.conf
# Include=c:\zabbix\zabbix_agentd.conf.d\
# Include=c:\zabbix\zabbix_agentd.conf.d\*.conf

####### Определяемые пользователем параметры мониторинга #######

### Опция: небезопасные параметры пользователя
# Разрешить передачу всех символов в аргументах для пользовательских параметров.
# Следующие символы не допускаются:
# \ ' " ` * ? [ ] { } ~ $ ! & ; ( ) < > | # @
# Кроме того, символы новой строки не допускаются.
# 0 - не разрешать
# 1 - разрешить
#
# Обязательно: нет
# Диапазон: 0-1
# По умолчанию:

UnsafeUserParameters=1

### Опция: Параметр Пользователя
# Определяемый пользователем параметр для мониторинга. Может быть несколько пользовательских параметров.
# Формат: пользовательский параметр= < ключ>,<команда оболочки> UserParameter=<key>,<shell command>
#
# Обязательно: нет
# По умолчанию:

UserParameter=ZScript[*], powershell C:\zabbix\Scripts\windows.$1.ps1 $2 $3 $4
UserParameter=sqldatabasename.discovery,powershell -NoProfile -ExecutionPolicy Bypass -File C:\zabbix\scripts\SQLBaseName_To_Zabbix.ps1

####### ПАРАМЕТРЫ, СВЯЗАННЫЕ С TLS #######

### Вариант: TLS подключения
# Как агент должен подключиться к серверу или прокси-серверу. Используется для активных проверок.
# Можно указать только одно значение:
# unencrypted-подключение без шифрования
# psk - подключение с помощью протокола TLS и предварительно общего ключа
# cert - подключение с использованием протокола TLS и сертификата
#
# Обязательно: да, если определены параметры сертификата TLS или PSK (даже для "незашифрованного" соединения)
# По умолчанию:
# TLSConnect=unencrypted

#TLSConnect=psk

### Вариант: TLS принимает
# Какие входящие соединения принимать.
# Можно указать несколько значений, разделенных запятой:
# unencrypted - принимать соединения без шифрования
# psk - принимать соединения, защищенные TLS и предварительно общим ключом
# cert - принимать соединения, защищенные протоколом TLS и сертификатом
#
# Обязательно: да, если определены параметры сертификата TLS или PSK (даже для "незашифрованного" соединения)
# По умолчанию:
# TLSAccept=unencrypted

#TLSAccept=psk

### Опция: TLS CA Файл
# Полный путь к файлу, содержащему сертификаты CA высшего уровня для
# проверка сертификата сверстника.
#
# Обязательно: нет
# По умолчанию:
# TLSCAFile=

### Опция: TLS CRL Файл
# Полный путь к файлу, содержащему отозванные сертификаты.
#
# Обязательно: нет
# По умолчанию:
# TLSCRLFile=

### Опция: TLS Сервер CertIssuer
# Допускается выдача сертификата сервера.
#
# Обязательно: нет
# По умолчанию:
# TLSServerCertIssuer=

### Опция: TLS Сервер CertSubject
# Разрешенный субъект сертификата сервера.
#
# Обязательно: нет
# По умолчанию:
# TLSServerCertSubject=

### Опция: TLS Сертификат Файл
# Полный путь к файлу, содержащему сертификат агента или цепочку сертификатов.
#
# Обязательно: нет
# По умолчанию:
# TLSCertFile=

### Опция: файл ключей TLS
# Полный путь к файлу, содержащему закрытый ключ агента.
#
# Обязательно: нет
# По умолчанию:
# TLSKeyFile=

### Опция: TLS PSK Идентичность
# Уникальная, чувствительная к регистру строка, используемая для идентификации предварительного общего ключа.
#
# Обязательно: нет
# По умолчанию:
# TLSPSKIdentity=

#TLSPSKIdentity=PSK 001

### Опция: TLS PSK файл
# Полный путь к файлу, содержащему предварительный ключ.
#
# Обязательно: нет
# По умолчанию:
# TLSPSKFile=

#TLSPSKFile=C:\zabbix\21programzabbix_agentd.psk
Отличие Активного от Пассивного zabbix агента
Показать
Отличие Активного от Пассивного zabbix агента
В пассивном режиме агент выдает данные исключительно по запросу с сервера.
В активном режиме агент получает с сервера перечень собираемых элементов данных и затем с заданной периодичностью отсылает их на сервер.
В конфиге агента есть пара опций, отвечающих за то в каком режиме он будет работать.
На сервере при заведении нового элемента указывается тип проверки: активный/пассивный.
Основное функциональное отличие - это то что в активном режиме для всех действий (получение списка датчиков, отправка значений) агент сам осуществляет подключение к серверу.
Активный режим необходим для тех случаев когда сервер не может напрямую подключится к агенту, например - когда агент сидит за НАТ или имеет динамический адрес.
Во всем остальном принципиальной разницы нет

Общий IP-адрес (shared IP address)
В случае фейловера, IP-адрес переходит на сервер, который становится активным
Так как общий IP-адрес всегда используется активным Zabbix-сервером, то отсюда следует три преимущества:
Всегда легко найти какой сервер активен
Все соединения от Zabbix сервера всегда с одного и того же IP (После установки параметра SourceIP= в zabbix_server.conf)
Всем Zabbix-прокси и Zabbix-агентам в качестве сервера просто указывается общий IP
Некоторые варианты применённые в скриптах
Показать
Проверка наличия переменной
echo %PATH% | find /I "C:\zabbix" > nul
if /i "%ERRORLEVEL%"=="1" (echo нет) else if /i "%ERRORLEVEL%"=="0" (echo да)

:: Проверка наличия переменной, если нет добавляем
echo %PATH%|>nul find /i "C:\zabbix"||path %PATH%;C:\zabbix\;

echo %PATH%|>nul find /i "C:\zabbix"&&echo есть||echo нет
Команды для проверки через PowerShell старый вариант
Показать
Проверка Локально
Запустить командную стороку от имени администратора
Win + R выполнить cmd

Выполнить powershell
Далее
C:\zabbix\Scripts\windows.hard.ps1 discovery
или
C:\zabbix\Scripts\windows.hard.ps1 discovery temperature
C:\zabbix\Scripts\windows.hard.ps1 discovery voltage
C:\zabbix\Scripts\windows.hard.ps1 discovery fan
C:\zabbix\Scripts\windows.hard.ps1 VBAT


или прямо в cmd
powershell C:\zabbix\Scripts\windows.hard.ps1 discovery temperature


Пример
cmd
Microsoft Windows [Version 6.1.7601]
© Корпорация Майкрософт (Microsoft Corp.), 2009. Все права защищены.
C:\Windows\system32>powershell

C:\zabbix\Scripts\windows.hard.ps1 discovery fan
Ответ {"data":[{"{#ID}":"3873", "{#NAME}":"Fan 2"},{"{#ID}":"3872", "{#NAME}":"Fan 1"}]

C:\zabbix\Scripts\windows.hard.ps1 discovery voltage
Ответ {"data":[{"{#ID}":"3863", "{#NAME}":"+5V"},{"{#ID}":"3862", "{#NAME}":"+3.3V"},{"{#ID}":"3861", "{#NAME}":"DRAM"},{"{#ID}":"3860", "{#NAME}":"CPU VCore"}]}

C:\zabbix\Scripts\windows.hard.ps1 discovery temperature
Ответ {"data":[{"{#ID}":"3869", "{#NAME}":"Temperature 1"},{"{#ID}":"3848", "{#NAME}":"CPU Core 2"},{"{#ID}":"3871", "{#NAME}"
:"Temperature 3"},{"{#ID}":"3847", "{#NAME}":"CPU Core 1"},{"{#ID}":"3870", "{#NAME}":"Temperature 2"}]}

Для конкретного ключа запрос температуры
C:\zabbix\Scripts\windows.hard.ps1 3848 temperature
Ответ 26

C:\zabbix\Scripts\windows.hard.ps1 VBAT
Ответ 2.944

Проверка со стороны zabbix сервера
root@Zabbix:~# zabbix_get -s 192.168.103.9 -p 10050 -k "ZScript[hard,discovery,temperature]"
root@Zabbix:~# zabbix_get -s 192.168.103.9 -p 10050 -k "ZScript[hard,discovery,fan]"
root@Zabbix:~# zabbix_get -s 192.168.103.9 -p 10050 -k "ZScript[hard,discovery,VBAT]"
root@Zabbix:~# zabbix_get -s 192.168.103.9 -p 10050 -k "ZScript[hard,discovery,voltage]"
Пример ответа
{"data":[{"{#ID}":"3863", "{#NAME}":"+5V"},{"{#ID}":"3862", "{#NAME}":"+3.3V"},{"{#ID}":"3861", "{#NAME}":"DRAM"},{"{#ID}":"3860", "{#NAME}":"CPU VCore"}]}

WMI
Get-WmiObject -Namespace Root\OpenHardwareMonitor -Class sensor
Get-WmiObject -List -Namespace Root/OpenHardWareMOnitor
Get-WmiObject -Namespace Root\OpenHardwareMonitor -class Sensor
Get-WmiObject -Namespace Root/OpenHardWareMOnitor -class hardware
Get-WmiObject -Namespace Root\OpenHardwareMonitor -Class sensor | Where-Object {$_.SensorType -eq «Temperature»}
Более подробно Скрипт + Шаблон для Windows LLD Open Hardware Monitor


Для дисков Локально
Windows PowerShell
Copyright © 2016 Microsoft Corporation. All rights reserved.
PS C:\> C:\zabbix\Scripts\windows.hdd.ps1 discovery serial
{«data»:[{"{#DISKID}":«sda»}]}
PS C:\> C:\zabbix\Scripts\windows.hdd.ps1 discovery status
{«data»:[{"{#DISKID}":«sda»}]}
PS C:\> C:\zabbix\Scripts\windows.hdd.ps1 discovery model
{«data»:[{"{#DISKID}":«sda»}]}
PS C:\> C:\zabbix\Scripts\windows.hdd.ps1 discovery family
{«data»:[{"{#DISKID}":«sda»}]}
PS C:\> C:\zabbix\Scripts\windows.hdd.ps1 discovery fw
{«data»:[{"{#DISKID}":«sda»}]}
PS C:\> C:\zabbix\Scripts\windows.hdd.ps1 discovery capacity

C:\zabbix\Scripts\windows.hdd.ps1 sda serial
Ответ 5VMFCF4Q

C:\zabbix\Scripts\windows.hdd.ps1 sda status
Ответ FAILED! - плохой
Ответ PASSED - хороший

C:\zabbix\Scripts\windows.hdd.ps1 sda model
Ответ ST3500418AS

C:\zabbix\Scripts\windows.hdd.ps1 sda family
Seagate Barracuda 7200.12

C:\zabbix\Scripts\windows.hdd.ps1 sda fw
CC38

C:\zabbix\Scripts\windows.hdd.ps1 sda capacity
500 GB

Пример
C:\zabbix\Scripts\windows.hdd.ps1 sda 9
17100

root@Zabbix:~# zabbix_get -s 192.168.103.9 -p 10050 -k "ZScript[hdd,discovery,model]"

Как работает в заббиксе
ZScript[*], powershell C:\zabbix\Scripts\windows.$1.ps1 $2 $3 $4
есть 2 скрипта
windows.hard.ps1
windows.hdd.ps1
ZScript[hard,discovery,temperature] - поиск температур в скрипте hard
ZScript[hard,{#ID},temperature] - найденные температуры по шаблону
ZScript[hard,3883,temperature] - Элемент данных реальный
ZScript это путь до скрипта команда hard это скрипт windows.hard.ps1

Мы запускаем вручную
C:\zabbix\Scripts\windows.hard.ps1 discovery,temterature
C:\zabbix\Scripts\windows.hard.ps1 discovery temperature

Проверка от агента локально
C:/zabbix/zabbix_agentd.exe --config C:/zabbix/zabbix_agentd.win.conf --print
C:/zabbix/zabbix_agentd.exe --config C:/zabbix/zabbix_agentd.win.conf --test ZScript[hard,{#ID},temperature]
C:/zabbix/zabbix_agentd.exe --config C:/zabbix/zabbix_agentd.win.conf --test perf_counter[1.bat]
C:/zabbix/zabbix_agentd.exe -c C:/zabbix/zabbix_agentd.win.conf -t perf_counter[1.bat]

Новая версия проверки дисков более подробно Скрипт + Шаблон LLD Для проверки Жестких Дисков HDD через smartmontools
количество слов: 4948
Аватара пользователя
Артём Мамзиков
Admin
Сообщения: 367
Стаж: 2 года 9 месяцев
Откуда: Вологодская область
Контактная информация:

Установка Агента Zabbix + Аппаратное обеспечение Windows

Сообщение Артём Мамзиков »

Можно массово установить агента на все подсети Windows при помощи PsExec запаковав установочник в самораспаковывающийся архив и после рапаковки запустить BAT файл (агент должен быть из-зарание с настроенным конфигом.

Пример установки на OCS Агенте
Автоматическая Установка программ на подсети Windows или сеть при помощи CMD и PsExec на примере OCS


количество слов: 39
Ответить Пред. темаСлед. тема

Вернуться в «Аппаратное обеспечение»