Key Infrastructure Monitoring (core Infrastructure monitoring , CIM )
In today's cloud infrastructure, hardware failures are unavoidable. Core Infrastructure monitoring detects early signs associated with hardware bottlenecks and captures hardware failure signals to respond to larger problems before they occur. The scope of infrastructure monitoring includes machine health, CPU usage, memory consumption, and network bandwidth, which, based on these monitoring information, can determine the current state of the infrastructure and thus make the necessary extensions.
There are many tools that can help us get the health of our hardware. In most cases, the tools of the hosting provider (such as Amazon AWS, Heroku) will basically meet the need for such monitoring.
The CIM metrics include:
Application level monitoring (application levels monitoring , ALM )
Application-level monitoring involves monitoring the state of various servers, such as database servers, application servers, Analysis servers, and Hadoop clusters, while the parameters to be monitored are related to the application or tool.
There are many great tools for application monitoring, such as Datadog and new Relic.
Metrics for application monitoring include:
Memory of the JVM process
The number of internal threads
Disk IO
Read/write operations on indexes
microservices Monitoring (micro service monitoring , MSM )
MicroServices are part of the modern cloud architecture and are the key to achieving horizontal scaling. Whether you're running a traditional monolithic system or a well-designed and organized micro-service, these systems will have different API endpoints, follow different protocols, and meet different SLA requirements. Micro-service monitoring is about monitoring the throughput and performance of each service to ensure that SLAs are met at any time. This type of monitoring typically requires instrument operations on the application, allowing instrumentation to be configurable, collecting the state of the application through the Collector (collector), and periodically sending these states to permanent storage, analyzers, and early warning systems. This type of monitoring tends to generate a lot of data, so it can affect performance and therefore needs to be carefully designed.
For microservices monitoring tools, the storage engine can choose Graphitedb or influxdb, and the visualizer can choose Kibana or Grafana.
Metrics for micro-service monitoring include:
Maximum time required for request
The average time required for the request
Average speed of requests per minute
Daily Peak Request Speed
Multi-tenant log monitoring (multitenant logs monitoring , MLM )
A big challenge for a multi-tenant deployment system is to monitor logs and infer the internal conditions of the system, or to identify the underlying cause when a problem occurs. Countless clients generate a large number of logs, so having a unique identity (such as Tenantid) is the first step for log isolation. In addition, the logs need to be grouped according to requests, which is especially important if the request is to span multiple services, and each service generates some log information that will help identify the problem.
There are very classic tools in multi-tenant log monitoring, namely the elk (Elasticsearch, Logstash, Kibana) technology stack.
Metrics for multi-tenant log monitoring include:
In a word, good monitoring involves all aspects of the system, from hardware to applications to services. If you need to build a multi-tenant application, using the Elk technology stack that is properly configured can also help you diagnose problems quickly.
On the method of application performance monitoring