我需要在我们的 Zabbix 系统中实现一些 Web 检查,这需要使用 (curl) 选项编译 Zabbix libcurl
,但我不知道如何检查它是否使用此选项编译,是否有任何命令或文件可以帮助我找到答案?
答案1
你需要使用ldd(1)
打印共享库依赖关系。如果zabbix-agent
编译时使用了支持,则在编译时curl
会动态链接到库。libcurl
我现在手边没有 zabbix 安装,但是步骤很简单:
# ldd $(which curl)
linux-vdso.so.1 => (0x00007fff4572b000)
libcurl.so.4 => /lib64/libcurl.so.4 (0x00007f07a4189000)
libmetalink.so.3 => /lib64/libmetalink.so.3 (0x00007f07a3f7a000)
您应该libcurl
在输出中看到。只需将其替换curl
为zabbix-agent
。
答案2
我想扩展 dawud 的回答,这个回答是正确的,但有点不完整。
我的环境是 Debian Buster amd64 和 Zabbix 4.4.5 rev b93f5c4fc0
我需要查看zabbix_server
从 Zabbix repo 预编译的版本是否已使用 VMware 监控进行编译libxml2
,libcurl
如本文所述https://www.zabbix.com/documentation/current/manual/vm_monitoring
所以我表演了:
# ldd /usr/sbin/zabbix_server | egrep 'libxml2|libcurl'
其结果是:
libxml2.so.2 => /usr/lib/x86_64-linux-gnu/libxml2.so.2 (0x00007f784dbd1000)
libcurl.so.4 => /usr/lib/x86_64-linux-gnu/libcurl.so.4 (0x00007f784ce29000)
显然,zabbix_agent 也可以实现同样的效果