Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo se muestra cómo implementar el acelerador de soluciones de supervisión remota en la máquina local para pruebas y desarrollo. Aprenderá a ejecutar los microservicios en Visual Studio. Una implementación de microservicios local usa los siguientes servicios en la nube: IoT Hub, Cosmos DB, Azure Streaming Analytics y los servicios de Azure Time Series Insights en la nube.
Si desea ejecutar el acelerador de soluciones de supervisión remota en Docker en la máquina local, consulte Implementación local del acelerador de soluciones de supervisión remota: Docker.
Prerrequisitos
Para implementar los servicios de Azure usados por el acelerador de soluciones de supervisión remota, necesita una suscripción de Azure activa.
Si no tiene una cuenta, puede crear una cuenta de evaluación gratuita en tan solo un par de minutos. Para obtener más información, consulte Evaluación gratuita de Azure.
Configuración de la máquina
Para completar la implementación local, necesita las siguientes herramientas instaladas en la máquina de desarrollo local:
- git
- Docker
- Visual Studio
- Nginx
- Node.js v8 : este software es un requisito previo para la CLI de PCS que los scripts usan para crear recursos de Azure. No utilices Node.js v10.
Nota:
Visual Studio está disponible para Windows y Mac.
Descarga del código fuente
Los repositorios de código fuente de supervisión remota incluyen el código fuente y los archivos de configuración de Docker que necesita para ejecutar las imágenes de Docker de microservicios.
Para clonar y crear una versión local del repositorio, use el entorno de línea de comandos para ir a una carpeta adecuada en el equipo local. A continuación, ejecute uno de los siguientes conjuntos de comandos para clonar el repositorio de .NET:
Para descargar la versión más reciente de las implementaciones de microservicios de .NET, ejecute:
git clone --recurse-submodules https://github.com/Azure/azure-iot-pcs-remote-monitoring-dotnet.git
# To retrieve the latest submodules, run the following command:
cd azure-iot-pcs-remote-monitoring-dotnet
git submodule foreach git pull origin master
Nota:
Estos comandos descargan el código fuente de todos los microservicios además de los scripts que se usan para ejecutar los microservicios localmente. Aunque no necesita el código fuente para ejecutar los microservicios en Docker, el código fuente es útil si más adelante planea modificar el acelerador de soluciones y probar los cambios localmente.
Implementación de los servicios de Azure
Aunque en este artículo se muestra cómo ejecutar los microservicios localmente, dependen de los servicios de Azure que se ejecutan en la nube. Use el siguiente script para implementar los servicios de Azure. En los ejemplos de script siguientes se supone que usa el repositorio de .NET en una máquina Windows. Si está trabajando en otro entorno, ajuste las rutas, las extensiones de archivo y los separadores de rutas adecuadamente.
Creación de nuevos recursos de Azure
Si aún no ha creado los recursos de Azure necesarios, siga estos pasos:
En el entorno de la línea de comandos, vaya a la carpeta \services\scripts\local\launch en la copia clonada del repositorio.
Ejecute los siguientes comandos para instalar la herramienta pcs CLI e inicie sesión en su cuenta de Azure:
npm install -g iot-solutions pcs loginEjecute el script start.cmd. El script le pide la siguiente información:
Un nombre de solución.
La suscripción de Azure que se utilizará.
Ubicación del centro de datos de Azure que se va a usar.
El script crea un grupo de recursos en Azure con el nombre de la solución. Este grupo de recursos contiene los recursos de Azure que usa el acelerador de soluciones. Puede eliminar este grupo de recursos una vez que ya no necesite los recursos correspondientes.
El script también agrega un conjunto de variables de entorno con un prefijo PCS a la máquina local. Estas variables de entorno proporcionan los detalles para que Supervisión Remota pueda leer desde un recurso de Azure Key Vault. Este recurso de Key Vault es donde la supervisión remota leerá sus valores de configuración.
Sugerencia
Cuando se completa el script, también guarda las variables de entorno en un archivo denominado <carpeta principal>\.pcs\<solution name.env>. Puede usarlos para futuras implementaciones del acelerador de soluciones. Tenga en cuenta que las variables de entorno establecidas en el equipo local invalidan los valores del archivo services\scripts\local\.env al ejecutar docker-compose.
Salga de su entorno de línea de comandos.
Uso de recursos de Azure existentes
Si ya ha creado los recursos de Azure necesarios, cree las variables de entorno correspondientes en el equipo local. Establezca las variables de entorno para lo siguiente:
- PCS_KEYVAULT_NAME : nombre del recurso de Azure Key Vault
- PCS_AAD_APPID : identificador de aplicación de AAD
- PCS_AAD_APPSECRET : secreto de aplicación de AAD
Los valores de configuración se leerán de este recurso de Azure Key Vault. Estas variables de entorno se pueden guardar en el archivo <carpeta de inicio>\.pcs\<nombre de la solución>.env de la implementación. Tenga en cuenta que las variables de entorno establecidas en su máquina local sobrescriben los valores en el archivo services\scripts\local\.env al ejecutar docker-compose.
Parte de la configuración necesaria para el microservicio se almacena en una instancia de Key Vault que se creó en la implementación inicial. Las variables correspondientes en keyvault deben modificarse según sea necesario.
Ejecución de los microservicios
En esta sección, ejecutará los microservicios de supervisión remota. La interfaz de usuario web se ejecuta de forma nativa, el servicio Simulación de dispositivos en Docker y los microservicios de Visual Studio.
Ejecución del servicio de simulación de dispositivo
Abra una nueva ventana del símbolo del sistema para asegurarse de que tiene acceso a las variables de entorno establecidas por el script de start.cmd en la sección anterior.
Ejecute el comando siguiente para iniciar el contenedor de Docker para el servicio de simulación de dispositivos. El servicio simula dispositivos para la solución de supervisión remota.
<path_to_cloned_repository>\services\device-simulation\scripts\docker\run.cmd
Implementación de todos los demás microservicios en el equipo local
En los pasos siguientes se muestra cómo ejecutar los microservicios de supervisión remota en Visual Studio:
- Inicie Visual Studio.
- Abra la solución remote-monitoring.sln en la carpeta services de la copia local del repositorio.
- En el Explorador de soluciones, haga clic con el botón derecho en la solución y haga clic en Propiedades.
- Seleccione Proyecto de inicio de propiedades > comunes.
- Seleccione Varios proyectos de inicio y establezca Acción en Iniciar para los siguientes proyectos:
- WebService (asa-manager\WebService)
- WebService (autenticación\WebService)
- WebService (config\WebService)
- WebService (telemetría de dispositivos\WebService)
- WebService (iothub-manager\WebService)
- Servicio Web (adaptador de almacenamiento\Servicio Web)
- Haga clic en Aceptar para guardar las opciones.
- Haga clic en Depurar > Iniciar depuración para compilar y ejecutar los servicios web en el equipo local.
Cada servicio web abre una ventana de comandos y una ventana del explorador web. En el símbolo del sistema, verá la salida del servicio que se está ejecutando y la ventana del navegador le permite supervisar el estado. No cierre las ventanas de comandos ni las páginas web, ya que esta acción detiene el servicio web.
Inicio del trabajo de Stream Analytics
Siga estos pasos para iniciar el trabajo de Stream Analytics:
- Vaya a Azure Portal.
- Vaya al grupo de recursos creado para la solución. El nombre del grupo de recursos es el que eligió para su solución mientras ejecutaba el script start.cmd.
- Haga clic en el trabajo de Stream Analytics en la lista de recursos.
- En la página de información general del trabajo de Stream Analytics, haga clic en el botón Iniciar . A continuación, haga clic en Iniciar para iniciar el trabajo ahora.
Ejecución de la interfaz de usuario web
En este paso, iniciará la interfaz de usuario web. Abra una nueva ventana de comando y asegúrese de que tiene acceso a las variables de entorno establecidas por el script start.cmd. Vaya a la carpeta webui en la copia local del repositorio y ejecute los siguientes comandos:
npm install
npm start
Una vez completado el inicio, el explorador muestra la página http://localhost:3000/dashboard. Se esperan errores en esta página. Para ver la aplicación sin errores, complete el paso siguiente.
Configuración y ejecución de NGINX
Configure un servidor proxy inverso para vincular la aplicación web y los microservicios que se ejecutan en el equipo local:
- Copie el archivo nginx.conf de la carpeta webui\scripts\localhost en la copia local del repositorio en el directorio de instalación nginx\conf .
- Ejecute nginx.
Para obtener más información sobre cómo ejecutar nginx, consulte nginx para Windows.
Conexión al panel
Para acceder al panel de la solución de supervisión remota, vaya a http://localhost:9000 en el explorador.
Limpiar
Para evitar cargos innecesarios, cuando haya terminado la prueba, quite los servicios en la nube de la suscripción de Azure. Para quitar los servicios, vaya a Azure Portal y elimine el grupo de recursos que creó el script start.cmd .
También puede eliminar la copia local del repositorio de supervisión remota creada al clonar el código fuente desde GitHub.
Pasos siguientes
Ahora que ha implementado la solución de supervisión remota, el siguiente paso es explorar las funcionalidades del panel de la solución.