Luc*_* SF 4 python zabbix telegram python-telegram-bot telegram-bot
我正在配置一个机器人从 Zabbix 发送警报,因此我安装了 Python 和模块:
sudo apt install python python-pip python-setuptools
Run Code Online (Sandbox Code Playgroud)
之后,我安装了 bot API 以在 Zabbix 上使用:
python -m pip install --user pyTelegramBotAPI
Run Code Online (Sandbox Code Playgroud)
在/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)
Run Code Online (Sandbox Code Playgroud)
更改的权限:
sudo chmod +x telegram
sudo chown -R zabbix telegram
Run Code Online (Sandbox Code Playgroud)
在终端或 Zabbix 上测试脚本时,出现以下错误:
回溯(最近一次调用最后一次):文件“/usr/lib/zabbix/alertscripts/telegram”,第 2 行,导入 telebot,sys ImportError: 没有名为“telebot”的模块
我尝试通过安装模块来解决:
python -m pip install --user telebot
Run Code Online (Sandbox Code Playgroud)
安装模块没有解决它,所以我尝试使用python3,终端上的脚本工作了,但在Zabbix中仍然显示相同的错误。我最终又回到了Python。
telebot 模块不会出现pip list
,仅在 python 终端内使用该命令出现help ("modules")
。
有谁知道这可能会导致问题?
我设法使用 解决了这个问题python3
,但是这次我完全删除了其他版本,python
然后再次安装,步骤如下:
sudo python -m pip uninstall pyTelegramBotAPI
sudo apt remove python python-pip python-setuptools
sudo apt install python3 python3-pip python3-setuptools python3-six
sudo python3 -m pip install pyTelegramBotAPI six
sudo pip install six
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
34768 次 |
最近记录: |