Z投稿 | 支持windows2000的zabbix agent 3.4.4

2021-02-03 10:04:48 浏览数 (1)

哈哈

社区投稿专栏Z-share

All the great stories~

1

支持Windows2000的Zabbix agent 3.4.4

文| 齐天大圣

由于windows 2000 x86系统目前已经不在官方Zabbix的支持范围。我这里有少数Windows2000的机器,基于自己的经验,把编译的过程写出来分享给大家。

最近有一些监控服务器是windows系统的,因此着手开始编译zabbix agent for windows。

下载了zabbix-3.4.4.tar.gz,对接windows2008,Windows2012没有问题,发现官方版本是用visualstudio2008编译的。搭建了一个虚拟机,Windows 2003 x64,体积比较小,用visualstudio2008 加上windows sdk 7.0。环境搭好了,zabbix agent的编译可以进行了 。

整合相关的资源:

博文分享

Compiling Zabbix Agent on Windows

文中作者建议在resource.rc 文件中用"windows.h" 替换"afxres.h"。

Zabbix论坛相关的讨论

How to compile the windows agent?

其他建议

也有人建议按照示例安装Microsoft Windows SDK,agent需要afxres.h和winres.h来构建,SDK在默认情况下不具有这些headers。 要解决这个问题,请转到examples目录,拿到这些headers文件并将它们复制到SDK的主目录中。在SDK命令提示符处,从svn checkout转到目录build win32 project。 键入“nmake / f Makefile_agent”,构建代理二进制文件。 同样,您可以使用zabbix_get和zabbix_sender

点击查看原文

Zabbix原厂培训师Oleksiy Zagorsky对于此问题的一些建议:

Zabbix3.0之后,Windows Agent编译发生了一些变化:

如果编译环境(fox x86 和 x64都是不同的)搭建顺利,直接发布命令nmake就可以。

注意- nmake不用再指定生成文件,所有的组建自动生成。

FYI-ZBX-10120要求重新构建“build”文件夹,以便增加用户友好性,如果进行这个操作的话,下面的指令会有一些不同的路径。

目前的指示是:安装Windows SDK。 不需要安装最新版本,建议:

Windows SDK for Windows 7(点击下载)

只需要几个组件。 在"Developer Tools"部分只需要选择"Windows Headers and Libraries","Visual C Compilers","Windows Development Tools":

例如提取zabbix源文件夹至C:zabbix-3.0.0

然后运行cmd并在打开的窗口中执行:

cmd.exe /E:ON /V:ON /K "C:Program FilesMicrosoft SDKsWindowsv7.0BinSetEnv.Cmd" /x86 /xp

Window标题应该成为“Microsoft Windows XP x86 DEBUG Build Environment”

请注意,路径取决于安装的Windows SDK版本,上述路径实际为“Windows SDK for Windows 7”

如果要为x64平台构建可执行文件,请在第一个命令中用/ x64替换/ x86

然后去一个特定的zabbix源文件夹并编译:

cd C:zabbix-3.0.0buildwin32project nmake

编译的可执行文件应出现在主源文件夹的bin文件夹中。

如此一来,编译x64,x86的zabbixagent都不成问题。

让32位的zabbix_agentd 到windows 2000 下运行,弹出以下对话框:

参考链接:

Windows Agent incompatible with Windows 2000

进行了类似下图的patch

再次运行时,又出现了一下提示:

说函数GetNativeSystemInfo在kernel32.dll中不存在。

我用notepad 查询了该函数的使用,如下图,做了一些调整之后,例如修改为GetSystemInfo,或者注释掉一些无关语句,最后编译成功。

主要修改了以下文件:

该程序还可能需要进行测试。

文件大小:

0 人点赞