Пульт.Онлайн /

Проблемы и решения

1. После успешной установки не удается получить доступ к веб-интерфейсу
2. Установка прерывается ошибкой вида "-ash: ./init: not found"
3. Не работает один или несколько сетевых сервисов
4. Шлюз не подключается к серверу


1. После успешной установки не удается получить доступ к веб-интерфейсу

Проверьте настройки фаервола, скорее всего закрыт порт веб-интерфейса. Открыть порт можно попробовать с помощью данного скрипта:

#!/bin/bash
if hash firewall-cmd 2>/dev/null; then
firewall-cmd --permanent --zone=public --add-port=$1/tcp
firewall-cmd --permanent --zone=public --add-port=$1/udp
echo "Reload firewall..."
firewall-cmd --reload
else
iptables -I INPUT -p tcp -m tcp --dport $1 -j ACCEPT
iptables -I INPUT -p tcp -m udp --dport $1 -j ACCEPT
fi

Сохраните скрипт, например как openport.sh, затем назначьте разрешение на выполнение и выполните, указав первым параметром номер порта:

chmod +x openport.sh
./openport.sh 80

Если интерфейс все еще недоступен, перейдите к пункту 3


2. Установка прерывается ошибкой вида "-ash: ./init: not found"

Вероятнее всего, на устройстве вместо Bash используется другая командная оболочка. Перейдите в каталог установки и замените в скриптах init, register, start, stop, restart и status первую строку #!/bin/bash на #!/bin/sh (или на #!/bin/dash, #!/bin/ash и тд.). Замену можно сделать и в дистрибутиве, скачав и распаковав архив pult_xxxxxx_xxxxxx_xxx.tar.gz.


3. Не работает один или несколько сетевых сервисов

a) Выполните команду ./status чтобы убедится что сервисы Пульт.Онлайн запущены и работают

cd /pult_server
./status

Результатом выполнения данной команды должен быть список сервисов и их статусов:

STATUS OF PULT.ONLINE SERVICES
RESULT: {
    builder: running
    core: running
    db: running
    drv_alarm: running
    ...
    drv_virt: running
    server: running (25 errors)
    trends: running
}

Здесь running означает, что сервис запущен. Если статус сервиса содержит N errors - выполните команду ./status <имя_сервиса> чтобы определить причину сбоя:

./status server

Результат команды:

STATUS OF PULT.ONLINE SERVICES
RESULT: {
    name: server
    path: /pult/services/server/pult_server
    pid: 0
    cpu_usage: 0
    cpu_usage_avg: 0.147
    mem_usage: 3464
    status: running
    errors: 25
    last_error_time: Nov 15 00:20:47.415
    last_error_timestamp: 1731630047415
    last_error_code: 3101
    last_error_message: ERROR bind port 80: Address already in use
}

В поле last_error_message будет указана причина сбоя. В данном примере порт 80 уже занят другим приложением. В таком случае определите приложение, занимающее порт, отключите его или перенастройте на другой порт. Получить список приложений и занятых ими портов можно командой netstat:

netstat -tulpn

б) Проверьте, открыт ли порт в фаерволе (см пункт 1)

в) Для сервиса server проверьте в настройках сервиса следующие параметры:

port_http=80
port_https=0
allowed_ip=*

Убедитесь, что port_http и port_https указывает на верный номер порта, а IP клиента, подключающегося к сервису, соответствует маске адресов, определенных в параметре allowed_ip (* - разрешено подключение с любых IP).

г) Для других сервисов проверьте в настройках сервиса следующие параметры:

listen_tcp_port=1
tcp_port=502
allowed_ip=*

Убедитесь, что listen_tcp=1, tcp_port указывает на верный номер порта, а IP клиента, подключающегося к сервису, соответствует маске адресов, определенных в параметре allowed_ip (* - разрешено подключение с любых IP). При необходимости измените


4. Шлюз не подключается к серверу

  • Неправильные параметры подключения

    • Убедитесь, что адрес сервера, порт и настройки SSL указаны верно
      • Откройте веб-интерфейс шлюза (порт 8008)
      • На вкладке Сервисы выберите сервис gateway_setup
      • Проверьте параметры:
        • gateway_mac: MAC-адрес шлюза, должен соответствовать заведенному на сервере шлюзу
        • server_host: IP или доменное имя сервера, без http://
        • server_port: Порт сервера, обычно 443 для SSL и 80 для нешифрованного трафика
        • server_ssl_enabled: По настройкам сервера (как правило, вкл. если порт 443, иначе - откл.)
        • server_check_cert: (Если server_ssl_enabled) данная опция включает проверку сертификата сервера. Если сертификат не соответствует доменному имени, соединение не будет установлено. Отключите server_check_cert если на сервере используется самоподписной сертификат (такой сертификат сервер генерирует автоматически при включении SSL и отсутствии других сертификатов).
  • Проблемы с сетью

    • Проверьте, есть ли у шлюза доступ в интернет (если сервер удаленный):
      • подключитесь к устройству по SSH и выполните ping 8.8.8.8
    • Проверьте, доступен ли сервер из сети, где находится шлюз:
      • подключитесь к устройству по SSH и выполните ping <IP сервера>
    • Убедитесь, что нет блокировки соединения брандмауэром или NAT.
  • Ошибки на стороне сервера

    • На сервере шлюз должен быть создан в одном из проектов и отображаться в разделе Система → Шлюзы.
    • Даже при отсутствии шлюза в проектах, подключающийся шлюз должен отображаться в разделе Система → Шлюзы (с ошибкой [04243] Шлюз не завден в проектах).
    • Убедитесь, что в свойствах шлюза в Редакторе задан MAC и он соответствует gateway_mac в настройках шлюза.
    • Убедитесь, что проект собран после добавления шлюза в проект.
    • При наличии ошибки напротив шлюза [04244] Неверный секретный ключ выделите шлюз и сбросьте секретный ключ (данная проблема могла возникнуть при переустановке шлюза, в результате которой секретный ключ шлюза изменился, а MAC остался прежний).
  • Логирование и диагностика

    • Включите логи шлюза:
      • В веб-интерфейсе перейдите на вкладку Лог
      • Включите сервис CONNECT
      • Включите уровни логирования LOG_APP,LOG_API, LOG_NS (опционально)
      • Нажмите Применить
  Email
  SMS
   fdb_list
   fdb_load
   fdb_move
   fdb_paths
   node_list
   subscribe
   var_get
   var_list
   var_set