前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Z投稿 | 支持windows2000的zabbix agent 3.4.4

Z投稿 | 支持windows2000的zabbix agent 3.4.4

作者头像
Zabbix
发布2021-02-03 10:04:48
8100
发布2021-02-03 10:04:48
举报
文章被收录于专栏:Zabbix中国官方

哈哈

社区投稿专栏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 Files\Microsoft SDKs\Windows\v7.0\Bin\SetEnv.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.0\build\win32\project nmake

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

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

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

参考链接:

Windows Agent incompatible with Windows 2000

进行了类似下图的patch

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

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

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

主要修改了以下文件:

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

文件大小:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-01-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Zabbix开源社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档