Забавная ситуация случилась на одном из серверов. Никак не могу запустить Zabbix-Agent на Windows Server 2019.
После перезагрузки сервера, при попытке запустить Zabbix-Agent ошибки нет, но он сразу падает… Лог в журнале:
|
1 2 3 4 5 6 7 8 9 10 11 |
Имя сбойного приложения: zabbix_agentd.exe, версия: 7.4.5.2400, метка времени: 0x6909e829 Имя сбойного модуля: ntdll.dll, версия: 10.0.17763.8146, метка времени: 0x35359a7a Код исключения: 0xc0000005 Смещение ошибки: 0x000000000001437d Идентификатор сбойного процесса: 0x2528 Время запуска сбойного приложения: 0x01dc6f94b5e15899 Путь сбойного приложения: C:\Program Files\Zabbix Agent\zabbix_agentd.exe Путь сбойного модуля: C:\Windows\SYSTEM32\ntdll.dll Идентификатор отчета: 21c6fe79-02c1-4f3b-8399-bc075ee66e22 Полное имя сбойного пакета: Код приложения, связанного со сбойным пакетом: |
Ошибка, как всегда, ни о чем особо не говорящяя. Поэтому разбираемся.
- Код исключения: 0xc0000005 это
ACCESS_VIOLATION. То есть процесс пытался обратиться к участку памяти к которому у него нет прав. - C:\Windows\SYSTEM32\ntdll.dll это системная библиотека.
Яснее не стало, но теперь мы понимаем, что Zabbix пытается обратиться к какой-то области и кто-то его отбивает. Первые мысли две: антивирус или повреждена система. Но всё остальное же работает нормально. Не может быть так, что такая важная библиотека повреждена, а не работает только одно приложение. Попытка отключить анти-вирус нам тоже ничего не дала.
Придется капаться глужбе и ищем более подробный лог или дамп памяти. В журнале есть сведенья, которые нам дают путь к дампу. А точнее к файлу Эти файлы можно найти здесь:
\\?\C:\ProgramData\Microsoft\Windows\WER\ReportArchive\AppCrash_zabbix_agentd.ex_49a8723127510c3d957326f83c03bb728e111ff_f392cb6b_08930307. Изучаем содержимое:
Я весь файл не буду закидывать, лишь участок, который вызывал интерес:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
Version=1 EventType=APPCRASH EventTime=134104773415656164 ReportType=2 Consent=1 UploadTime=134104773416593689 ReportStatus=268435456 ReportIdentifier=d574961d-8d10-47c7-98ad-499d2d16e5e6 IntegratorReportIdentifier=21c6fe79-02c1-4f3b-8399-bc075ee66e22 Wow64Host=34404 NsAppName=zabbix_agentd.exe AppSessionGuid=00002528-0000-001b-9958-e1b5946fdc01 TargetAppId=W:00007dcaa3492bd81bb88173bc3348aa35f700000904!00000092913ca807ea9487a30dbf2db36e770918258f!zabbix_agentd.exe TargetAppVer=2025//11//04:11:48:57!5c78f2!zabbix_agentd.exe BootId=4294967295 TargetAsId=577 IsFatal=1 EtwNonCollectReason=1 Response.BucketId=1e4f61a978e6c43f1ea779739ef1eb5d Response.BucketTable=4 Response.LegacyBucketId=2208867679743372125 Response.type=4 Sig[0].Name=Имя приложения Sig[0].Value=zabbix_agentd.exe Sig[1].Name=Версия приложения Sig[1].Value=7.4.5.2400 Sig[2].Name=Отметка времени приложения Sig[2].Value=6909e829 Sig[3].Name=Имя модуля с ошибкой Sig[3].Value=ntdll.dll Sig[4].Name=Версия модуля с ошибкой Sig[4].Value=10.0.17763.8146 Sig[5].Name=Отметка времени модуля с ошибкой Sig[5].Value=35359a7a Sig[6].Name=Код исключения Sig[6].Value=c0000005 Sig[7].Name=Смещение исключения LoadedModule[84]=C:\Windows\system32\usbperf.dll LoadedModule[85]=C:\Windows\system32\wbem\wmiaprpl.dll LoadedModule[86]=C:\Windows\SYSTEM32\wbemcomn.dll LoadedModule[87]=C:\Windows\system32\tquery.dll LoadedModule[88]=C:\Windows\system32\cryptdll.dll LoadedModule[89]=C:\cryptopack4\engines-1.1\cryptocom.dll LoadedModule[90]=C:\cryptopack4\libcrypto-1_1-x64.dll FriendlyEventName=Остановка работы ConsentKey=APPCRASH AppName=zabbix_agentd.exe AppPath=C:\Program Files\Zabbix Agent\zabbix_agentd.exe NsPartner=windows NsGroup=windows8 ApplicationIdentity=41B9FF6189CE225FB22902D811954D15 MetadataHash=589213161 |
И вот тут меня заинтересовало:
- LoadedModule[89]=C:\cryptopack4\engines-1.1\cryptocom.dll
- LoadedModule[90]=C:\cryptopack4\libcrypto-1_1-x64.dll
Это библиотека КриптоПро CSP / CryptoPack, но на сервере нет КриптоПро. И тут я вспомнил, что разработчики ПО на сервере ставили OpenVPN-ГОСТ. С тех пор сервер и не перезагружался и Zabbix мирно трудился на благо.
Моё предположение такое: Zabbix агент использует OpenSSL для шифрования. В результате чего я получаю конфликт. OpenSSL лезет туда, где уже всё занял и контролирует КриптоПро.
Решение проблемы
Поскольку нам нужно в агенте отключить шифрование, то первым делом, я попробовал в конфигурации отключить всё, что связано с шифрованием. Но эти попытки не привели к успеху.
Следующим шагом стала, попытка поставить версию агента без OpenSSL.
Переходим на сайт zabbix, в раздел загрузки агентов (https://www.zabbix.com/download_agents). И выбираем нужную нам версию. Которая поставляется не в виде MSI, а просто архив. Будем ставить агента ручками.
Распакуем содержимое архива в одну папку. Сделаем это также, как делает MSI. В папку C:\Program Files\Zabbix Agent. У нас должно выйти вот так:
И отредактируем файл zabbix_agentd.conf. Основные параметры, которые нас интересуют:
|
1 2 3 4 |
LogFile=C:\Program Files\Zabbix\logs\zabbix_agentd.log ; Куда писать логи Server=192.168.1.100 ; IP вашего Zabbix Server ServerActive=192.168.1.100 ; IP сервера для активных проверок Hostname=Windows-Server ; Уникальное имя хоста (должно совпадать в веб-интерфейсе Zabbix) |
После этого устанавливаем службу командой в командной строчке от администратора:
|
1 |
zabbix_agentd.exe -c "C:\Program Files\Zabbix Agent\zabbix_agentd.conf" -i |
Ответ, который мы должны получить:
|
1 2 |
zabbix_agentd.exe [5408]: service [Zabbix Agent] installed successfully zabbix_agentd.exe [5408]: event source [Zabbix Agent] installed successfully |
И запускаем нашу службу либо через оснастку служб или через командную строчку.
|
1 |
zabbix_agentd.exe -c "C:\Program Files\Zabbix Agent\zabbix_agentd.conf" -s |
Проверяем, что служба доступна и на Zabbix сервер мы получаем данные от агента.
Если мой материал был полезен, то можете угостить меня кофе ☕️

