В zbxtg_settings.py есть переменная zbx_tg_tmp_dir, а потом в коде самого скрипта есть строчка:
В этот самый uids.txt сохраняются id пользователей (или чата), которые можно получить из запроса https://api.telegram.org/bot<KEY>/getUpdates. Причем в этом запросе входящие сообщения храняться не долго (сколько именно что-то я сходу не могу найти).
Что бы бот мог отправить сообщение (в приват, в группу или в супергруппу) ему обязательно нужно знать chat_id, который можно получить только из getUpdates (или через Webhook), отправить "по имени, через собаку" сообщение можно только в канал. Итого: файлик uids.txt критически важный, ибо хранит фактические адреса отправки сообщений (если вы не используете каналы), но при этом в zbxtg_settings.example.py (в github), который ,кмк большинство просто переименовывает в zbxtg_settings.py с минимальными правками, zbx_tg_tmp_dir выставлен в '"/tmp/" + zbx_tg_prefix', а в centos7 например /tmp по умолчанию это tmpfs, а в дебиане8 /tmp чиститься при загрузке юнитом systemd-tmpfiles-setup.service.
Итого: я у себя исправил файл zbxtg_settings.py так:
Создал директорию /usr/lib/zabbix/alertscripts/zbxtg, сделал "chown zabbix:zabbix /usr/lib/zabbix/alertscripts/zbxtg" и после этого бот перестал "ни с того ни с сего перестает присылать уведомления в телеграм"
Code:
tmp_uids = tmp_dir + "/uids.txt"
Что бы бот мог отправить сообщение (в приват, в группу или в супергруппу) ему обязательно нужно знать chat_id, который можно получить только из getUpdates (или через Webhook), отправить "по имени, через собаку" сообщение можно только в канал. Итого: файлик uids.txt критически важный, ибо хранит фактические адреса отправки сообщений (если вы не используете каналы), но при этом в zbxtg_settings.example.py (в github), который ,кмк большинство просто переименовывает в zbxtg_settings.py с минимальными правками, zbx_tg_tmp_dir выставлен в '"/tmp/" + zbx_tg_prefix', а в centos7 например /tmp по умолчанию это tmpfs, а в дебиане8 /tmp чиститься при загрузке юнитом systemd-tmpfiles-setup.service.
Итого: я у себя исправил файл zbxtg_settings.py так:
Code:
... zbx_tg_prefix = "zbxtg" zbx_tg_tmp_dir = "/usr/lib/zabbix/alertscripts/" + zbx_tg_prefix ...
Comment