When it comes to health and monitoring, a distributed architecture can give you a couple of problems. You can deal with dozens, if not hundreds of microservices, each of which may have been created by different development teams.
, , . , AWS, Google Cloud, Azure, , - ( , , IP- . .).
:
- , /, . .
() -
() -
: ( ) .
, , . , , . :
, . INFO- .
, . , , , , , - - (id).
userId, , - UUID, . ( , ). requestId userId , , !!!
, (tag) Java (RequestFilter).
- , . , :
.
/ (, ).
, (- - ).
DataDog. , .
. /, . , . ( , / ).
. , , .
userId (, UUID) / . , !!
:
.
.
, .
#1: , DATADOG
DataDog APM (application performance monitors - ). Datadog 100%- , , .
Datadog . Datadog . , , DD traceId , .
#2: ZIPKINS, CLOUD-SLEUTH SPRING BOOT
:
:
SPRING boot
Zipkins.
OpenTracing .
Log4j2 MDC.
:
, . ElasticSearch , , cloud-sleuth ( X-B3-TraceId).
:
#3: AMAZON XRAY
:
AWS, , AWS
AWS (REQUEST ID) , . (: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-request-tracing.html)
API , AWS.
CLOUDWATCH logs
:
Cloudwatch log
#4: JAGER
: Jager
:
opentracing
, Spring
Jager Agent, .
:
.
. , , . , . :-)