0
votes

Comment envoyer des journaux entiers à Jeaction Span à Quarkus?

Y a-t-il un moyen de mettre les journaux STD fournis par l'application et les erreurs à une étendue? Je voulais mettre des journaux SLF4J fournis à Quarkus et il devrait apparaître à Jeager-ui

​​ Quarkus Informations sur le journal

Application.Properties xxx

ci-dessous sont des dépendances que j'utilise pour atteindre la gestion des journaux centralisées (Elk) .Pour que j'utilise des guides fournis par Quarkus Guide de Quarkus-Centralized-Log-Managemt < / a>

pom.xml xxx


9 commentaires

Eh bien, je ne pense pas que les journaux d'expédition dans Jaeger seraient une bonne idée. Le but principal de Jaeger est la traçabilité et l'observabilité et il devrait être très léger pour éviter une dégradation de la performance. Une belle alternative serait l'impression de Jaeger Trace ID et ID de la plage dans vos journaux (généralement, ils sont également agrégés dans une pile de journaux centralisée comme EFK) et filtrez vos journaux avec ID de trace ou ID de la plage.


Merci de me donner une belle alternative. Mais je voulais savoir s'il existe une manière à Quarkus pour obtenir des événements de préhanne et d'après-completion avec des informations sur la classe / la méthode appelée lors de la exécution de la demande comme nous avons à Springboot


Je pense que vous pouvez trouver une réponse à ce sujet autour de cela autour des intercepteurs de CDI ( docs.jboss.org/weld/reference/1.0.0/fr-us/html/ ... ). Il est également soutenu par Quarkus. Exemple simple ( Tomee.apache.org/examples-trunk/simple-cdi- Intercepteur ).


J'avais mis en place l'alternative que vous avez suggérée, c'est-à-dire en imprimant TraceID et Spanid dans mes journaux et j'ai essayé de configurer Jeager avec Elasticsearch sur Windows Server sans utiliser Docker en recherchant toutes les options disponibles avec zéro Success.Je pense que j'étais allé de mauvaise qualité. Pouvez-vous me fournir un peu d'aide ici?


Premièrement, utilisez une recherche élastique seule ou est-elle avec une sorte de pile comme EFK (élastique / fluentd & kibana)? Deuxièmement, qu'entendez-vous par «à la recherche de toutes les options disponibles avec zéro succès?» Si TraceID et Spanid sont dans les journaux, vous devriez pouvoir les filtrer.


J'utilise Elk (Elastic / Logstash & Kibana) .J'ai réussi à envoyer des données Jeagéreux à Elk.Je joindre une capture d'écran pour la description.First journal que vous voyez dans la liaison ci-dessus (les informations de journal de quarkus (image)) sont configurées. À travers SLF4J qui ne se présente pas à Kibana.Je suis nouveau dans ces concepts.so, veuillez me corriger si je vais mal et excuser mon ignorance.


Une seule enquête, vous mentionnez que vous êtes en mesure d'envoyer des données à Elk, puis de mentionner que cela ne se présente pas sur Kibana, quelle affirmation est vraie?


Désolé pour la création de confusion.Si je crée des journaux à l'aide de (span.log ("....")) Ceux-ci montrent mais non des journaux SLF4J.


Cela ne sera pas configuré automatiquement, vous devez ajouter une certaine configuration dans votre application.Properties. Je vais le poster dans la section de réponse.


3 Réponses :


0
votes

Vous pouvez @Inject Tracer et ajouter vos propres trucs dedans.

Mais je pensais que les erreurs seraient automatiquement connectées à Jaeger, mais je pourrais me tromper.


1 commentaires

Merci pour votre suggestion. Oui, les erreurs seraient automatiquement connectées à Jeager, mais je voulais savoir à quelles conditions nous devons créer des effectifs et utiliser span.log () parce que je suis nouveau pour ouvrir la traçage et la neaction



0
votes

Après avoir configuré vos journaux pour accepter des attributs Jaeger comme pour ex:

quarkus.log.console.format =% d {hh: mm: SS}% -5P [% c {2.}] (% t) [TRACEID =% x {traceID}, spuide =% x {SPANID},% x {échantillonné}]% s% e% n

Ensuite, vous devez également propager le contexte Jaeger à vos journaux via les propriétés ci-dessous:

quarkus.jaeger.log-trace-context = true

quarkus.jaeger.propagation = jaeger


10 commentaires

J'ai oublié de vous mentionner que j'utilise l'extension de Quarkus-Logging-Gelf et effectué des configurations basées sur la même manière que celle mentionnée dans Quarkus-Centralized-Log-Gestion-Guide Pour envoyer des journaux à Elk.by en utilisant ci-dessus Configurations que vous avez mentionnées dans la réponse que j'avais essayée mais Traceid et Spanid ne sont pas envoyées.


S'il vous plaît partager votre fichier de propriétés et pom.xml


Je vais simplement modifier ma question pour partager le fichier de propriétés et pom.xml


Configurez-vous la propriété "quarkus.jaeger.endpoint" correctement?!


Oui, j'avais configuré une propriété comme quarkus.jaeger.endpoint = localhost: 14268 / API / traces


Il devrait commencer par http: // ou https: // je crois.


Hey, merci pour votre temps.Le problème a été résolu, je viens d'ajouter une configuration dans application.Proporties liées à Quarkus-Logging-gelf


Content d'ententre ça! Veuillez mettre à jour ma réponse avec votre découverte et le marquer comme résolu. Donc, d'autres personnes peuvent y référoir à l'avenir.


Veuillez ajouter la nouvelle configuration que vous avez configurée dans la réponse ou dites-moi ce que vous avez fait pour le mettre à jour.


J'avais posté la nouvelle configuration dans la section de réponse.



0
votes

J'avais ajouté une nouvelle propriété de configuration de goules dans mon application.Property.Property.byt, nous pouvons envoyer des journaux avec TraceID et SpanID à Elk Stack.

Application.Properties EM> P>

quarkus.http.port=8200
quarkus.swagger-ui.always-include=true
quarkus.jaeger.service-name=myservice
quarkus.jaeger.reporter-log-spans=true //This can be excluded
quarkus.jaeger.propagation=jaeger //This can be excluded
quarkus.jaeger.sampler-type=const
quarkus.jaeger.sampler-param=1
quarkus.log.console.format=%d{HH:mm:ss} %-5p traceId=%X{traceId}, spanId=%X{spanId}, sampled=%X{sampled} [%c{2.}] (%t) %s%e%n

quarkus.log.handler.gelf.enabled=true
quarkus.log.handler.gelf.host=localhost
quarkus.log.handler.gelf.port=12201
quarkus.log.handler.gelf.include-full-mdc=true //newly added property


0 commentaires