Приветствую. Проблема с настройкой Slack-интеграции.
В настройках самого Slack-а выбираю "Incoming WebHook". Завожу имя отправителя и задаю канал. Далее получаю ссылку с токеномю
SMSDriver: /usr/local/lib/libnxsms_slack.so
SMSDrvConfig: url=ссылка_с_токеном
Создаю действие:
Отправить сообщение (SMS) на мобильный телефон.
В качестве номера указываю название канала, куда необходимо посылать сообщения.
В качестве текста указываю необходимый текст.
При выполнении данного действия в дебаге получаю ошибку:
[20-Oct-2015 12:33:40.752] [DEBUG] Slack: call to curl_easy_perform() failed
[20-Oct-2015 12:33:40.752] [DEBUG] Slack: channel="КАНАЛ", text="20-Oct-2015 12:33:40 Node Threshold rearmed for Max_Files Procent Usage (Parameter: .1.3.6.1.4.1.8072.1.3.2.4.1.2.7.112.114.111.99.101."
Подскажите пожалуйста, что я делаю не так?
Спасибо заранее.
Да, так и должно быть.
Канал можно не указывать, тогда уйдет в тот, который был в настройках хука.
Имя канала указываете с "#"?
Quote from: Alex Kirhenshtein on October 20, 2015, 04:16:12 PM
Да, так и должно быть.
Канал можно не указывать, тогда уйдет в тот, который был в настройках хука.
Имя канала указываете с "#"?
Нет, без "#".
test – послать в private group
@test – послать юзеру
#test – послать в канал
О! Сообщение сейчас пришло в #general. Но, оно как бы пустое. Точнее содержит название канала.
Пример:
NetXMSBOT [5:39 PM]
#general
Глупый вопрос – текст на русском?
Quote from: Alex Kirhenshtein on October 20, 2015, 06:21:38 PM
Глупый вопрос – текст на русском?
Разумеется нет.
[20-Oct-2015 15:00:00.272] [DEBUG] *actions* Executing action 28 (Threshold Rearmed) of type SEND SMS
[20-Oct-2015 15:00:00.273] [DEBUG] Slack: channel="#general", text="Threshold for (NODE) 'Max_Files Procent of Usage' rearmed."
В коде нет дебага для самого сообщения, к сожалению.
Сделайте пожалуйста так:
запустите netcat: nc -l 12345
потом попробуйте что-то отослать с такой конфигурацией:
SMSDrvConfig: url=http://localhost:12345/
в netcat должен быть виден полный запрос.
Вывод тот, о котором я писал ранее:
[root@monitor-2 ~]# nc -l 12345
POST / HTTP/1.1
Host: localhost:12345
Accept: */*
Content-Length: 51
Content-Type: application/x-www-form-urlencoded
payload={"channel": "#general", "text": "#general"}
В message text случаем не прописан канал вместо текста сообщения?
Я просмотрел код и проверил на нашем сервере, название канала не должно дублироваться.
Я же показал вывод дебага выше, что посылается.
[20-Oct-2015 15:00:00.272] [DEBUG] *actions* Executing action 28 (Threshold Rearmed) of type SEND SMS
[20-Oct-2015 15:00:00.273] [DEBUG] Slack: channel="#general", text="Threshold for (NODE) 'Max_Files Procent of Usage' rearmed."
Вот настройки action-а на картинке.
Нашел проблему – была только в сборке без unicode.
Фикс: http://git.netxms.org/public/netxms.git/commitdiff/b010a63c51a151d121bef28ab5056a2de5e7c1f8
Quote from: Alex Kirhenshtein on October 21, 2015, 01:24:15 PM
Нашел проблему – была только в сборке без unicode.
Фикс: http://git.netxms.org/public/netxms.git/commitdiff/b010a63c51a151d121bef28ab5056a2de5e7c1f8
Отлично! Патч установил, все работает. Спасибо большое! ;D