Introducción¶
El agente Elastic APM .NET mide automáticamente el rendimiento de su aplicación y realiza un seguimiento de los errores. Tiene soporte incorporado para los marcos más populares, así como una API simple que le permite instrumentar cualquier aplicación.
El agente registra automáticamente los métodos de devolución de llamada para los eventos de fuente de diagnóstico integrados. Con esto, los marcos admitidos activan el código del agente para eventos relevantes para medir su duración y recopilar metadatos, como declaraciones de base de datos, así como información relacionada con HTTP, como URL, parámetros y encabezados. Estos eventos, llamados transacciones y tramos, se envían al servidor APM. El servidor APM los convierte a un formato adecuado para Elasticsearch y los envía a un clúster de Elasticsearch. Luego puede usar la aplicación APM en Kibana para obtener información sobre los problemas de latencia y los culpables de errores dentro de su aplicación
Nos ayuda a monitorear servicios de software y aplicaciones en tiempo real lo que facilita detectar y resolver problemas de rendimiento de forma rápida, ver por que aplicaciones viaja nuestra lógica de negocio y así poder obtener las trazas y visibilidad de nuestra aplicación. Sus amplias capacidades de pila completa incluyen soporte de lenguajes para Java, . NET, Go, Node.
PreRequisitos¶
Tenes actualizada la versión de Andreani.Arq.WebHost a la 6.1.0
ElasticApm:
ServerUrl: "{SERVER APM}"
ServiceName: "{proyecto-applicationName}"
Environment: ""Development" || "QA" || "Production""
Warning
El campo "Environment" discrimina en el apm el ambiente del servicio y se utiliza para las busquedas.
Se debe estandarizar el ambiente con la siguiente nomenclaruta
"Development" || "QA" || "Production"
Info
ServerUrl: "{Url del servidor de Apm de test}"
para apuntar a prod se debe utilizar el siguiente
ServerUrl: "{Url del servidor de Apm productivo}"
Environment : "Production"
A tener en cuenta¶
Uno de los objetivos como se mencionó anteriormente es poder obtener la traza de nuestro servicio esto engloba también los servicios que forman parte de su ecosistema donde pueden o no interactuar entre si.
Por este motivo se recomienda que los equipos esten alineados con la nomenclatura en sus nombres utilizando el mismo nombre de proyecto.
Por ejemplo :
ServiceName: "IoT-sucursales"
ServiceName: "IoT-viajes"