An increasing amount of business is deployed in containers as container technologies develop and apply to more scenarios. As a result, container monitoring becomes an essential component of container technologies. The container monitoring module of Application Real-Time Monitoring Service (ARMS) monitors the resources and containers on the nodes of Container Service for Kubernetes (ACK) clusters, collects performance data in real time, and displays the data in a visualized manner. This module provides you with end-to-end monitoring and troubleshooting capabilities in containerized environments.

Overview

Container monitoring is a one-stop module that provides observation features designed for Kubernetes clusters. This module provides IT developers and O&M engineers with a comprehensive observability solution that covers multiple aspects of Kubernetes clusters, including metrics, traces, logs, and events.

Container monitoring has the following characteristics:

  • Zero code intrusion: Container monitoring uses bypass technologies to obtain abundant network performance data, without the need to instrument business code.
  • Language independence: Container monitoring parses network protocols at the kernel level and supports all programming languages and frameworks.
  • High performance: Container monitoring is developed based on the eBPF technology. This module can obtain abundant network performance data by consuming fewer resources.
  • Display of resource correlations: Container monitoring displays correlations between resources in network topologies and resource topologies.
  • Data variety: Container monitoring supports various forms of observable data, including metrics, traces, logs, and events.
  • Integration: The ARMS console provides preset scenarios to integrate container monitoring with architecture discovery, application monitoring, Prometheus monitoring, synthetic monitoring, health inspection, event analysis, log analysis, and other Alibaba Cloud services.

Features

  • Resource performance monitoring

    Container monitoring uses the eBPF technology to obtain the performance data of containers, including the number of requests, the number of failed requests, and the response time, without code intrusion. The module can discover performance issues within containers and pods with efficiency. In addition, container monitoring can identify the Services and controller workloads, including Deployments, StatefulSets, and DaemonSets, that are associated with the issues. This improves troubleshooting efficiency. For more information, see View the overall monitoring information.

  • Cluster network topologies and network tracking
    • Container monitoring can analyze network requests and automatically parse network protocols to generate network topologies. Container monitoring supports the HTTP, Redis, Kafka, and MySQL protocols.
    • Each network topology displays the network performance between containers or between a container and an Alibaba Cloud service instance. You can identify performance issues within the relevant Alibaba Cloud services with efficiency based on the topology.
    • By default, container monitoring stores the logs of failed requests and slow requests. Failed requests are the requests for which an HTTP status code greater than or equal to 400 is returned. Slow requests are the requests whose response time exceeds 500 ms. You can view the logs to locate the error causes.

    For more information, see View the network topologies of a cluster.

  • 3D resource topologies

    Container monitoring provides 3D resource topologies to show the correlations between Kubernetes resources, including Services, Deployments, StatefulSets, DaemonSets, pods, containers, and nodes, in a top-down way. For more information, see View the 3D topology at the container layer.

  • Monitoring of ECS resources and workload resources
    • Container monitoring monitors the basic metrics of Elastic Compute Service (ECS) instances to ensure that the instances have sufficient resources. The basic metrics include CPU utilization, memory usage, and disk usage.
    • Container monitoring monitors the basic metrics of pods and containers to ensure that the workload resources are sufficient. The basic metrics include the utilization, request rate, and limit rate of CPU and memory, and disk usage.

    For more information, see Pod details and Container details.

  • Application performance monitoring

    After you enable application performance monitoring for a Deployment, container monitoring monitors the Deployment in an all-around manner. This module helps you identify failed requests and slow requests, reproduce request parameters, and discover system bottlenecks. This way, the efficiency of online issue diagnostics is greatly improved. For more information, see Application performance.

  • Display of associated events

    Container monitoring manages, stores, analyzes, and displays the events that are generated by Alibaba Cloud services, such as Kubernetes cluster events, in a centralized manner. If your application uses an Alibaba Cloud service, container monitoring automatically analyzes and displays the events of this service. This allows you to view and analyze the events with ease. For more information, see Associated events.

  • Health inspection

    The health inspection feature can be used to periodically test the connectivity of monitored Services. This feature allows you to check the health status of the monitored Services and handle detected exceptions at the earliest opportunity. For more information, see Health inspection.

  • Synthetic monitoring

    The synthetic monitoring feature allows you to check the health status of Ingresses. For more information, see Synthetic monitoring.

  • Log analysis

    When an error occurs within a Deployment, you can analyze the logs of the Deployment to locate the error causes. For more information, see Log analysis.

Benefits

Compared with open source container monitoring services, the container monitoring module of ARMS has the following benefits:

  • Unlimited data capacity

    Container monitoring separately stores different forms of monitoring data, including metrics, traces, logs, and events. Backed by the capability of Alibaba Cloud to store large amounts of data, container monitoring stores various monitoring data for a long period of time in a cost-efficient manner.

  • Innovative display of resource correlations and interactions

    Container monitoring generates network topologies by monitoring network requests. In each topology, you can check the dependencies between the Services involved.

    2D container topology

    In addition, container monitoring generates 3D resource topologies. In a 3D resource topology, you can check the network topology and resource topology involved at the same time. This improves troubleshooting efficiency.

    3D container topology
  • Data diversity

    Container monitoring displays various forms of data, including metrics, traces, logs, and events, in a visualized manner. In addition, container monitoring displays data from different dimensions. For example, you can view the number of failed requests and the information about traces with errors.

    Figure 1. Number of errors
    Number of failed requests
    Figure 2. Information about a trace with errors
    Information about a trace with errors
  • Centralized feature management

    The ARMS console provides preset scenarios to integrate container monitoring with architecture discovery, application monitoring, Prometheus monitoring, synthetic monitoring, health inspection, event analysis, log analysis, and other Alibaba Cloud services.

    • Allows you to enable application monitoring for workloads.
    • Supports the storage and queries of Prometheus metrics.
    • Allows you to enable synthetic monitoring for Ingresses.
    • Allows you to enable health inspection for Services.
    • Displays the correlations between events of different types of resources.
    • Supports the queries of workload logs.
    • Supports the monitoring of related Alibaba Cloud services.