Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Оглавление


Описание


Сервис представляет собой интерфейс для взаимодействия компонентов платформы и внешними SMS-шлюзами, Call-центрами и серверами электронной почты. Служит для отправки уведомлений пользователям платформы, а также пользователям Wi-Fi.

ПодсказкаУстанавливается при помощи пакета

Установка сервиса

Блок кода
languagebash
themeRDark
apt-get install eltex-ngw
.


  

Способы запуска/остановки


ДействиеКомандаОтвет
Проверка состоянияservice eltex-ngw status

Сервис запущен

Подсказка

Active: active (running)

Cервис не запущен

Предупреждение

Active: failed


Запуск сервисаservice eltex-ngw start

Сервис успешно запущен

Подсказка

Active: active (running)


Остановка сервисаservice eltex-ngw stop

Сервис успешно остановлен

Подсказка

Active: failed


Перезапуск сервисаservice eltex-ngw restart

Сервис успешно перезапущен

Подсказка

Active: active (running)


Создание пользователя базы данныхeltex-ngw create-db-user
Удаление базы данныхeltex-ngw remove-db

   

  

Конфигурация


/etc/eltex-ngw/notification.properties

Содержит основные настройки сервиса.

Блок кода
languagejs
title/etc/eltex-ngw/notification.properties
collapsetrue
#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

Содержит параметры инициализации сервиса.

Блок кода
languagejs
title/etc/default/eltex-ngw
collapsetrue
# 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

Содержит параметры логирования.

Блок кода
languagexml
titleПример конфигурации/etc/eltex-ngw/log4j2.xml
collapsetrue
<?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">