Monitoring Microservices
-
Upload
weaveworks -
Category
Technology
-
view
1.664 -
download
1
Transcript of Monitoring Microservices
![Page 2: Monitoring Microservices](https://reader031.fdocuments.us/reader031/viewer/2022030311/58ef71661a28ab58628b45ef/html5/thumbnails/2.jpg)
![Page 3: Monitoring Microservices](https://reader031.fdocuments.us/reader031/viewer/2022030311/58ef71661a28ab58628b45ef/html5/thumbnails/3.jpg)
VisualisationMonitoring Tracing
0255075
100
![Page 4: Monitoring Microservices](https://reader031.fdocuments.us/reader031/viewer/2022030311/58ef71661a28ab58628b45ef/html5/thumbnails/4.jpg)
Monitoring
0255075
100
![Page 5: Monitoring Microservices](https://reader031.fdocuments.us/reader031/viewer/2022030311/58ef71661a28ab58628b45ef/html5/thumbnails/5.jpg)
Traditional 3-tier architectureIncoming traffic
Load balancers
Application servers
Database & replica
![Page 6: Monitoring Microservices](https://reader031.fdocuments.us/reader031/viewer/2022030311/58ef71661a28ab58628b45ef/html5/thumbnails/6.jpg)
Microservice architecture
Public APIWeb UI
NoSQL serversDatabase
Message Broker
Services
![Page 7: Monitoring Microservices](https://reader031.fdocuments.us/reader031/viewer/2022030311/58ef71661a28ab58628b45ef/html5/thumbnails/7.jpg)
![Page 8: Monitoring Microservices](https://reader031.fdocuments.us/reader031/viewer/2022030311/58ef71661a28ab58628b45ef/html5/thumbnails/8.jpg)
Microservices should be treated like cattle not pets
![Page 9: Monitoring Microservices](https://reader031.fdocuments.us/reader031/viewer/2022030311/58ef71661a28ab58628b45ef/html5/thumbnails/9.jpg)
![Page 10: Monitoring Microservices](https://reader031.fdocuments.us/reader031/viewer/2022030311/58ef71661a28ab58628b45ef/html5/thumbnails/10.jpg)
USE Method* - for every resource, check: • utilization, • saturation, and • errors
RED Method - for every service, check request: • rate, • error (rate), and • duration (distributions) are within SLO/A
* http://www.brendangregg.com/usemethod.html
An alternative view
![Page 11: Monitoring Microservices](https://reader031.fdocuments.us/reader031/viewer/2022030311/58ef71661a28ab58628b45ef/html5/thumbnails/11.jpg)
Monitoring
0255075
100
![Page 12: Monitoring Microservices](https://reader031.fdocuments.us/reader031/viewer/2022030311/58ef71661a28ab58628b45ef/html5/thumbnails/12.jpg)
Visualisation
![Page 13: Monitoring Microservices](https://reader031.fdocuments.us/reader031/viewer/2022030311/58ef71661a28ab58628b45ef/html5/thumbnails/13.jpg)
![Page 14: Monitoring Microservices](https://reader031.fdocuments.us/reader031/viewer/2022030311/58ef71661a28ab58628b45ef/html5/thumbnails/14.jpg)
Weave Scope
![Page 15: Monitoring Microservices](https://reader031.fdocuments.us/reader031/viewer/2022030311/58ef71661a28ab58628b45ef/html5/thumbnails/15.jpg)
Connection Tracking
# cat /proc/net/tcp
# conntrack -E -p tcp
![Page 16: Monitoring Microservices](https://reader031.fdocuments.us/reader031/viewer/2022030311/58ef71661a28ab58628b45ef/html5/thumbnails/16.jpg)
Matrix
![Page 17: Monitoring Microservices](https://reader031.fdocuments.us/reader031/viewer/2022030311/58ef71661a28ab58628b45ef/html5/thumbnails/17.jpg)
Connection Tracking
all connections
from /proc
conntrack
!
![Page 18: Monitoring Microservices](https://reader031.fdocuments.us/reader031/viewer/2022030311/58ef71661a28ab58628b45ef/html5/thumbnails/18.jpg)
Demo time
![Page 19: Monitoring Microservices](https://reader031.fdocuments.us/reader031/viewer/2022030311/58ef71661a28ab58628b45ef/html5/thumbnails/19.jpg)
Visualisation
![Page 20: Monitoring Microservices](https://reader031.fdocuments.us/reader031/viewer/2022030311/58ef71661a28ab58628b45ef/html5/thumbnails/20.jpg)
Tracing
![Page 21: Monitoring Microservices](https://reader031.fdocuments.us/reader031/viewer/2022030311/58ef71661a28ab58628b45ef/html5/thumbnails/21.jpg)
Distributed Tracing
![Page 22: Monitoring Microservices](https://reader031.fdocuments.us/reader031/viewer/2022030311/58ef71661a28ab58628b45ef/html5/thumbnails/22.jpg)
Not a new topic
• Lots of literature • Existing open source
projects • e.g. Zipkin, originally from
![Page 23: Monitoring Microservices](https://reader031.fdocuments.us/reader031/viewer/2022030311/58ef71661a28ab58628b45ef/html5/thumbnails/23.jpg)
• 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
?
![Page 24: Monitoring Microservices](https://reader031.fdocuments.us/reader031/viewer/2022030311/58ef71661a28ab58628b45ef/html5/thumbnails/24.jpg)
Can this be done without application modifications?
![Page 25: Monitoring Microservices](https://reader031.fdocuments.us/reader031/viewer/2022030311/58ef71661a28ab58628b45ef/html5/thumbnails/25.jpg)
Demo time
![Page 26: Monitoring Microservices](https://reader031.fdocuments.us/reader031/viewer/2022030311/58ef71661a28ab58628b45ef/html5/thumbnails/26.jpg)
Tracing
![Page 27: Monitoring Microservices](https://reader031.fdocuments.us/reader031/viewer/2022030311/58ef71661a28ab58628b45ef/html5/thumbnails/27.jpg)
VisualisationMonitoring Tracing
0255075
100
![Page 28: Monitoring Microservices](https://reader031.fdocuments.us/reader031/viewer/2022030311/58ef71661a28ab58628b45ef/html5/thumbnails/28.jpg)
@weaveworks github.com/weaveworks
Questions?http://weave.works/product/scope
[email protected] @tom_wilkie