module - Zabbix IBM MQM 可加载模块阻止 Zabbix Agent 服务

标签 module centos ibm-mq zabbix

我正在尝试测试 ZABBIX 的 IBM MQ 模块,所有代码都发布在 the ZABBIX share ,但是由于我是新手并且没有解释的步骤来做到这一点,所以我被卡住了。
所以我正在使用 ZABBIX 3.4 的源代码和 MQM 8 试用版的 header (在 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.

我希望你能给我一些帮助。
谢谢

最佳答案

好的。因此,为 Zabbix 的 mq.c 编写代码的人很懒惰,并从他们的 qdepth.c 示例中复制了它。

I commented this line where there is the argc :



馊主意。看起来应该是:
if (request->nparam == 1) strncpy(queue, param, (size_t)MQ_Q_NAME_LENGTH);

我无法访问 Zabbix 的 SDK,所以这只是一个猜测。

Job for zabbix-agent.service failed because a configured resource limit was exceeded. See "systemctl status zabbix-agent.service" and "journalctl -xe" for details.



嗯,错误信息很清楚。是时候阅读文档/手册来了解最低资源设置或推荐资源设置了,因为您显然没有足够的资源来运行所有内容。

关于module - Zabbix IBM MQM 可加载模块阻止 Zabbix Agent 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49323032/

相关文章:

interface - Typescript:使用单个函数与其他 JavaScript 库一起使用

apache - Laravel 5.4 - 安装后出现 500 错误

java - Tomcat 7 + JNDI 资源 + IBM WebSphere MQ

java-8 - 两个简单的 IBM MQ 客户端测试写入 MQ 队列 - 为什么一个有效,而另一个无效?

java - 如何使用属性连接到多实例 MQSeries 队列管理器?

python - Python 有包/模块管理系统吗?

ruby-on-rails - Rails 模块作为严格的命名空间

自动检测时间格式的 Perl 模块? (并且可以转换)

php - 在 Centos 5.9 和 MySQL 5.1 上安装 php5.3

ruby-on-rails - Gem 安装 Rails 出现错误 : Failed To Build Gem Native Exension CentOS