You can view metrics for serverless Kubernetes (ASK) clusters on predefined dashboards that are provided by Application Real-Time Monitoring Service (ARMS) Prometheus. This topic describes how to enable ARMS Prometheus for ASK.

Background information

ARMS Prometheus is a managed monitoring service that is fully interfaced with the open source Prometheus ecosystem. ARMS Prometheus monitors a wide array of components and provides multiple ready-to-use dashboards. ARMS Prometheus saves you the efforts to manage underlying services, such as data storage, data presentation, and system maintenance.

Compared with open source Prometheus, ARMS Prometheus has the following benefits:
  • Lightweight, stable, and accurate retry mechanism
    • Compared with open source Prometheus, the deployment of ARMS Prometheus is more lightweight. Instead of building a Prometheus monitoring system, you can install the Prometheus agent (PromAgent) to monitor your business. p76745.png
    • Open source Prometheus requires 16 GB to 128 GB of memory. ARMS Prometheus requires only 200 MB to 1 GB of memory and 1 CPU core. ARMS Prometheus provides higher system stability than open source Prometheus.
    • Open source Prometheus retrieves data only once, and open source Prometheus may discard data when it writes data to the storage component. ARMS Prometheus retries multiple times if it fails to retrieve data. This ensures high concurrency when it writes data to the storage component. No data is discarded.
  • Unlimited storage capacity
    • Open source Prometheus can collect up to one million metrics. ARMS Prometheus can scale its data collection capability based on the number of Kubernetes pods. Collection tasks can be distributed across pods.
    • The maximum storage capacity of open source Prometheus is limited by the size of the local disk. ARMS Prometheus uses the central cloud storage service. The storage capacity is not limited.
  • Compatibility with the open source Prometheus systems
    • ARMS Prometheus is compatible with the clients and query languages in the open source Prometheus ecosystem. ARMS Prometheus provides optimized collection rules and usage values. p1
    • ARMS Prometheus is compatible with three mainstream methods to configure collection rules: the open source prometheus.yaml configuration file, the ServiceMonitor resource, and the annotation used to configure the default collection rule. ServiceMonitor is suitable for the monitoring of custom Kubernetes clusters. Compared with open source Prometheus, ARMS Prometheus allows you to update collection rules by using the prometheus.yaml configuration file. You need only to add the following three annotations to the Deployment file.
      prometheus.io/scrape: "true"
      prometheus.io/port: "9090"
      prometheus.io/path: "/metrics"
    • ARMS Prometheus allows you to visualize data by using Grafana. By configuring the Prometheus HTTP API URL, you can implement multi-tenant isolation for the data source in Grafana and multi-tenant isolation for the Grafana dashboard. ARMS Prometheus is also compatible with the Explore data debugging module of Grafana.
    • ARMS Prometheus is compatible with the HTTP API module of open source Prometheus. ARMS Prometheus supports three standard API operations: query, query_range, and labelValues. In addition, you can add /userId/clusterId/regionId/ to the data URL to achieve multi-tenant isolation.
    • ARMS Prometheus uses the built-in alerting system of ARMS and is compatible with the alert rules of open source Prometheus.
  • Cost-effectiveness
    • ARMS Prometheus supports the default Kubernetes monitoring component. After you install the default Kubernetes monitoring component, ARMS Prometheus automatically creates exporters, collection rules, Grafana dashboards, and ARMS alerts. Compared with open source Prometheus, ARMS Prometheus reduces the time cost from about 3 days to about 10 minutes. Dashboard 1
    • ARMS Prometheus can monitor open source components. You can enter the accounts and passwords of the Relational Database Service (RDS) and Redis components. ARMS Prometheus automatically creates exporters and dashboards for these components. Compared with open source Prometheus, ARMS Prometheus reduces the time cost from about 7 days to about 3 minutes. Dashboard 2
    • You can install or uninstall ARMS Prometheus with one click and perform health checks to debug Prometheus. Compared with open source Prometheus, ARMS Prometheus reduces your time cost from about 1 day to about 3 minutes.

Enable ARMS Prometheus

  1. Log on to the ACK console.
  2. In the left-side navigation pane of the ACK console, choose Marketplace > App Catalog.
  3. On the Marketplace page, click the App Catalog tab. Then, find and click ack-arms-prometheus.
  4. On the ack-arms-prometheus page, click Deploy.
  5. In the Deploy panel, select a cluster and namespace, and then click Next.
    Note By default, Namespace and Release Name are set to arms-prom.
  6. In the Parameters step, set the parameters and click OK.

Result

In the left-side navigation pane, click Clusters. On the Clusters page, click the name of the cluster for which you want to enable ARMS Prometheus or click Details in the Actions column. In the upper-right corner of the Overview tab, click Prometheus Monitoring to log on to the ARMS Prometheus console. On the Dashboards page, find the cluster and click the installed components to view metrics on dashboards.