Je viens de faire ce qui est dans la documentation.
https://docs.microsoft.com/ja-jp/azure/azure-monitor/app/java-agent
Je me sens comme cela.
Cette image peinte en noir est issue d'une mystérieuse demande qui a pris 5 minutes pour se terminer. Vous pouvez voir que la requête SQL est exécutée 4 fois et qu'il y a environ 2 putains de requêtes. Si vous cliquez sur l'une des requêtes, SQL apparaîtra dans la commande à droite.
Le contenu du SQL est préparé en SQL probablement parce qu'il utilise PreparedStatement, et il semble que vous ne pouvez pas le voir tant que le paramètre n'est pas "?". (Au contraire, même si elles sont enterrées, des informations confidentielles peuvent être visibles, donc je pense que c'est bien) Je ne connais même pas l'emplacement du code appelé. Mais si vous êtes un exécutant, ce sera assez utile.
Bien sûr, étant donné que les informations de requête de base de données sont envoyées à Application Insights, cela prend beaucoup de transfert, alors faites attention à ce point.
--Application Java --Application Insights a été installé
Il semble que JavaAgent soit utilisé pour modifier le fichier de classe lors de la lecture de la classe avec le chargeur de classe et pour écrire la télémétrie.
Tout ce que vous avez à faire est d'incorporer le JavaAgent pour pouvoir l'utiliser sans modifier le code en cours d'exécution.
--Télécharger le fichier javaagent
--Créez AI-Agent.xml au même emplacement
--Ajout de -javaagent: ...
à l'argument JVM
La procédure d'installation est supposée être sur Azure WebApp, mais les applications Web Java ne sont pas limitées à Azure WebApp et peuvent être installées simplement en lisant un peu.
Puisqu'il est publié sur https://github.com/microsoft/ApplicationInsights-Java/releases/, saisissez l'agent ** qui correspond à la version ** Application Insights installée.
Avec Azure WebApp, procédez comme suit sur kudu. Je pense que cela ne gênera pas D: \ home \ data
, mais veuillez le modifier comme il convient.
cd D:\home\data
curl -LO https://github.com/microsoft/ApplicationInsights-Java/releases/download/2.1.1/applicationinsights-agent-2.1.1.jar
ʻCréez un fichier appelé AI-Agent.xml` au même emplacement que le ** fichier jar que vous avez téléchargé précédemment **.
Vous pouvez copier et coller le contenu suivant.
AI-Agent.xml
<?xml version="1.0" encoding="utf-8"?>
<ApplicationInsightsAgent>
<Instrumentation>
<BuiltIn enabled="true"> <!--N'oubliez pas de regarder également l'attribut enabled ici.-->
<JDBC enabled="true" /> <!--Envoyer l'heure d'exécution de la requête et préparer la télémétrie SQL lors de l'interrogation avec JDBC-->
</BuiltIn>
</Instrumentation>
</ApplicationInsightsAgent>
Cette fois, il ne s'agit que de JDBC, mais il semble que vous puissiez suivre certains appels HTTP, etc. dans les paramètres.
-javaagent: ...
à l'argument JVMAjoutez ce qui suit aux arguments JVM: Remplacez le chemin du fichier comme il convient.
-javaagent:D:/home/data/applicationinsights-agent-2.1.1.jar
Pour les applications qui s'exécutent sur Tomcat, les variables d'environnement «JAVA_OPTS» et «CATALINA_OPTS» conviennent.
Pour Azure Web App, utilisez les paramètres d'application ou web.config de kudu. Cependant, veuillez prendre cela en considération car ** les paramètres de l'application ont priorité **.
Un redémarrage est nécessaire pour charger le javaagent.
c'est tout.
À l'heure actuelle, il semble qu'il n'est pas possible d'envoyer uniquement lorsque cela prend du temps.
Par exemple, les requêtes connues pour être suffisamment rapides ou «SELECT 1» lors de la vérification de la pourriture lorsqu'elles sont retirées du pool à l'aide du pool de connexions enverront également des données de télémétrie. Si vous voulez l'empêcher, vous devez écrire un filtre. Le problème suivant présente un exemple d'implémentation du processeur de télémétrie.
Référence: https://github.com/microsoft/ApplicationInsights-Java/issues/837#issuecomment-471610584
Recommended Posts