Slack Intergration

Started by Alex, October 20, 2015, 03:43:28 PM

Previous topic - Next topic

Alex

Приветствую. Проблема с настройкой 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."


Подскажите пожалуйста, что я делаю не так?

Спасибо заранее.

Alex Kirhenshtein

Да, так и должно быть.
Канал можно не указывать, тогда уйдет в тот, который был в настройках хука.
Имя канала указываете с "#"?

Alex

Quote from: Alex Kirhenshtein on October 20, 2015, 04:16:12 PM
Да, так и должно быть.
Канал можно не указывать, тогда уйдет в тот, который был в настройках хука.
Имя канала указываете с "#"?

Нет, без "#".

Alex Kirhenshtein

test – послать в private group
@test – послать юзеру
#test – послать в канал

Alex

О! Сообщение сейчас пришло в #general. Но, оно как бы пустое. Точнее содержит название канала.
Пример:
NetXMSBOT [5:39 PM]
#general

Alex Kirhenshtein

Глупый вопрос – текст на русском?

Alex

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."

Alex Kirhenshtein

В коде нет дебага для самого сообщения, к сожалению.
Сделайте пожалуйста так:

запустите netcat: nc -l 12345
потом  попробуйте что-то отослать с такой конфигурацией:

SMSDrvConfig: url=http://localhost:12345/

в netcat должен быть виден полный запрос.

Alex

Вывод тот, о котором я писал ранее:

[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"}

Alex Kirhenshtein

В message text случаем не прописан канал вместо текста сообщения?
Я просмотрел код и проверил на нашем сервере, название канала не должно дублироваться.

Alex

Я же показал вывод дебага выше, что посылается.

[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-а на картинке.

Alex Kirhenshtein

Нашел проблему – была только в сборке без unicode.
Фикс: http://git.netxms.org/public/netxms.git/commitdiff/b010a63c51a151d121bef28ab5056a2de5e7c1f8

Alex

Quote from: Alex Kirhenshtein on October 21, 2015, 01:24:15 PM
Нашел проблему – была только в сборке без unicode.
Фикс: http://git.netxms.org/public/netxms.git/commitdiff/b010a63c51a151d121bef28ab5056a2de5e7c1f8

Отлично! Патч установил, все работает. Спасибо большое!  ;D