По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
В этой статье расскажем как отправлять различные СМС сообщения пользователям, позвонившим в контакт-центр Октелл и запросившим такую информацию: информация по текущим тарифам, инструкции по смене тарифа или подписки и прочее.
Настройки в личном кабинете системы «Ростелеком СМС Реклама»
«Ростелеком СМС Реклама» позволяет отправлять СМС, используя простой API. После заключения договора и получения доступа к личному кабинету, необходимо настроить этот самый API. Для это в личном кабинете нажимаем на свой логин в правом верхнем углу и выбираем раздел «Общие настройки»:
Откроется окно настроек профиля. Здесь нажимаем кнопку «API-рассылки»:
Откроется список всех настроенных на данный момент подключений (если они уже настроены). Существующее подключение невозможно редактировать, пока оно работает. Вы можете только посмотреть его, приостановить или завершить, если в этом есть необходимость. Нажимаем кнопку «Настроить подключение»:
В открывшемся окне настроим параметры для нашего подключения.
Здесь необходимо задать следующие настройки:
Тип рассылки - в нашем случае, это HTTP. Октелл будет присылать POST-запросы.
Название рассылки – любое произвольное название.
Время жизни СМС – можно задать время от 1 до 24 часов. Если по истечение этого времени СМС не будет доставлена, отправка отменяется.
IP-адрес клиента – здесь нужно указать «белый» IP, с которого будут приходить запросы. Если адреса нет в списке, авторизация не пройдет и СМС отправляться не будут.
После нажатия кнопки «Продолжить» статус рассылки изменится на «Подготовка», здесь нужно нажать кнопку «Сохранить» и ожидать результата.
На этой странице, кроме параметров самой рассылки, так же приведены параметры для подключения: URL, login и пароль. Эти параметры всегда можно посмотреть на странице “API-рассылки”, выбрав нужное подключение из списка.
Так же необходимо создать и согласовать короткое имя, которое будет отображаться в поле «Отправитель» при получении СМС. Это нужно сделать в разделе «Ресурсы» - «Имена отправителей». Этот параметр понадобится нам далее.
Этих настроек достаточно, чтобы можно было отправлять СМС посредством API. Теперь переходим к настройке системы Октелл.
Настройка системы Октелл
Все пояснения по взаимодействию с API Ростелекома изложены в инструкции «HTTP API для отправки сообщений (JSON)».
POST-запрос отправляется на URL, указанный в настройках подключения в личном кабинете. Каждый запрос должен пройти авторизацию. Авторизация происходит по методу HTTP Basic Auth, логин/пароль для авторизации так же указаны в личном кабинете в настройках подключения.
Для отправки сообщения в самом запросе нам нужны три значения:
MSISDN – это номер адресата. В формате 7 и 10-значный федеральный номер, (например: 79091234567)
Shortcode – имя отправителя, созданное в личном кабинете ранее
Text – непосредственно сам текст сообщения. Для переноса строки в тексте следует использовать последовательность символов
, иначе сообщение не отправится.
Итак, для отправки СМС я создал отдельный сценарий. Входным параметром для него является значение сессионной переменной.
Далее, в самом сценарии, в зависимости от значения этой переменной, подставляется соответствующий текст для тела сообщения:
Рассмотрим сценарий детальнее.
Проверка и корректировка АОН
На первом этапе проверяем АОН. Так как у нас звонки приходят с двух разных транков, на одном из них АОН выдается в формате 79091234567, а на другом 89091234567. Для использования в запросе мы должны использовать формат с 7-кой в начале номера, и то, что не соответствует данному формату, нам нужно преобразовать:
При входе мы сравниваем АОН с числом 8 000 000 00 00. Если АОН меньше этого числа, он проходит без изменений и мы присваиваем его значение переменной msisdn, которую будем использовать далее в POST-запросе. Иначе нам необходимо вычесть из АОНа число 1 000 000 00 00, и уже получившееся значение поместить в переменную msisdn:
Подготовка текста сообщения
На данном этапе текст сообщения в моей задаче выбирается из нескольких статичных шаблонов. В последующем текст будет изменяться под каждого конкретного абонента (отсылаем информацию по его тарифу, услугам и прочее), но сейчас этот функционал еще не готов на стороне биллинговой системы. В любом случае, текст сообщения выбирается исходя из значения сессионной переменной, значение которой было присвоено в предыдущем сценарии после того, как абонент выбрал какой-либо пункт IVR нажатием соответствующей кнопки. Выбранный текст сохраняется в переменной smstext, которую мы будем использовать далее в запросе:
Отправка запроса
После того, как у нас есть значения всех переменных, мы переходим непосредственно к отправке самого POST-запроса (предварительно все ветви сходятся в элементе «уведомление», которое выводит текст сформированного сообщения и номер абонента. Это элемент отладки и на работу сценария никак не влияет). Запрос будет сформирован и отправлен с помощью инструмента WEB-запрос:
Здесь используем следующие параметры:
URL – адрес, указанный для отправки в параметрах соединения в личном кабинете
Базовая авторизация – не использовать. В документации заявлено, что это поле позволяет использовать необходимый нам метод HTTP Basic Auth, однако на деле, при включении данной опции, авторизация у Ростелекома не проходит.
Метод – POST
Тип контента - application/json (нужно написать вручную)
Тип запроса – аргумент
Запрос – использован вот такой текст: '{"msisdn": ' + [msisdn] + ',"shortcode": "имя из ЛК","text": "' + [smstext] + ' "} '
Где:[msisdn] – имя переменной, где хранится номер телефона, на который отправляем смс, "имя из ЛК" – короткое имя, которые мы настроили в личном кабинете, [smstext] – переменная, где хранится текст самого сообщения.
В самом Октеле это должно выглядеть так (красный шрифт – статический текст, синий – переменные):
Вернемся к окну «Инспектор объектов» (параметры объекта «WEB-запрос»).
Дополнительные заголовки – посредством этого поля мы выполним авторизацию. Для этого установим здесь значение:
Authorization:Basic YTJwdGVzdF9zaWJpcjphMnB0ZXXX, где YTJwdGVzdF9zaWJpcjphMnB0ZXXX – это login:pass в base64. Для получения этой строчки выписываем свои логин: пароль и переводим кодируем их в base64 на любом подходящем интернет-ресурсе, например www.base64decode.org
Ответ в переменную – укажем переменную, где будет сохраняться ответ на наш запрос. Нужно, чтобы в дальнейшем с помощью инструмента «Парсер» посмотреть результат запроса.
Элемент «Парсер» настроим так, как указано на картинке ниже:
Тег «status» информирует о результате запроса. Если пришло «OK» - значит, запрос принят, сообщение отправлено. Если пришло «error» - значит, произошла какая-то ошибка. В этом случае, в поле «reason» будет указана ошибка, которую можно расшифровать, используя документацию:
Это основные настройки, которые позволяют отправлять СМС через систему «Ростелеком СМС Реклама» из платформы Октелл
Возможно немногие знают, но у роутеров MikroTik есть графическая составляющая, которая позволяет визуализировать много полезной информации. Инструмент Graphing позволяет отслеживать показатели производительности роутера MikroTik и выводить их в наглядные графики.
Можно строить графики для:
Текущих показаний напряжения и температуры роутера;
Показателей производительности (загрузка памяти, CPU, использование дискового пространства);
Трафика, проходящего через интерфейсы.
Трафика, ограниченной скорости (Simple Queues).
Инструмент Graphings состоит из двух частей - первая его часть отвечает за сбор необходимой информации, а вторая - за её отображение в графическом виде через web-интерфейс или WinBox.
Графики будут доступны, если набрать в браузере http://*IP_адрес_роутера/graphs/ или же выбрать Graphs на станице авторизации.
Для того, чтобы была возможность просматривать графики в web-интерфейсе, необходимо, чтобы в IP → Services был включен сервис www (порт 80), только не надо убедитесь, что доступ к этому порту был только у тех, кому это необходимо. Правильно настройке Firewall!
Также, после настройки графики можно будет посмотреть в WinBox в разделе Tools → Graphing
С помощью инструмента можно настроить какая именно информация должна отображаться на графиках.
Через терминал конфигурация осуществляется с помощью команды:
/tools graphings
Здесь можно настроить параметры:
store-every - как часто записывать собранную информацию;
page-refresh - как часто обновлять web-страничку с графиками.
Чтобы настроить на каком интерфейсе нужно собирать информацию о пропускной способности для построения графиков, нужно ввести команду:
/tool graphing interface
Можно задать следующие параметры:
allow-address - диапазон IP адресов, с которых разрешено просматривать данные графики (по умолчанию – 0.0.0.0/24, то есть ограничений нет);
comment - описание;
disabled - активация отображения графиков с информацией о пропускной способности интерфейсов (no – включена, yes - выключена);
interface - указывает с каких интерфейсов собирать информацию для построения графиков (по умолчанию – all, то есть со всех интерфейсов);
store-on-disk - указывает хранить ли собранную информацию на системном диске.
Для того, чтобы настроить отображение об работающих ограничениях скорости (Simple Queues) введите команду:
/tool graphing queue
Здесь для настройки доступны следующие параметры:
allow-address - диапазон IP адресов, с которых разрешено просматривать данные графики (по умолчанию – 0.0.0.0/24, то есть ограничений нет);
allow-target - указывает открывать ли доступ к просмотру графика адресов указанных в Simple Queue;
comment - описание;
disabled - активация отображения графиков с информацией о пропускной способности интерфейсов (no – включена, yes - выключена);
simple-queue - указывает какие настройки ограничения скорости (Simple Queues) мониторить (по умолчанию – all, то есть все);
store-on-disk - указывает хранить ли собранную информацию на системном диске.
Наконец, для настройки отображения желаемой информации о показателях производительности роутера, используем команду:
/tool graphing resource
Здесь для настройки доступны следующие параметры:
allow-address - диапазон IP адресов, с которых разрешено просматривать данные графики (по умолчанию – 0.0.0.0/24, то есть ограничений нет);
comment - описание;
disabled - активация отображения графиков с информацией о пропускной способности интерфейсов (no – включена, yes - выключена);
store-on-disk - указывает хранить ли собранную информацию на системном диске.
Теперь давайте рассмотрим пример настройки в WinBox. Для этого откроем Tools → Graphing и настроим отображение графиков использования интерфейсов и графиков показателей производительности роутера:
Теперь графики будут доступны во вкладке Interface Graphs и Resource Graphs
Ну и конечно же теперь эти же графики доступны в более развернутом виде через web-интерфейс:
Где и зачем?
На сегодняшний день логирование информации в процессе разработки имеет огромное значение. Сохранение информации в лог-файлы это первоочередная задача для выявления неполадок и слабых мест в работе приложения. Однако, если приложение работает на основе многих сложных процессов здесь не обойтись без эффективного инструмента навигации и анализа по логам. В одной из предыдущих статей мы разбирали такое решение, как ELK Elasticsearch, Logstash, Kibana. В таком сочетании эти программы способны оперативно решать задачи по сбору, хранению, выборке и анализу информации даже в крупных проектах. Это и является их основным назначением. Однако, эти программы также можно использовать по отдельности, поскольку они являются самостоятельными программными продуктами. Как же можно использовать эти приложения в разных сочетаниях, и для чего это нужно? Приступим к разбору.
Самым востребованным инструментом из этой тройки является Elasticsearch. Оно и понятно поисковая система, действующая на основе горизонтального масштабирования (то есть, с возможностью искать данные по запросу пользователя параллельно на множестве серверов) стала очень популярным решением для осуществления поиска не только в логах, но и во множестве данных. При этом данные не обязательно могут быть структурированы, и пользователь с высокой вероятностью получит четкие результаты по запрашиваемому фрагменту текста. При этом широкую популярность данному приложению обеспечивают также широкие возможности по интегрированию с другими программами, множество вариантов конфигурирования, а также подключаемые плагины, работа над которыми ведется как специалистами компании Elastic, так и "народными умельцами"
Альтернативным вариантом использования Elasticsearch является вариант с созданием на основе этого приложения централизованных хранилищ данных, содержащих логи использования с разных устройств. Конечно, в этом случае потребуется визуализация, поэтому наилучшее взаимодействие с Elasticsearch обеспечивает Kibana. Данная связка является наиболее популярной и эффективной, поскольку обе программы разрабатывались специально с прицелом на взаимодействие.
Несомненным плюсом ELK является модульная архитектура. Комбинируя различные модули, можно сконфигурировать систему для выполнения разнородных задач. Так, например, модуль Metricbeat, включенный в систему позволяет оптимально сконфигурировать систему для мониторинга инфраструктуры,решение Heartbeat позволяет осуществлять uptime-мониторинг. Направления Elastic SIEM и Elastic API также существенно расширяют функциональность ELK
Помимо непосредственно разработчиков, комплекс ELK Stack также могут использовать и тестировщики. Конечно, если приложение занимает небольшой объем, то установка ELK вряд ли будет рациональным решением, но, если это будет серьезная объемная программа, тогда тестер сможет быстро выявить проблему и не тратить время разработчика на поиск и анализ. Такая схема работы достаточно популярна и эффективна в некоторых компаниях, разрабатывающих программное обеспечение.
Также доступ к логам программы могут затребовать управленцы - менеджер, курирующий проект, или же представители заказчика. В данном случае анализ логов позволяет выявить, эффективно ли ведется работа над исправлением выявленных ранее неисправностей, и не появилось ли новых багов в процессе исправления старых.
В последнее время развивается использование комплекса ELK в бизнес-процессах для обеспечения эффективного сбора информации, оперативного анализа и принятия решений. Как пример, можно привести огромный супермаркет со множеством касс. Как правило, для наличного расчета на начало рабочего дня в кассе должна быть определенная сумма наличных для выдачи сдачи. Так вот, комплекс ELK применяется для сбора данных о проведенных по кассе операциях, выборки из собранных данных информации об остатках наличных в разных кассах, и анализа информации, после которого специалист, работающий с программой, может принять решение, какая сумма наличных нужна для обеспечения нужд кассиров по выдаче сдачи.
Непрерывный сбор и анализ информации позволяет оценить пики и спады, сравнить информацию с аналогичными показателями за вчерашний день, прошедшие неделю или месяц. По этой причине решение ELK приобретает все большую популярность как инструмент биржевой аналитики. Хотя на текущий момент есть инструменты и получше, однако динамика развития данного решения позволяет думать, что оно вряд ли перестанет быть актуальным и для подобных задач.