我正在配置一个机器人以从Zabbix发送警报,因此我安装了Python和以下模块:
sudo apt install python python-pip python-setuptools
之后,我安装了机器人 API 以便在 Zabbix 上使用:
python -m pip install --user pyTelegramBotAPI
在/usr/lib/zabbix/alertscripts/中创建了脚本:
#!/usr/bin/env python
import telebot,sys
BOT_TOKEN='123TOKENAQUI321'
DESTINATION=sys.argv[1]
SUBJECT=sys.argv[2]
MESSAGE=sys.argv[3]
MESSAGE = MESSAGE.replace('/n','\n')
tb = telebot.TeleBot(BOT_TOKEN)
tb.send_message(DESTINATION,SUBJECT + '\n' + MESSAGE)
修改权限:
sudo chmod +x telegram
sudo chown -R zabbix telegram
当在终端或Zabbix上测试脚本时,会出现以下错误:
Traceback (most recent call last): File "/usr/lib/zabbix/alertscripts/telegram", line 2, in import telebot,sys ImportError: No module named 'telebot'
我尝试通过安装模块来解决问题:
python -m pip install --user telebot
安装该模块并没有解决问题,因此我尝试使用Python3,在终端上运行脚本成功了,但是在Zabbix中仍然显示相同的错误。最终我又回到了Python。
使用
pip list
命令无法找到telebot模块,只有在Python终端中使用help("modules")
命令才能看到它。有人知道造成这个问题的原因吗?