Разработка сайта для Вашего бизнеса. Веб дизайн. Дизайн логотипа, фирменного стиля, рекламная фотография . Комплексный рекламный креатив.

Ralex. We do the work.
На рынке с 1999го года. Средняя ценовая категория. Ориентация на эффективность решений.
Ознакомтесь с нашим портфолио
Узнайте больше о услугах
Свяжитесь с нами:
E-mail: [email protected]
Tel: (044) 587 - 84 - 78
Custom web design & дизайн и разработка сайта "под ключ"
Креативный, эффективный дизайн. Система управления сайтом (СУС).
Custom flexible разработка систем электронной коммерции
Система e-commerce разрабатывается под индивидуальные потребности. Гибкая функциональность.
Search Engine Optimzation & оптимизация под поисковые системы (SEO)
Постоянная оптимизация и мониторинг сайта в поисковых системах. Достигаем результата быстро и эффективно
Custom logo design & дизайн логотипа и фирменного стиля
Многолетний опыт. Огромное портфолио. Уникальное предложение и цена.
профессиональная рекламная фотография
креативно, смело, качественно
Custom logo design & рекламный креатив. дизайн рекламы
Многолетний опыт. Огромное портфолио. Уникальное предложение и цена.

Пошук та усунення несправностей в Azure IoT Edge

  1. Запустіть iotedge, команду «перевірити» Run the iotedge 'check' command
  2. Стандартні дії діагностики Standard diagnostic steps
  3. Перевірте стан диспетчера безпеки Edge Інтернету речей та його журнали Check the status of the IoT Edge Security Manager and its logs
  4. Якщо диспетчер безпеки IoT Edge не запущено, перевірте YAML-файл конфігурації. If the IoT Edge Security...
  5. Перевірка журналів контейнерів на наявність помилок Check container logs for issues
  6. Перегляньте повідомлення, що відправляються через Центр IoT Edge View the messages going through the IoT Edge hub
  7. Перезапуск контейнерів Restart containers
  8. Перезапустіть диспетчер безпеки IoT Edge: Restart the IoT Edge security manager
  9. Агент IoT Edge зупинить роботу після приблизно через хвилину IoT Edge agent stops after about a minute
  10. Першопричина Root cause
  11. Способи усунення: Resolution
  12. Збій запуску центру IoT Edge IoT Edge hub fails to start
  13. Першопричина Root cause
  14. Способи усунення: Resolution
  15. Агент IoT Edge не може отримати доступ до образу модуля (403) IoT Edge agent can not access a module's image (403)
  16. Першопричина Root cause
  17. Способи усунення: Resolution
  18. Збій керуючої програми безпеки IoT Edge з неприпустимим ім'ям вузла IoT Edge security daemon fails with an invalid hostname
  19. Першопричина Root cause
  20. Способи усунення: Resolution
  21. Проблеми з надійністю на пристроях з обмеженими ресурсами Stability issues on resource constrained devices
  22. Першопричина Root cause
  23. Способи усунення: Resolution
  24. Неможливо отримати журнали керуючої програми IoT Edge в Windows Can not get the IoT Edge daemon logs on Windows
  25. Першопричина Root cause
  26. Способи усунення: Resolution
  27. Модулю IoT Edge не вдається відправити повідомлення edgeHub, і виникає помилка 404 IoT Edge module...
  28. Першопричина Root cause
  29. Способи усунення: Resolution
  30. Правила конфігурації брандмауер и порту для розгортання IoT Edge Firewall and Port configuration rules for IoT Edge deployment
  31. Модуля агента Edge постійно звіти «порожній config file» і модулі не запустите на пристрої Edge Agent...
  32. Кореневих причин Potential root cause
  33. Способи усунення: Resolution
  34. Подальші дії Next steps

Наша взаимовыгодная связь https://banwar.org/

Якщо при запуску Azure IoT Edge в вашому середовищі виникають проблеми, використовуйте цю статтю як керівництво для усунення неполадок. If you experience issues running Azure IoT Edge in your environment, use this article as a guide for troubleshooting and resolution.

Запустіть iotedge, команду «перевірити» Run the iotedge 'check' command

Першим кроком при усуненні неполадок Edge Інтернету речей слід використовувати check команду, яка виконує набір тестів, конфігурації і можливостей підключення для поширених проблем. Your first step when troubleshooting IoT Edge should be to use the check command, which performs a collection of configuration and connectivity tests for common issues. check Команда доступна в випуску 1.0.7 і пізніших версій. The check command is available in release 1.0.7 and later.

Можна запустити check команду в такий спосіб або включати --help прапор, щоб переглянути повний список параметрів: You can run the check command as follows, or include the --help flag to see a complete list of options:

Типи перевірок, виконати за допомогою засобу можна класифікувати як: The types of checks run by the tool can be classified as:

  • Перевірка конфігурації: Перевіряє відомості, які можуть перешкоджати прикордонні пристрої з підключенням до хмари, включаючи проблеми з config.yaml і обробник контейнерів. Configuration checks: Examines details that could prevent Edge devices from connecting to the cloud , including issues with config.yaml and the container engine.
  • Перевіряє підключення: перевіряє, Виконавча IoT Edge можуть звертатися до порти на пристрої вузла і всі компоненти Edge Інтернету речей можна підключитися до центру Інтернету речей. Connection checks: Verifies the IoT Edge runtime can access ports on the host device and all the IoT Edge components can connect to the IoT Hub.
  • Перевірки готовності робітничому середовищі: Виконує пошук рекомендованих рекомендації для робочого середовища, наприклад стан пристрою центрів сертифікації (ЦС), сертифікати та Конфігурація файлу журналу модуля. Production readiness checks: Looks for recommended production best practices, such as the state of device certificate authority (CA) certificates and module log file configuration.

Повний список діагностичних перевірок, див. Розділ вбудовані, усунення неполадок функції . For a complete list of diagnostic checks, see Built-in troubleshooting functionality .

Стандартні дії діагностики Standard diagnostic steps

Якщо виникають проблеми, спочатку дізнатися докладніше про стан пристрою IoT Edge, переглянувши журнали контейнера і повідомлення, передані на пристрій і з нього. If you encounter an issue, you can learn more about the state of your IoT Edge device by reviewing the container logs and the messages that pass to and from the device. Для збору відомостей використовуйте команди і інструменти, наведені в цьому розділі. Use the commands and tools in this section to gather information.

Перевірте стан диспетчера безпеки Edge Інтернету речей та його журнали Check the status of the IoT Edge Security Manager and its logs

У Linux On Linux:

  • Щоб переглянути стан диспетчера безпеки IoT Edge, використовуйте наступну команду: To view the status of the IoT Edge Security Manager:

    sudo systemctl status iotedge

  • Щоб переглянути журнали диспетчера безпеки IoT Edge, використовуйте наступну команду: To view the logs of the IoT Edge Security Manager:

    sudo journalctl -u iotedge -f

  • Щоб переглянути докладніші відомості журналів диспетчера безпеки IoT Edge, зробіть наступне. To view more detailed logs of the IoT Edge Security Manager:

    • Змініть параметри керуючої програми IoT Edge: Edit the iotedge daemon settings:

      sudo systemctl edit iotedge.service

    • Оновлення наступні рядки: Update the following lines:

      [Service] Environment = IOTEDGE_LOG = edgelet = debug

    • Перезапустіть керуючу програму безпеки IoT Edge: Restart the IoT Edge Security Daemon:

      sudo systemctl cat iotedge.service sudo systemctl daemon-reload sudo systemctl restart iotedge

Дії для ОС Windows. On Windows:

  • Щоб переглянути стан диспетчера безпеки IoT Edge, використовуйте наступну команду: To view the status of the IoT Edge Security Manager:

    Get-Service iotedge

  • Щоб переглянути журнали диспетчера безпеки IoT Edge, використовуйте наступну команду: To view the logs of the IoT Edge Security Manager:

    . {Invoke-WebRequest -useb aka.ms/iotedge-win} | Invoke-Expression; Get-IoTEdgeLog

Якщо диспетчер безпеки IoT Edge не запущено, перевірте YAML-файл конфігурації. If the IoT Edge Security Manager is not running, verify your yaml configuration file

попередження

Файли YAML не може містити вкладок як відступи. YAML files can not contain tabs as indentation. Замість цього використовуйте подвійні пробіли. Use 2 spaces instead.

У Linux On Linux:

sudo nano /etc/iotedge/config.yaml

Дії для ОС Windows. On Windows:

notepad C: \ ProgramData \ iotedge \ config.yaml

Перевірка журналів контейнерів на наявність помилок Check container logs for issues

Після запуску програми, що управляє безпеки IoT Edge перевірте журнали контейнерів на наявність помилок. Once the IoT Edge Security Daemon is running, look at the logs of the containers to detect issues. Почніть з розгорнутих контейнерів, а потім перегляньте контейнери, які складають середу виконання IoT Edge: edgeAgent і edgeHub. Start with your deployed containers, then look at the containers that make up the IoT Edge runtime: edgeAgent and edgeHub. Журнали агента IoT Edge зазвичай містяться відомості про життєвий цикл кожного контейнера. The IoT Edge agent logs typically provide info on the lifecycle of each container. У журналах центру Edge Інтернету речей містяться відомості про маршрутизації та обміну повідомленнями. The IoT Edge hub logs provide info on messaging and routing.

iotedge logs <container name>

Перегляньте повідомлення, що відправляються через Центр IoT Edge View the messages going through the IoT Edge hub

Можна переглядати повідомлення, що відправляються через Центр IoT Edge і отримати докладні відомості з докладних журналів контейнерів в середовищі виконання. You can view the messages going through the IoT Edge hub, and gather insights from verbose logs from the runtime containers. Щоб увімкнути докладних журналів в цих контейнерах, задайте значення RuntimeLogLevel в файлі конфігурації YAML. To turn on verbose logs on these containers, set RuntimeLogLevel in your yaml configuration file. Щоб відкрити цей файл, виконайте наступне. To open the file:

У Linux On Linux:

sudo nano /etc/iotedge/config.yaml

Дії для ОС Windows. On Windows:

notepad C: \ ProgramData \ iotedge \ config.yaml

За замовчуванням елемент agent буде виглядати, як показано в прикладі нижче: By default, the agent element will look like the following example:

agent: name: edgeAgent type: docker env: {} config: image: mcr.microsoft.com/azureiotedge-agent:1.0 auth: {}

Замість env: {} вставте наступний фрагмент: Replace env: {} with:

env: RuntimeLogLevel: debug

попередження

YAML-файли не можуть містити відступи у вигляді табуляції. YAML files can not contain tabs as identation. Замість цього використовуйте подвійні пробіли. Use 2 spaces instead.

Збережіть файл і запустіть диспетчер безпеки IoT Edge. Save the file and restart the IoT Edge security manager.

Можна також перевірити повідомлення, відправлені між Центром Інтернету речей і пристроями IoT Edge. You can also check the messages being sent between IoT Hub and the IoT Edge devices. Перегляньте ці повідомлення за допомогою розширення Набір засобів для Центру Інтернету речей Azure (Колишня назва - "Набір засобів для Інтернету речей Azure") для Visual Studio Code. View these messages by using the Azure IoT Hub Toolkit extension (formerly Azure IoT Toolkit extension) for Visual Studio Code. Додаткові відомості див. У записи блогу про зручному засобі при розробці за допомогою Центру Інтернету речей Azure . For more information, see Handy tool when you develop with Azure IoT .

Перезапуск контейнерів Restart containers

Після вивчення журналів і повідомлень можна спробувати перезапустити контейнери: After investigating the logs and messages for information, you can try restarting containers:

iotedge restart <container name>

Перезапустіть контейнери середовища виконання IoT Edge: Restart the IoT Edge runtime containers:

iotedge restart edgeAgent && iotedge restart edgeHub

Перезапустіть диспетчер безпеки IoT Edge: Restart the IoT Edge security manager

Якщо проблема не зникла, спробуйте перезапустити диспетчер безпеки IoT Edge. If issue is still persisting, you can try restarting the IoT Edge security manager.

У Linux On Linux:

sudo systemctl restart iotedge

Дії для ОС Windows. On Windows:

Stop-Service iotedge -NoWait sleep 5 Start-Service iotedge

Агент IoT Edge зупинить роботу після приблизно через хвилину IoT Edge agent stops after about a minute

Модуль edgeAgent починається працює близько хвилини, а потім зупиняється. The edgeAgent module starts and runs successfully for about a minute, then stops. У журналах вказується, що агент IoT Edge намагається підключитися до центру Інтернету речей по протоколу AMQP, а потім намагається підключитися за допомогою AMQP через WebSocket. The logs indicate that the IoT Edge agent attempts to connect to IoT Hub over AMQP, and then attempts to connect using AMQP over WebSocket. Якщо це не вдається, агент IoT Edge завершує роботу. When that fails, the IoT Edge agent exits.

Приклад edgeAgent logs: Example edgeAgent logs:

2017-11-28 18:46:19 [INF] - Starting module management agent. 2017-11-28 18:46:19 [INF] - Version - 1.0.7516610 (03c94f85d0833a861a43c669842f0817924911d5) 2017-11-28 18:46:19 [INF] - Edge agent attempting to connect to IoT Hub via AMQP ... 2017 -11-28 18:46:49 [INF] - Edge agent attempting to connect to IoT Hub via AMQP over WebSocket ...

Першопричина Root cause

Мережева конфігурація мережі вузла перешкоджає отриманню доступу до мережі агентом IoT Edge. A networking configuration on the host network is preventing the IoT Edge agent from reaching the network. Спочатку агент намагається підключитися через AMQP (порт 5671). The agent attempts to connect over AMQP (port 5671) first. Якщо це не вдається, він намагається підключитися через WebSocket (порт 443). If the connection fails, it tries WebSockets (port 443).

Середовище виконання IoT Edge налаштовує мережу для всіх модулів, з якими потрібно взаємодіяти. The IoT Edge runtime sets up a network for each of the modules to communicate on. У Linux цією мережею є бруківка мережу. On Linux, this network is a bridge network. У Windows використовується NAT. On Windows, it uses NAT. Ця проблема найчастіше зустрічається на пристроях з Windows, які використовують контейнери Windows з мережею NAT. This issue is more common on Windows devices using Windows containers that use the NAT network.

Способи усунення: Resolution

Повинен бути маршрут до Інтернету для IP-адрес, призначених цій бруківці мережі або мережі NAT. Ensure that there is a route to the internet for the IP addresses assigned to this bridge / NAT network. Іноді конфігурація VPN на вузлі переопределяет мережу IoT Edge. Sometimes a VPN configuration on the host overrides the IoT Edge network.

Збій запуску центру IoT Edge IoT Edge hub fails to start

EdgeHub модуля завершується помилкою, і відображається наступне повідомлення в журнали: The edgeHub module fails to start, and prints the following message to the logs:

One or more errors occurred. (Docker API responded with status code = InternalServerError, response = {\ "message \": \ "driver failed programming external connectivity on endpoint edgeHub (6a82e5e994bab5187939049684fb64efe07606d2bb8a4cc5655b2a9bad5f8c80): Error starting userland proxy: Bind for 0.0.0.0:443 failed: port is already allocated \ "} \ n)

Першопричина Root cause

На сервері пов'язаний порт 443 використовується для іншого процесу. Some other process on the host machine has bound port 443. Концентратор IoT Edge зіставляє порти 5671 і 443 для використання в сценаріях шлюзу. The IoT Edge hub maps ports 5671 and 443 for use in gateway scenarios. Якщо з цим портом пов'язаний інший процес, таке зіставлення портів завершується збоєм. This port mapping fails if another process has already bound this port.

Способи усунення: Resolution

Знайдіть і зупиніть процес, який використовує порт 443. Find and stop the process that is using port 443. Таким процесом зазвичай є веб-сервер. This process is usually a web server.

Агент IoT Edge не може отримати доступ до образу модуля (403) IoT Edge agent can not access a module's image (403)

Запуск контейнера завершується збоєм, а журнали edgeAgent відображається помилка 403. A container fails to run, and the edgeAgent logs show a 403 error.

Першопричина Root cause

Агент Iot Edge не має дозволу на доступ до образу модуля. The Iot Edge agent does not have permissions to access a module's image.

Способи усунення: Resolution

Переконайтеся, що в маніфесті розгортання правильно вказані облікові дані реєстру. Make sure that your registry credentials are correctly specified in your deployment manifest

Збій керуючої програми безпеки IoT Edge з неприпустимим ім'ям вузла IoT Edge security daemon fails with an invalid hostname

Команда sudo journalctl -u iotedge завершується помилкою і відображає таке повідомлення: The command sudo journalctl -u iotedge fails and prints the following message:

Error parsing user input data: invalid hostname. Hostname can not be empty or greater than 64 characters

Першопричина Root cause

Середовище виконання IoT Edge підтримує тільки імена вузлів, які коротше 64 символів. The IoT Edge runtime can only support hostnames that are shorter than 64 characters. Фізичні комп'ютери зазвичай не мають довгих імен вузлів. Ця помилка більш типова для віртуальних машин. Physical machines usually do not have long hostnames, but the issue is more common on a virtual machine. Автоматично створювані імена вузлів для віртуальних машин Windows, розміщених в Azure, часто бувають довгими. The automatically generated hostnames for Windows virtual machines hosted in Azure, in particular, tend to be long.

Способи усунення: Resolution

Цю помилку можна усунути, налаштувавши DNS-ім'я віртуальної машини, а потім поставивши DNS-ім'я в якості імені вузла в команді установки. When you see this error, you can resolve it by configuring the DNS name of your virtual machine, and then setting the DNS name as the hostname in the setup command.

  1. На порталі Azure перейдіть на сторінку огляду віртуальної машини. In the Azure portal, navigate to the overview page of your virtual machine.

  2. Виберіть Налаштувати під DNS-ім'ям. Select configure under DNS name. Якщо для віртуальної машини вже налаштоване DNS-ім'я, налаштовувати нове не потрібно. If your virtual machine already has a DNS name configured, you do not need to configure a new one.

  3. Вкажіть значення в поле Метка DNS-імені та виберіть Зберегти. Provide a value for DNS name label and select Save .

  4. Скопіюйте нове DNS-ім'я, яке повинно бути в форматі <DNSnamelabel>. <Vmlocation> .cloudapp.azure.com. Copy the new DNS name, which should be in the format <DNSnamelabel>. <Vmlocation> .cloudapp.azure.com.

  5. У віртуальній машині використовуйте наступну команду для налаштування середовища виконання IoT Edge з DNS-ім'ям: Inside the virtual machine, use the following command to set up the IoT Edge runtime with your DNS name:

    • У Linux On Linux:

      sudo nano /etc/iotedge/config.yaml

    • Дії для ОС Windows. On Windows:

      notepad C: \ ProgramData \ iotedge \ config.yaml

Проблеми з надійністю на пристроях з обмеженими ресурсами Stability issues on resource constrained devices

Ви можете зіткнутися з нестабільною роботою деяких пристроїв з обмеженими ресурсами, таких як Raspberry Pi, особливо якщо вони використовуються в якості шлюзу. You may encounter stability problems on constrained devices like the Raspberry Pi, especially when used as a gateway. Для такої ситуації характерні виключення з повідомленням про брак пам'яті на модулі центру IoT Edge, проблеми з підключенням підлеглих пристроїв і (або) припинення потоку телеметрії після декількох годин роботи пристрою. Symptoms include out of memory exceptions in the edge hub module, downstream devices can not connect or the device stops sending telemetry messages after a few hours.

Першопричина Root cause

Концентратор IoT Edge, який є частиною середовища виконання IoT Edge, оптимізований для роботи за умовчанням і намагається виділити великі блоки пам'яті. The IoT Edge hub, which is part of the IoT Edge runtime, is optimized for performance by default and attempts to allocate large chunks of memory. Це не ідеальний варіант для пристроїв IoT Edge з обмеженими ресурсами, де він може привести до нестабільної роботи. This optimization is not ideal for constrained edge devices and can cause stability problems.

Способи усунення: Resolution

Для центру IoT Edge, задайте змінну середовища OptimizeForPerformance для false. For the IoT Edge hub, set an environment variable OptimizeForPerformance to false. Це можна здійснити двома шляхами: There are two ways to do this:

Через інтерфейс: In the UI:

На порталі перейдіть до відомостей про пристрій> задати модулі> Налаштування розширених можливостей середовища виконання Edge. In the portal, navigate to Device Details> Set Modules> Configure advanced Edge Runtime settings. Створіть змінну середовища для модуля концентратора Edge називається OptimizeForPerformance установки false. Create an environment variable for the Edge Hub module called OptimizeForPerformance that is set to false .

OR OR

Через маніфест розгортання. In the deployment manifest:

"EdgeHub": { "type": "docker", "settings": { "image": "mcr.microsoft.com/azureiotedge-hub:1.0", "createOptions": <snipped>}, "env": { "OptimizeForPerformance": { "value": "false"}},

Неможливо отримати журнали керуючої програми IoT Edge в Windows Can not get the IoT Edge daemon logs on Windows

Якщо при використанні команди Get-WinEvent в Windows повертається виняток EventLogException, перевірте записи реєстру. If you get an EventLogException when using Get-WinEvent on Windows, check your registry entries.

Першопричина Root cause

Використовуючи запис реєстру, команда PowerShell Get-WinEvent шукає журнали за певним імені постачальника (ProviderName). The Get-WinEvent PowerShell command relies on a registry entry to be present to find logs by a specific ProviderName.

Способи усунення: Resolution

Задайте запис реєстру керуючої програми IoT Edge. Set a registry entry for the IoT Edge daemon. Створіть файл iotedge.reg з вказаними нижче вмістом і імпортуйте його до реєстру Windows. Для цього двічі клацніть цей файл або використовуйте команду reg import iotedge.reg. Create a iotedge.reg file with the following content, and import in to the Windows Registry by double -clicking it or using the reg import iotedge.reg command :

Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ EventLog \ Application \ iotedged] "CustomSource" = dword: 00000001 "EventMessageFile" = "C: \\ ProgramData \\ iotedge \\ iotedged.exe" "TypesSupported" = dword: 00000007

Модулю IoT Edge не вдається відправити повідомлення edgeHub, і виникає помилка 404 IoT Edge module fails to send a message to the edgeHub with 404 error

Настроюється модулю IoT Edge не вдається відправити повідомлення в edgeHub, і виникає помилка 404 Module not found. A custom IoT Edge module fails to send a message to the edgeHub with a 404 Module not found error. Керуюча програма IoT Edge виводить в журнали наступне повідомлення: The IoT Edge daemon prints the following message to the logs:

Error: Time: Thu Jun 4 19:44:58 2018 File: /usr/sdk/src/c/provisioning_client/adapters/hsm_client_http_edge.c Func: on_edge_hsm_http_recv Line: 364 executing HTTP request fails, status = 404, response_buffer = { " message ":" Module not found "} u, 04)

Першопричина Root cause

Керуюча програма IoT Edge з міркувань безпеки примусово застосовує ідентифікацію процесу для всіх модулів, що підключаються до edgeHub. The IoT Edge daemon enforces process identification for all modules connecting to the edgeHub for security reasons. Таким чином перевіряється, що всі повідомлення, які відправляються модулем, надходять з ідентифікатора основного процесу модуля. It verifies that all messages being sent by a module come from the main process ID of the module. Якщо повідомлення надсилається модулем з ідентифікатора процесу, відмінного від встановленого раніше, такі повідомлення будуть відхилятися керуючої програмою з помилкою 404. If a message is being sent by a module from a different process ID than initially established, it will reject the message with a 404 error message.

Способи усунення: Resolution

Переконайтеся, що для відправки повідомлень в edgeHub призначений для користувача модуль IoT Edge завжди використовує один і той же ідентифікатор процесу. Make sure that the same process ID is always used by the custom IoT Edge module to send messages to the edgeHub. Наприклад, переконайтеся, що ENTRYPOINT замість CMD команди у файлі Docker, так як CMD призведе до одного процесу ідентифікатор модуля і інший ідентифікатор процесу для команди bash, запустити основної програми, а ENTRYPOINT призведе до Ідентифікатор одного процесу. For instance, make sure to ENTRYPOINT instead of CMD command in your Docker file, since CMD will lead to one process ID for the module and another process ID for the bash command running the main program whereas ENTRYPOINT will lead to a single process ID.

Правила конфігурації брандмауер и порту для розгортання IoT Edge Firewall and Port configuration rules for IoT Edge deployment

Azure IoT Edge Забезпечує зв'язок з локального сервера в хмару Azure с помощью підтрімуваніх протоколів для центру інтернету промов, див. Розділ Вибір протоколу зв'язку . Azure IoT Edge allows communication from an on-premises server to Azure cloud using supported IoT Hub protocols, see choosing a communication protocol . З метою додаткової безпеки КОМУНІКАЦІЙНІ канали между Azure IoT Edge и Центром інтернету промов всегда налаштовані як вихідні. For enhanced security, communication channels between Azure IoT Edge and Azure IoT Hub are always configured to be Outbound. Ця конфігурація засновано на моделі зв'язку з підтрімкою служб , Яка дозволяє знізіті контактну зону, досліджувану шкідлівім об'єктом. This configuration is based on the Services Assisted Communication pattern , Which minimizes the attack surface for a malicious entity to explore. Вхідний трафік потрібно тільки для конкретних сценаріїв, в яких Центр Інтернету речей відправляє повідомлення на пристрій Azure IoT Edge. Inbound communication is only required for specific scenarios where Azure IoT Hub needs to push messages to the Azure IoT Edge device. Повідомлення з хмари на пристрій захищаються за допомогою безпечних каналів TLS і можуть мати додатковий захист при використанні сертифікатів X.509 і модулів пристрою TPM. Cloud-to-device messages are protected using secure TLS channels and can be further secured using X.509 certificates and TPM device modules. Відомості про встановлення зв'язку з цим за допомогою диспетчера безпеки Azure IoT Edge см. В цієї статті . The Azure IoT Edge Security Manager governs how this communication can be established, see IoT Edge Security Manager .

Хоча IoT Edge надає поліпшену конфігурацію для забезпечення безпеки середовища виконання IoT Edge і розгорнутих модулів, при цьому багато як і раніше залежить від базової конфігурації комп'ютера і мережі. While IoT Edge provides enhanced configuration for securing Azure IoT Edge runtime and deployed modules, it is still dependent on the underlying machine and network configuration. Отже, вкрай важливо забезпечити належний мережевий і настройка правила брандмауера для безпечного edge в хмару зв'язку. Hence, it is imperative to ensure proper network and firewall rules are set up for secure edge to cloud communication. Наступна таблиця може використовуватися в разі при конфігурації брандмауера правил для основних серверів розміщення середовища виконання Azure IoT Edge: The following table can be used as a guideline when configuration firewall rules for the underlying servers where Azure IoT Edge runtime is hosted:

Протокол Protocol Port Port Вхідні Incoming Вихідні Outgoing Керівництво Guidance MQTT MQTT 8883 8883 заблокували (за замовчуванням) BLOCKED (Default) заблокували (за замовчуванням) BLOCKED (Default)

  • Вихідні підключення повинні бути відкриті при використанні MQTT як протокол зв'язку. Configure Outgoing (Outbound) to be Open when using MQTT as the communication protocol.
  • IoT Edge не підтримує порт 1883 для MQTT. 1883 for MQTT is not supported by IoT Edge.
  • Вхідні підключення повинні бути заблоковані. Incoming (Inbound) connections should be blocked.

AMQP AMQP 5671 5671 заблокували (за замовчуванням) BLOCKED (Default) ВІДКРИТІ (за замовчуванням) OPEN (Default)

  • Протокол зв'язку за замовчуванням для IoT Edge. Default communication protocol for IoT Edge.
  • Повинен бути відкритий, якщо Azure IoT Edge не налаштований для інших підтримуваних протоколів або якщо AMQP є необхідним протоколом зв'язку. Must be configured to be Open if Azure IoT Edge is not configured for other supported protocols or AMQP is the desired communication protocol.
  • IoT Edge не підтримує порт 5672 для AMQP. 5672 for AMQP is not supported by IoT Edge.
  • Заблокуйте цей порт, якщо Azure IoT Edge використовує інший протокол, підтримуваний Центром Інтернету речей. Block this port when Azure IoT Edge uses a different IoT Hub supported protocol.
  • Вхідні підключення повинні бути заблоковані. Incoming (Inbound) connections should be blocked.

HTTPS HTTPS 443 443 заблокували (за замовчуванням) BLOCKED (Default) ВІДКРИТІ (за замовчуванням) OPEN (Default)

  • Вихідні підключення повинні бути відкриті на порту 443 для підготовки IoT Edge. Configure Outgoing (Outbound) to be Open on 443 for IoT Edge provisioning. Ця конфігурація необхідна при використанні створених вручну сценаріїв або Служби підготовки пристроїв до додаванню в Центр Інтернету речей Azure. This configuration is required when using manual scripts or Azure IoT Device Provisioning Service (DPS).
  • Вхідні підключення повинні бути відкритими лише для зазначених сценаріїв: Incoming (Inbound) connection should be Open only for specific scenarios:
    • Якщо у вас є прозорий шлюз з кінцевими пристроями, які можуть відправляти запити методу. If you have a transparent gateway with leaf devices that may send method requests. В цьому випадку порт 443 не повинен бути відкритий в зовнішніх мережах для підключення до Центру Інтернету речей або надання служб Центру Інтернету речей через Azure IoT Edge. In this case, Port 443 does not need to be open to external networks to connect to IoTHub or provide IoTHub services through Azure IoT Edge. Таким чином, правило для вхідного трафіку може дозволяти відкриття тільки вхідного підключення з внутрішньої мережі. Thus the incoming rule could be restricted to only open Incoming (Inbound) from the internal network.
    • Для сценаріїв передачі даних із хмари на пристрій (C2D). For Client to Device (C2D) scenarios.
  • IoT Edge не підтримує порт 80 для HTTP. 80 for HTTP is not supported by IoT Edge.
  • Якщо на підприємстві неможливо налаштувати протоколи, відмінні від HTTP (наприклад, AMQP або MQTT), повідомлення можуть відправлятися через протоколи WebSocket. If non-HTTP protocols (for example, AMQP or MQTT) can not be configured in the enterprise; the messages can be sent over WebSockets. В цьому випадку для підключення по WebSocket буде використовуватися порт 443. Port 443 will be used for WebSocket communication in that case.

Модуля агента Edge постійно звіти «порожній config file» і модулі не запустите на пристрої Edge Agent module continually reports 'empty config file' and no modules start on the device

Пристрій має складнощів з запуском модулів, задані в розгортанні. The device has trouble starting modules defined in the deployment. Тільки edgeAgent запущений, але має постійно відправляти звіти «порожній файл конфігурації». Only the edgeAgent is running but continually reporting 'empty config file ... ".

Кореневих причин Potential root cause

За замовчуванням IoT Edge запускається модулі у власній мережі ізольованого контейнера. By default, IoT Edge starts modules in their own isolated container network. Пристрій виникли неполадки з дозволом імен DNS в цій приватній мережі. The device may be having trouble with DNS name resolution within this private network.

Способи усунення: Resolution

Варіант 1. Задайте параметри ядра DNS-сервер в контейнері Option 1: Set DNS server in container engine settings

Вкажіть DNS-сервера для вашої середовища в параметри ядра контейнера, які будуть застосовані до всіх модулів контейнер запущений оброблювачем. Specify the DNS server for your environment in the container engine settings which will apply to all container modules started by the engine. Створіть файл з ім'ям daemon.json вказівку DNS-сервер для використання. Create a file named daemon.json specifying the DNS server to use. Приклад: For example:

{ "Dns": [ "1.1.1.1"]}

Наведений вище приклад задає DNS-сервер в загальнодоступній службі DNS. The above example sets the DNS server to a publicly accessible DNS service. Якщо пристрій edge не може отримати доступ до цей IP-адреса з-поміж себе, замініть його адресу DNS-сервера, який доступний. If the edge device can not access this IP from its environment, replace it with DNS server address that is accessible.

Місце daemon.json в належному розташуванні для вашої платформи: Place daemon.json in the right location for your platform:

платформа Platform Розташування Location Linux Linux / etc / docker Вузол Windows з контейнерами Windows Windows host with Windows containers C: \ ProgramData \ iotedge-moby \ config

Якщо розташування вже містить daemon.json додайте dns ключа до нього і збережіть файл. If the location already contains daemon.json file, add the dns key to it and save the file .

Перезапустіть модуль контейнера для поновлення вступили в силу Restart the container engine for the updates to take effect

платформа Platform Команда Command Linux Linux sudo systemctl restart docker Windows (Powershell для адміністраторів) Windows (Admin Powershell) Restart-Service iotedge-moby -Force

Варіант 2. Задайте DNS-сервер в розгортанні IoT Edge на кожен модуль Option 2: Set DNS server in IoT Edge deployment per module

Можна задати DNS-сервер для кожного модуля createOptions в розгортанні IoT Edge. You can set DNS server for each module 's createOptions in the IoT Edge deployment . Приклад: For example:

"CreateOptions": { "HostConfig": { "Dns": [ "xxxx"]}}

Не забудьте зробити це для edgeAgent і edgeHub також модулів. Be sure to set this for the edgeAgent and edgeHub modules as well .

Подальші дії Next steps

Чи вважаєте, що виявили помилку в платформі IoT Edge? Do you think that you found a bug in the IoT Edge platform? Надішліть запит , Щоб ми якомога швидше усунули несправність. Submit an issue so that we can continue to improve.

Якщо у вас є інші питання, створіть запит в службу підтримки для отримання довідки. If you have more questions, create a Support request for help.

Do you think that you found a bug in the IoT Edge platform?
Категории
  • Биология
  • Математика
  • Краеведению
  • Лечебная
  • Наука
  • Физике
  • Природоведение
  • Информатика
  • Новости

  • Новости
    https://banwar.org/
    Наша взаимовыгодная связь https://banwar.org/. Запустив новый сайт, "Пари Матч" обещает своим клиентам незабываемый опыт и возможность выиграть крупные суммы.


    Наши клиенты
    Клиенты

    Быстрая связь

    Тел.: (044) 587-84-78
    E-mail: [email protected]

    Имя:
    E-mail:
    Телефон:
    Вопрос\Комментарий: