
Комментарии 42
Пример интересный. Смущает разнообразие правок на случай ошибок. Это код не протестирован или в max так часто API меняется, что нужно постоянно запрос подстраивать?
И , по моему мнению, регистрация ботов только для юрлиц и обязательная модерация - убивают всю пользу от самого механизма ботов.
Код протестирован, но Макс постоянно что то правит по этому и столько правок
У нас юр лицо, и бот можно сказать наш но от части, он нашего учредителя
Только для юридических лиц и организаций
За статью спасибо, на этом месте физлица понимают, что эта история не про них.
У меня весь колхоз-мониторинг через Telegram работает. Надо еще почту прикрутить для алертов, надеюсь до нее доберутся не скоро. /s
http://ntfy.sh и не нужен Мах
Простите, но есть xmpp, email, позвонить, зачем вообще встраивать никамуне нужное поделие. Я лучше смс перейду чем буду иметь дело с max
Вот так вот и сдают страну
моим путём вы бота не получите по этому я не буду тут рассказывать как я его раздобыл.
Всё равно ж интересно, что за способ
Не работает


В коде ни чего править не нужно, все настройки задайте так
Я правда не тестировал его с групповыми чатами, но попозже проверю
https://github.com/noakky/zabbix-media-max - попробуйте этот. Сейчас у нас работает именно он.
Попробуй так (работает на старой curlhttpRequest)
var MaxMessenger = {
apiUrl: null,
token: null,
to: null,
message: null,
subject: null,
proxy: null,
isUser: false,
sendMessage: function () {
var param = MaxMessenger.isUser ? 'user_id' : 'chat_id';
var url = MaxMessenger.apiUrl + '/messages?' + param + '=' + encodeURIComponent(MaxMessenger.to);
var payload = {
text: (MaxMessenger.subject ? MaxMessenger.subject + '\n' : '') + MaxMessenger.message
};
// Используем CurlHttpRequest
var request = new CurlHttpRequest();
var data = JSON.stringify(payload);
// В CurlHttpRequest методы пишутся с Большой буквы
if (MaxMessenger.proxy) {
request.SetProxy(MaxMessenger.proxy);
}
// Явно добавляем заголовки
request.AddHeader('Content-Type: application/json');
request.AddHeader('Authorization: ' + MaxMessenger.token);
Zabbix.Log(4, '[Max] Sending POST to: ' + url);
// Выполнение запроса
var response = request.Post(url, data);
var status = request.Status();
Zabbix.Log(4, '[Max] HTTP Status: ' + status + '. Response: ' + response);
if (status < 200 || status >= 300) {
throw 'HTTP ' + status + ': ' + response;
}
return response;
}
};
try {
// value — это стандартная входящая переменная в Zabbix
var params = JSON.parse(value);
['ApiUrl', 'Token', 'To', 'Subject', 'Message'].forEach(function(p) {
if (!params[p]) throw 'Parameter "' + p + '" is missing';
});
MaxMessenger.apiUrl = params.ApiUrl;
MaxMessenger.token = params.Token;
MaxMessenger.to = params.To;
MaxMessenger.subject = params.Subject;
MaxMessenger.message = params.Message;
MaxMessenger.proxy = params.HTTPProxy; // Добавлена поддержка прокси из параметров
if (params.IsUser && params.IsUser.toLowerCase() === 'true') {
MaxMessenger.isUser = true;
}
MaxMessenger.sendMessage();
return 'OK';
}
catch (error) {
Zabbix.Log(3, '[Max ERROR] ' + error); // Уровень 3 — это Warning в логах Zabbix
throw 'Sending failed: ' + error;
}
Достаточно небольшой список для рассмотрения альтернатив. Не смотрели в сторону yandex messenger? Позиционируют они себя как решение для бизнеса. API есть. Ну и как бы кто не смотрел на яндекс, кажется это будет постабильнее непонятной поделки. Главный критерий - время, а значит доступность и понятность документации в приоритете. А про него вроде где-то видел регулярно гоняют рекламу, так что какая-то известность вероятно есть.
https://github.com/sergey-akhmineev/MAX-media-type-for-zabbix
Просто оставлю это здесь...
> как заменить в zabbix транспорт уведомлений с telegram на max
>> никак, токен не дадут смертному
Vk worspace не подошёл по тому, что надо согласовывать, а макс подшёл потому, что его так просто не дадут и не скажу где взял. А вдруг и юрикам долго согласовывать?
Я так и не понял нахрена , если вам для локальной работы, зачем что-то ставить глобальное?
Mattermost и его аналоги ? И никакого макса.
Чел работает в скаме и пиарит сервис. Да я лучше дохлыми голубями уведомления буду слать...
Telegram заблокирован, уведомления из Zabbix не доходят. Пошаговый гайд: как интегрировать мессенджер Max
Можно, но зачем, если есть gotify, ntfy? Бесплатно, self-hosted, никто не отключит по велению ркн.
Но токен можно получить официально:
- Только для юридических лиц и организаций
Это основная претензия к максу. Ради уведомлений от датчиков воды надо ИП регать. Ну зашибись. Хочешь сделать два канала - один для уведомлений о заказах, второй для dev - лососни тунца.
Меня не интересует "как?", меня интересует "зачем?".
Написал выше уже про https://ntfy.sh
Спасибо, только собрался сам мучить ГПТ на тему ЯваСкрипта, а тут уже есть решение. Учредитель сразу получил токен, алармы идут.
Задача стояла "получать оперативно алармы", задача выполнена. самому не нравится макс, но оперативные данные сейчас важнее.


Zabbix + мессенджер Max: как заменить заблокированный Telegram на отечественный мессенджер