SOFTWARE ARCHITECTURE DESIGNSystem Monitoring Design
Production Monitoring with aggregated logging and altering in distributed systems. Analytical and audit events gathering from frontend mobile and backend modules.
Your customers shouldn’t be the ones to tell you that your services don’t work. You should already know it. With the emergence of Kubernetes and swarm solutions, monitoring has become even more complex. Micro-services and distributed processing across components make it difficult to track, analyse and understand what is happening in your systems.
Here's what we can do to improve monitoring in your landscape:
- Prepare a complete monitoring strategy for your solution
- Build a centralised tracking system to analyse distributed processes
- Add message gathering from all components of your landscape
- Add monitoring to all hosts in your infrastructure
- Add monitoring to all containers in clusters
- Add metric monitoring for resources like microservices, databases, middleware components, 3rd party systems, etc.
- Add service health monitoring so you can see where problems are
- Add alerts for important metrics so your team can react earlier before real problems occur
- Add alerts for critical components of infrastructure
- Add event monitoring when components fail and services switch to other resources
- Add error tracking and fix monitoring for application errors
- Advise on redundancy so that your infrastructure and services are reliable for your customers
- Advise on business event gathering from backend and frontend components like, number of currently logged users, so you can understand your users better.
With a proper monitoring system, the next time something doesn’t work, you will be able to fix it before your stakeholders or customers notice.
Technology
Technologies & tools that we typically use in our monitoring setups.
- Kubewatch
- ELK/EFK Stack
- Grafana
- Prometheus
- Fluentd
- Spring Actuator
- Kiali
- Jaeger
- Sentry