Оглавление |
---|
Описание
Сервис представляет собой интерфейс для взаимодействия компонентов платформы и внешними SMS-шлюзами, Call-центрами и серверами электронной почты. Служит для отправки уведомлений пользователям платформы, а также пользователям Wi-Fi.
Управление сервисом
Установка сервиса
Блок кода | ||||
---|---|---|---|---|
| ||||
apt-get install eltex-ngw. |
Способы запуска/остановки
Действие | Команда | Ответ | ||||
---|---|---|---|---|---|---|
Проверка состояния | service eltex-ngw status | Сервис запущен
Cервис не запущен
| ||||
Запуск сервиса | service eltex-ngw start | Сервис успешно запущен
| ||||
Остановка сервиса | service eltex-ngw stop | Сервис успешно остановлен
| ||||
Перезапуск сервиса | service eltex-ngw restart | Сервис успешно перезапущен
| ||||
Создание пользователя базы данных | eltex-ngw create-db-user | |||||
Удаление базы данных | eltex-ngw remove-db |
Конфигурация
/etc/eltex-ngw/notification.properties
Содержит основные настройки сервиса.
Блок кода | ||||||
---|---|---|---|---|---|---|
| ||||||
#Common gates settings #Current gate used for each type (config name, for example smpp_gate.conf) sms.gate.outgoing.sms.config=smsc_gate.conf #For incoming sms/calls fields for numbers in configs should be set sms.gate.incoming.sms.config= sms.gate.incoming.call.config= #Gate pool settings sms.gate.pool.size=50 sms.gate.pool.wait.millis=5000 #Call gate configuration call.gate.outgoing.call.config= call.gate.pool.size=50 pool.wait.millis=5000 #Port to listen for requests server.port=8040 #============================= #=======database settings===== #============================= #mongodb.uri=mongodb://192.168.1.1,192.168.1.2:27017/notification-gw mongodb.host=localhost mongodb.port=27017 #mongodb.user=user #mongodb.password=password mongodb.name=notification-gw mongodb.fsfiles.store.period=7 #============================= #=======email settings======== #============================= mail.smtp.submitter=test@email.com mail.smtp.password= mail.smtp.auth=true mail.smtp.host=email.com mail.smtp.port=587 mail.smtp.sendpartial=true mail.smtp.starttls.enable=false mail.smtp.connectiontimeout=5000 mail.gate.pool.size=20 mail.pool.wait.millis=10000 |
- Настройка конфигурационного файла для идентификации пользователя по входящему SMS:
Без форматирования |
---|
#Current gate used for each type (config name, for example smpp_gate.conf) sms.gate.outgoing.sms.config=smsc_gate.conf |
- Настройка конфигурационного файла для идентификации пользователя по отправленному им SMS и или совершенному пользователем звонку:
Без форматирования |
---|
#For incoming sms/calls fields for numbers in configs should be set sms.gate.incoming.sms.config= sms.gate.incoming.call.config= |
- Настройки пула для смс:
Без форматирования |
---|
#Gate pool settings sms.gate.pool.size=50 sms.gate.pool.wait.millis=5000 |
- Настройка конфигурационного файла для идентификации пользователя по входящему звонку и пула:
Без форматирования |
---|
#Call gate configuration call.gate.outgoing.call.config= call.gate.pool.size=50 pool.wait.millis=5000 |
- Порт по которому работает сервис:
Без форматирования |
---|
#Port to listen for requests server.port=8040 |
- Настройки подключения к БД Mongo:
Без форматирования |
---|
#============================= #=======database settings===== #============================= #mongodb.uri=mongodb://192.168.1.1,192.168.1.2:27017/notification-gw mongodb.host=localhost mongodb.port=27017 #mongodb.user=user #mongodb.password=password mongodb.name=notification-gw mongodb.fsfiles.store.period=7 |
- Настройки подключения к e-mail:
Без форматирования |
---|
#============================= #=======email settings======== #============================= mail.smtp.submitter=test@email.com mail.smtp.password= mail.smtp.auth=true mail.smtp.host=email.com mail.smtp.port=587 mail.smtp.sendpartial=true mail.smtp.starttls.enable=false mail.smtp.connectiontimeout=5000 mail.gate.pool.size=20 mail.pool.wait.millis=10000 |
/etc/default/eltex-ngw
Содержит параметры инициализации сервиса.
Блок кода | ||||||
---|---|---|---|---|---|---|
| ||||||
# Eltex Notification Gateway daemon parameters # Initial size of Java heap JAVA_INIT_HEAP=16m # Maximum size of Java heap JAVA_MAX_HEAP=128m # Additional arguments to pass to java JAVA_OPTS="-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/eltex-ngw" |
- Количество памяти, выделяемое приложению при старте сервиса:
Без форматирования |
---|
# Initial size of Java heap JAVA_INIT_HEAP=16m |
- Максимальное количество памяти, которое может арендовать сервис:
Без форматирования |
---|
# Maximum size of Java heap JAVA_MAX_HEAP=128m |
- Дополнительные опции запуска java:
Без форматирования |
---|
# Additional arguments to pass to java JAVA_OPTS="-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/eltex-ngw" |
Конфигурационные файлы для подключения к шлюзам
Для подключения к различным смс-шлюзам создан набор шаблонов конфигураций,которые находятся в каталоге /etc/eltex-ngw/. Если среди предложенных шаблонов и смс-шлюзов Вы не нашли свой, то обратитесь в техподдержку для интеграции с Вашим шлюзом.
- SMS-центр - smsc_gate.conf.
Kaspi Bank - kaspib_gate.conf (Индивидуальная интеграция).
- Seven Sky - 7sky_gate.conf.
- Связной загрузка - zagruzka_gate.conf.
- SMS - шлюз с поддержкой SMPP - smpp_gate.conf.
- GSM-шлюз NetPing SMS - netping_gate.conf.
- GSM-шлюз Fargo maestro 100 - serial_port.conf.
- Банк Левобережный - levob_gate.conf (Индивидуальная интеграция).
- Связьбанк шлюз - sviaz_bank_gate.conf (Индивидуальная интеграция).
- rtk_sbc.conf - исходящий звонок.
- smg_gate.conf - входящий звонок.
- Ростелеком РТК - rtk_gate.conf (Индивидуальная интеграция).
Возможность интеграции с другими шлюзами уточняйте в техподдержке компании.
/etc/eltex-ngw/log4j2.xml
Содержит параметры логирования.
Блок кода | ||||||
---|---|---|---|---|---|---|
| ||||||
<?xml version="1.0" encoding="UTF-8"?> <Configuration monitorInterval="600"> <Properties> <Property name="baseDir">/var/log/eltex-ngw</Property> <Property name="maxFileSize">20 MB</Property> <Property name="accumulatedFileSize">100 GB</Property> <Property name="lastModified">4d</Property> <Property name="maxCount">10</Property> <Property name="logPattern">%d{ISO8601} [%t] %-5p %logger{12} %C{1}.%M(line:%L). %m%n</Property> <Property name="gelfLevel">OFF</Property> <Property name="gelfHost">udp:lab3-test.eltex.loc</Property> <Property name="gelfPort">12201</Property> </Properties> <Appenders> <RollingFile name="RollingFile" filename="${baseDir}/notification-gateway.log" filepattern="${baseDir}/notification-gateway-%i.log.gz"> <PatternLayout pattern="${logPattern}"/> <Policies> <SizeBasedTriggeringPolicy size="${maxFileSize}"/> <OnStartupTriggeringPolicy/> </Policies> <!-- Ограничение на кол-во файлов. для боевой реализации - не более 20 штук. --> <DefaultRolloverStrategy max="3"> <Delete basePath="${baseDir}" maxDepth="1"> <IfFileName glob="notification-gateway-*.log.gz"> <IfLastModified age="${lastModified}"/> <IfAny> <IfAccumulatedFileSize exceeds="${accumulatedFileSize}"/> <IfAccumulatedFileCount exceeds="${maxCount}"/> </IfAny> </IfFileName> </Delete> </DefaultRolloverStrategy> </RollingFile> <Gelf name="Gelf" host="${gelfHost}" port="${gelfPort}" version="1.1" facility="notification-gateway" extractStackTrace="true" originHost="%host{fqdn}" maximumMessageSize="8192"> <Field name="thread" pattern="%t"/> <Field name="level" pattern="%level"/> <Field name="severity" pattern="%-5level"/> <Field name="logger" pattern="%logger{12}"/> <Field name="location" pattern="%C{1}.%M(line:%L)"/> </Gelf> </Appenders> <Loggers> <Root level="ERROR"> <AppenderRef ref="RollingFile"/> <AppenderRef ref="Gelf" level="${gelfLevel}"/> </Root> <Logger name="org.eclipse.jetty" level="WARN"/> <Logger name="org.mongodb" level="ERROR"/> <Logger name="org.jsmpp" level="ERROR"/> <Logger name="org.springframework" level="ERROR"/> <logger name="jndi" level="OFF"/> <!--log4j configuration logger--> <Logger name="EventLogger" additivity="false" level="ERROR"> <Appende<AppenderRef ref="console"/> </Logger> </Loggers> </Configuration> |
- Интервал автоматического перечитывания конфигурации логгера:
Без форматирования |
---|
<Configuration monitorInterval="600"> |
- Базовая директория хранения логов:
Без форматирования |
---|
<Property name="baseDir">/var/log/eltex-ngw</Property> |
- Максимально допустимый размер файла (при его превышении создается новый файл. а старый архивируется):
Без форматирования |
---|
<Property name="maxFileSize">20 MB</Property> |
- Суммарный размер логов (текущий файл + архивные). При его превышении наиболее старые файлы будут удаляться:
Без форматирования |
---|
<Property name="accumulatedFileSize">100 GB</Property> |
- Срок хранения логов, файлы модифицированные раннее этого срока будут удаляться:
Без форматирования |
---|
<Property name="lastModified">4d</Property> |
- Максимальное количество архивных файлов, при его превышении наиболее старые файлы будут перезаписываться:
Без форматирования |
---|
<Property name="maxCount">10</Property> |
- Блок настройки перенаправления логов в Graylog (уровень логирования, адрес, порт):
Без форматирования |
---|
<Property name="gelfLevel">OFF</Property> <Property name="gelfHost">udp:lab3-test.eltex.loc</Property> <Property name="gelfPort">12201</Property> |
- Уровень логирования:
Без форматирования |
---|
<Root level="ERROR"> |