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.
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.
- 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.
- 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.
- 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
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 PromQL-based alert rules of open source Prometheus.
- 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.
- 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.
- 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
- Log on to the ACK console.
- In the left-side navigation pane of the ACK console, click Clusters.
- On the Clusters page, find the cluster that you want to manage and click the name of the cluster or click Details in the Actions column. The details page of the cluster appears.
- In the left-side navigation pane of the details page, choose .
- On the Add-ons page, click the Logs and Monitoring tab.
- Find ack-arms-prometheus and click Install.
- In the Install ack-arms-prometheus message, click OK. After you install the ack-arms-prometheus component, you can view the monitoring data in one of the following ways:
- In the left-side navigation pane of the cluster details page, click Cluster Information. Then, click Prometheus Monitoring in the upper-right corner of the Overview tab.
- In the left-side navigation pane of the cluster details page, choose .
- Log on to the ACK console.
- In the left-side navigation pane of the ACK console, choose .
- On the Marketplace page, click the App Catalog tab. Then, find and click ack-arms-prometheus.
- On the ack-arms-prometheus page, click Deploy.
- In the Deploy wizard, select a cluster and a namespace, and then click Next. Note By default, Namespace and Release Name are set to arms-prom.
- On the Parameters wizard page, set the parameters and click OK.