Muchachos,
Estoy usando la versión 3.2.4 de applicationinsights.jar en un servidor de aplicaciones Wildfly y puedo ver toda la información en el portal de Azure (Application Insights).
https://docs.microsoft.com/en-us/azure/azure-monitor/app/java-in-process-agent
Sin embargo, necesito hacer esto para muchas instancias de aplicaciones y creo que sería conveniente suprimir ciertos tipos de tipos de telemetría (por ejemplo, dependencias) ya que crea mucho ruido y datos.
¿Es posible hacer esto a través del archivo applicationinsights.json?
¡Cualquier orientación en esto apreciada!
Actualización (5 de enero de 2022): estoy usando una solución sin código mediante la cual toda la configuración y, por lo tanto, la supresión se realiza en el archivo .json.
Las soluciones que involucran enfoques v2 a través de C#/java están fuera del alcance (aunque esto es lo que he usado en el pasado).
https://docs.microsoft.com/en-us/azure/azure-monitor/app/java-standalone-telemetry-processors muestra algunas ideas, pero no es explícito con respecto a la supresión de ciertos tipos, ya que el enfoque predeterminado parece enviar demasiados datos a Azure.
A continuación se muestran algunos pasos para suprimir la telemetría de Application Insights:
Esta es una de las formas posibles.
Puede obtener los detalles completos de este blog
Puede intentar usar muestreo y anulaciones de muestreo (versión preliminar) para lograr los resultados deseados. Aunque no estoy seguro de si puede hacer coincidir fácilmente solo las llamadas de dependencia por ciertos atributos. Las anulaciones de muestreo son la forma recomendada de filtrar la telemetría por razones de costo.
Ejemplo: suprimir la recopilación de telemetría para una llamada de dependencia ruidosa
Esto suprimirá la recopilación de telemetría para todas las llamadas redis GET my-noisy-key.
{ "connectionString": "InstrumentationKey=00000000-0000-0000-0000-000000000000", "preview": { "sampling": { "overrides": [ { "attributes": [ { "key": "db.system", "value": "redis", "matchType": "strict" }, { "key": "db.statement", "value": "GET my-noisy-key", "matchType": "strict" } ], "percentage": 0 } ] } } }También puedes deshabilitar ciertas fuentes de telemetría, aunque admito que esto no es exactamente lo mismo que estás pidiendo:
{ "instrumentation": { "azureSdk": { "enabled": false }, "cassandra": { "enabled": false }, "jdbc": { "enabled": false }, "jms": { "enabled": false }, "kafka": { "enabled": false }, "micrometer": { "enabled": false }, "mongo": { "enabled": false }, "rabbitmq": { "enabled": false }, "redis": { "enabled": false }, "springScheduling": { "enabled": false } } }