With the booming development and implementation of container technology, more and more companies are running their businesses in containers. As one of the mainstream deployment methods, containers separate the tasks and concerns of the team. The development team only needs to focus on application logic and dependencies, while the operation and maintenance team only needs to focus on deployment and management, without having to worry about application details such as specific software versions and application-specific configurations. This means that the development team and the operation and maintenance team can spend less time debugging and going online, and more time delivering new features to end users. Containers make it easier for companies to improve application portability and operational resilience. According to a CNCF survey report, 73% of respondents are using containers to improve production agility and accelerate innovation. Why do we need container monitoring? In the process of large-scale use of containers, in the face of highly dynamic containerized environments that require continuous monitoring, establishing a monitoring system is of great significance for maintaining a stable operating environment and optimizing resource costs. Each container image may have a large number of running instances. Due to the rapid introduction of new images and new versions, failures can easily spread through containers, applications, and architectures. This makes it critical to locate the root cause of the problem immediately after the problem occurs in order to prevent the spread of anomalies. After a lot of practice, we believe that the monitoring of the following components is critical during the use of containers: Host server; Detect problems early to avoid system outages; 1. Troubleshooting time is prolonged and SLA cannot be met. It was difficult for development and operations teams to understand what was running and how well it was performing. Maintaining applications, meeting SLAs, and troubleshooting were extremely difficult. 2. Scalability is hindered and elasticity cannot be achieved. The ability to quickly scale application or microservice instances on demand is an important requirement for containerized environments. The monitoring system is the only visual way to measure demand and user experience. Scaling up too late will result in a decrease in performance and user experience; scaling down too late will result in a waste of resources and costs. Therefore, as the problems and value of container monitoring continue to accumulate and surface, more and more operation and maintenance teams begin to pay attention to the construction of container monitoring systems. However, in the process of actually implementing container monitoring, various unexpected problems are encountered. For example, the difficulty in tracking caused by short-lived features. Due to the complexity of containers themselves, containers contain not only the underlying code, but also all the underlying services required for the application to run. As new deployments are put into production and the code and underlying services are changed, containerized applications are frequently updated, which increases the possibility of errors. The characteristics of rapid creation and rapid destruction make it extremely difficult to track changes in large-scale complex systems. For example, due to the difficulty of monitoring caused by shared resources, since resources such as memory and CPU used by containers are shared between one or more hosts, it is difficult to monitor resource consumption on the physical host, which also makes it difficult to get a good indication of container performance or application health. Finally, traditional tools are not able to meet the needs of container monitoring. Traditional monitoring solutions often lack the tools required for metrics, tracking, and logging required for virtualized environments, especially for container health and performance metrics and tools. Therefore, considering the above values, problems, and difficulties, we need to consider and design the following dimensions when establishing a container monitoring system: Non-intrusiveness: Monitor whether the SDK or probe integrated into the business code is intrusive and affects business stability; There are unknown risks that may affect business stability. Can the monitoring service be "traceless"? Does the monitoring process itself affect the normal operation of the system? Alibaba Cloud Kubernetes Monitoring: Making container cluster monitoring more intuitive and simpler Therefore, based on the above insights and a lot of practical experience, Alibaba Cloud launched the Kubernetes monitoring service . Alibaba Cloud Kubernetes Monitoring is a one-stop observability product developed for Kubernetes clusters. Based on the indicators, application links, logs, and events in the Kubernetes cluster, Alibaba Cloud Kubernetes Monitoring aims to provide IT development and operation personnel with a holistic observability solution. Alibaba Cloud Kubernetes Monitoring has the following six features: Non-intrusive code: By using bypass technology, network performance data can be obtained without code embedding. Unlimited data volume: Indicators, links, logs and other data are stored independently, using cloud storage capabilities to ensure low-cost, large-capacity storage. Based on the above product features and differentiated value, we apply it in the following scenarios: Through the default or customized inspection rules of Kubernetes monitoring system, abnormalities of nodes, services and workloads are discovered. Kubernetes monitoring performs abnormal inspections on nodes, services and workloads from the three dimensions of performance, resources and control, and intuitively displays the analysis results through normal, warning, severe and other states with specific colors to help operation and maintenance personnel intuitively perceive the operating status of user nodes, services and workloads. Use Kubernetes monitoring to locate the root cause of service and workload response failures. Kubernetes monitoring stores failed requests in detail by analyzing network protocols, and uses the failed request details associated with failed request indicators to locate the cause of failure. Use Kubernetes monitoring to explore application architecture and discover unexpected network traffic. Kubernetes monitoring supports viewing the topology map built by global traffic and supports configuring static ports to identify specific services. Use the intuitive and powerful interaction of the topology map to explore the application architecture and verify whether the traffic meets expectations and whether the architecture is reasonable. Use Kubernetes to monitor and discover uneven node resource usage, allocate node resources in advance, and reduce business operation risks. Currently, Kubernetes monitoring has been launched for public beta, and it is free to use during the public beta period. Let Kubernetes monitoring help you get rid of mechanical and repetitive operation and maintenance work~ |
<<: It’s time to promote 5G applications
>>: AnalyticDB PostgreSQL teaches you how to implement distributed consistent backup and recovery
In our daily life, when we connect our computers,...
On June 28, 2023 MWC Shanghai opened, and Huawei ...
spinservers has added a large number of dual E5+S...
Recently, China Mobile's online business hall...
Juniper announced its first quarter 2017 revenue ...
Part 01 Protocol Introduction HTTP is the most po...
We live in an era of rapid development of IT tech...
In IoT application development, the communication...
Strategy Analytics released a report today saying...
AP is the most commonly used device for building ...
With over 1.1 billion users, WeChat is China’s la...
According to statistics from the Ministry of Indu...
2017 is known as the first year of 5G standards. ...
HostKvm was founded in 2013. It currently provide...
The shortage of wireless spectrum has always been...