我试着测试ZABBIX的IBM模块,所有的代码都发布在ZABBIX股票上,但是由于我是新手,没有解释的步骤去做,所以我被困住了。因此,我正在使用ZABBIX 3.4的源代码和MQM 8试用版的头(运行在Centos7 64位上)。首先,当我试图编译mq.c文件时,有一个变量argc,我认为它不应该存在!!错误就像:
[root@osboxes dummy]# make
gcc -fPIC -shared -o mq.so mq.c -I../../../include -I/opt/mqm/inc
mq.c: In function ‘mq_q_depth’:
mq.c:61:9: error: ‘argc’ undeclared (first use in this function)
if (argc > 1) strncpy(queue, param, (size_t)MQ_Q_NAME_LENGTH);
^
mq.c:61:9: note: each undeclared identifier is reported only once for each funct ion it appears in
make: *** [mq] Error 1我在有argc的地方注释了这一行:
if (argc > 1) strncpy(queue, param, (size_t)MQ_Q_NAME_LENGTH);编译成功,但当我试图将模块上载到ZABBIX代理配置时,代理不会启动并给出以下错误:
[root@osboxes dummy]# service zabbix-agent start
Redirecting to /bin/systemctl start zabbix-agent.service
Job for zabbix-agent.service failed because a configured resource limit was exceeded. See "systemctl status zabbix-agent.service" and "journalctl -xe" for details.
[root@osboxes dummy]# systemctl status zabbix-agent.service
● zabbix-agent.service - Zabbix Agent
Loaded: loaded (/usr/lib/systemd/system/zabbix-agent.service; disabled; vendor preset: disabled)
Active: activating (auto-restart) (Result: resources) since Fri 2018-03-16 14:35:43 CET; 3s ago
Process: 5069 ExecStart=/usr/sbin/zabbix_agentd -c $CONFFILE (code=exited, status=0/SUCCESS)
Mar 16 14:35:43 osboxes.org systemd[1]: zabbix-agent.service never wrote its PID file. Failing.
Mar 16 14:35:43 osboxes.org systemd[1]: Failed to start Zabbix Agent.
Mar 16 14:35:43 osboxes.org systemd[1]: Unit zabbix-agent.service entered failed state.
Mar 16 14:35:43 osboxes.org systemd[1]: zabbix-agent.service failed.
Hint: Some lines were ellipsized, use -l to show in full.
[root@osboxes dummy]# journalctl -xe
--
-- The result is failed.
Mar 16 14:36:04 osboxes.org systemd[1]: Unit zabbix-agent.service entered failed state.
Mar 16 14:36:04 osboxes.org systemd[1]: zabbix-agent.service failed.
Mar 16 14:36:14 osboxes.org systemd[1]: zabbix-agent.service holdoff time over, scheduling resta
Mar 16 14:36:14 osboxes.org systemd[1]: Starting Zabbix Agent...
-- Subject: Unit zabbix-agent.service has begun start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.or...
--
-- Unit zabbix-agent.service has begun starting up.
Mar 16 14:36:14 osboxes.org systemd[1]: PID file /run/zabbix/zabbix_agentd.pid not readable (yet
Mar 16 14:36:14 osboxes.org systemd[1]: zabbix-agent.service never wrote its PID file. Failing.
Mar 16 14:36:14 osboxes.org systemd[1]: Failed to start Zabbix Agent.
-- Subject: Unit zabbix-agent.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.or...
--
-- Unit zabbix-agent.service has failed.
--
-- The result is failed.
Mar 16 14:36:14 osboxes.org systemd[1]: Unit zabbix-agent.service entered failed state.
Mar 16 14:36:14 osboxes.org systemd[1]: zabbix-agent.service failed.我希望你能帮我点忙。谢谢
发布于 2018-03-16 23:20:28
好的。因此,为Zabbix的mq.c编写代码的人是懒惰的,并从他们的qdepth.c示例中复制它。
我在有argc的地方注释了这一行:
馊主意。看起来应该是:
if (request->nparam == 1) strncpy(queue, param, (size_t)MQ_Q_NAME_LENGTH);我无法访问Zabbix的SDK,所以这只是猜测。
由于超出了配置的资源限制,zabbix-agent.service的作业失败。有关详细信息,请参阅"systemctl status zabbix-agent.service“和"journalctl -xe”。
这个错误信息很清楚。现在是阅读文档/手册的时候了,以找出最小值,或者推荐资源设置,因为您显然没有足够的资源来运行所有的东西。
https://stackoverflow.com/questions/49323032
复制相似问题