Desde que estamos subiendo Business Central a la nube, notamos una cierta perdida de control en las instalaciones de los clientes: "Desde hace unos días Business Central me va lento", "Tarda mucho en ejecutar este proceso", ... Esas mismas cuestiones las podías intentar resolver desde tu servidor de SQL en on-premise, logicamente teniendo expertos y descifrando trazas, pero te puedo asegurar que no todas las empresas se pueden permitir tener especialistas con capacidad de descubrir estas incidencias.
Vale, y ahora, ¿como controlamos estas incidencias? El servidor lo mantiene Microsoft y nosotros no tenemos acceso a él, pero... para ayudarnos, disponemos de la telemetría. Pero Roberto... ¿de que me estás hablando? En mi Navision no había cosas de esas... Lo siento, hay que reciclarse 😉
Telemetría en Business Central
Business Central emite señales para analizar y comprobar el correcto funcionamiento del sistema. Solamente tienes que capturarlas para poder visualizar el estado de salud de instalación en un Power BI por ejemplo.
Aquí te dejo en enlace a la documentación oficial:
Vamos a empezar de cero y veremos en el ejemplo, como capturar quien todavía está usando autorización por Web Key (si, si, estamos en Septiembre de 2022 y después de más de un año avisando, algunos todavía no lo han cambiado y le sigue saliendo este mensaje):
Paso 1. Crea un recurso de Azure Application Insights
Las señales que Business Central emite, se pueden recoger mediante el recurso de Azure Application Insights:
Al empezar a crearlo, nos solicita los parametros habituales (suscripción, grupo de recursos, nombre, ...)
Paso 2. Conectando nuestro tenant de Business Central a nuestra Application Insights
Una vez que el recurso se ha creado, ya podemos conectar nuestro Business Central para que empiece a analizar.Lo primero que necesitamos es la cadena de conexión, esto es, como se conectará Business Central a nuestro recurso de Application Insights. Para ello iremos al recurso recien creado de Azure y la obtenemos:
Lo lógico es que analicemos entornos de producción y no entornos sandbox, pero por poder, puedes enlazar Application Insights en cualquier entorno, no solo SaaS, también on-premise.
Para un entorno On-Prem deberíamos de usar el siguiente comando de Power Shell:
Set-NAVServerConfiguration -ServerInstance BC200 -Tenant tenant1 -Keyname ApplicationInsightsConnectionString -Keyvalue 'InstrumentationKey=11111111-2222-3333-4444-555555555555;IngestionEndpoint=https://westeurope-1.in.applicationinsights.azure.com/'
Para nuestro entorno SaaS, lo que hacemos es ir al Admin Center, localizar el entorno a analizar y añadir la cadena de conexión en el lugar adecuado.
NOTA: Recuerda que se reiniciará el entorno, por lo que debes hacerlo fuera de horas de trabajo.
Una vez reiniciado el servidor, ya estamos en disposición de recibir información.
Para ayudar a resolver e indentificar problemas más rápidamente Business Central asigna a cada uno de los usuarios un ID específico para telemetría, de forma que cuando analicemos los datos, podamos saber el usuario afectado.
Paso 3. Vamos a ver datos
Una vez conectado nuestro entorno para comprobar la telemetría, solamente nos queda ver y analizar datos.
Volvemos a Application Insights y buscamos en el menú registros, ejecutamos una consulta de Kusto Query Language (KQL) como la siguiente (que significa muestrame las últimas 100 trazas ordenadas por fecha descendente):
traces | take 100 | sort by timestamp desc
Y, ahí los tenemos... el sistema nos muestra los últimos movimientos. Incluyendo un acceso por web key realizado.
Paso 4. Usando KQL
Paso 5. Usando Power BI
No tan rápido compañero. Lo que estas viendo son los datos de ejemplo que vienen, pero no tus datos (los de tus tenants que es lo que necesitamos). Así que lo que tenemos que hacer es conectarnos a nuestro Application Insights.
1 comentario:
Genial artículo. Me surge una duda. Si necesitas tener telemetría activada para varias empresas, ¿creas un recurso para cada una de ellas? Porque entonces, entiendo que si utilizaras el mismo recurso de Azure para varias, ¿llegaría un momento en que si tienes marcado un límite diario de datos para no incurrir en coste se alcanzaría enseguida? Saludos.
Publicar un comentario