首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法找到“`zabbix api`”

无法找到“`zabbix api`”
EN

Stack Overflow用户
提问于 2019-09-12 00:25:14
回答 1查看 2.4K关注 0票数 0

问题

在这个场景中,Ansible无法找到Zabbix。当运行调用zabbix-api模块的剧本时,Ansible会发出以下错误:

代码语言:javascript
复制
msg: 'Missing required zabbix-api module (check docs or install with: pip install zabbix-api)'

环境

运行Ubuntu18.04的控制节点包含多个python解释器(2.7/3.6/3.7)。Zabbix已经使用pip (pip install zabbix-api)安装在控制节点上,用于/usr/local/lib/python2.7/dist-packages/中的python2.7。在运行以下命令之后可以观察到这一点:

代码语言:javascript
复制
import imp
imp.find_module('zabbix_api')

其中产出:

代码语言:javascript
复制
(<open file '/usr/local/lib/python2.7/dist-packages/zabbix_api.py', mode 'U' at 0x7f102e990540>, '/usr/local/lib/python2.7/dist-packages/zabbix_api.py', ('.py', 'U', 1)

检查

我已确保:

  • Ansible加载正确的Python解释器:ansible_python_interpreter=/usr/bin/python
  • PATH包含解释器的site-packagesdist-packages的路径
  • 解释器可以加载zabbix_api库:python -c "import zabbix_api"
  • zabbix_api.py权限是正确的
  • sys.path包含zabbix_api dir的路径:
代码语言:javascript
复制
import sys
print '\n'.join(sys.path)

其中产出:

代码语言:javascript
复制
    /usr/lib/python2.7
    /usr/lib/python2.7/plat-x86_64-linux-gnu
    /usr/lib/python2.7/lib-tk
    /usr/lib/python2.7/lib-old
    /usr/lib/python2.7/lib-dynload
    /home/peter/.local/lib/python2.7/site-packages
    /usr/local/lib/python2.7/dist-packages
    /usr/lib/python2.7/dist-packages

我在这里错过了什么?还有其他因素要考虑吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-12 09:59:20

造成此问题的原因是主机文件配置错误: Ansible针对的是错误的服务器。在确保在本地主机上执行了剧本之后,问题就解决了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57898259

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档