monitoring microservices @ sf microservice meeting
TRANSCRIPT
VisualisationMonitoring Tracing
0255075
100
Monitoring
0255075
100
Traditional 3-tier architectureIncoming traffic
Load balancers
Application servers
Database & replica
Microservice architecture
Public APIWeb UI
NoSQL serversDatabase
Message Broker
Services
Microservices should be treated like cattle not pets
USE Method* - for every resource, check: • utilization, • saturation, and • errors
RED Method - for every service, check request: • rate, • error (rate), and • duration (distributions)
* http://www.brendangregg.com/usemethod.html
An alternative view
Monitoring
0255075
100
Visualisation
Weave Scope
Connection Tracking
# cat /proc/net/tcp
# conntrack -E -p tcp
Demo time
Visualisation
VisualisationMonitoring Tracing
0255075
100
@weaveworks github.com/weaveworks
Questions?http://weave.works/product/scope
[email protected] @tom_wilkie
Tracing
Distributed Tracing
Not a new topic
• Lots of literature • Existing open source
projects • e.g. Zipkin, originally from
• Challenge: detecting causality between incoming and outgoing requests
• Existing solutions require propagation of some unique ID (dapper, zipkin)
• This requires application-specific modifications
some service
incomingrequest
outgoingrequests
?
Can this be done without application modifications?
Demo time
Tracing