{"id":114,"date":"2026-04-12T21:05:25","date_gmt":"2026-04-12T21:05:25","guid":{"rendered":"https:\/\/www.devopsschool.com\/tutorials\/alibaba-cloud-managed-service-for-prometheus-tutorial-architecture-pricing-use-cases-and-hands-on-guide-for-migration-o-m-management\/"},"modified":"2026-04-12T21:05:25","modified_gmt":"2026-04-12T21:05:25","slug":"alibaba-cloud-managed-service-for-prometheus-tutorial-architecture-pricing-use-cases-and-hands-on-guide-for-migration-o-m-management","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/tutorials\/alibaba-cloud-managed-service-for-prometheus-tutorial-architecture-pricing-use-cases-and-hands-on-guide-for-migration-o-m-management\/","title":{"rendered":"Alibaba Cloud Managed Service for Prometheus Tutorial: Architecture, Pricing, Use Cases, and Hands-On Guide for Migration &#038; O&#038;M Management"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Category<\/h2>\n\n\n\n<p>Migration &amp; O&amp;M Management<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. Introduction<\/h2>\n\n\n\n<p>Managed Service for Prometheus is Alibaba Cloud\u2019s fully managed, Prometheus-compatible monitoring service designed for day-2 operations (O&amp;M), observability, and platform governance\u2014especially for cloud-native and Kubernetes-based workloads.<\/p>\n\n\n\n<p>In simple terms: you collect metrics from your applications and infrastructure, store them in a managed Prometheus backend, visualize them with Grafana-style dashboards, and trigger alerts when something goes wrong\u2014without having to operate your own Prometheus at scale.<\/p>\n\n\n\n<p>Technically, Managed Service for Prometheus provides a managed time-series storage and query layer compatible with Prometheus, plus managed integrations for collecting (scraping) metrics from common environments such as Kubernetes. It typically integrates closely with Alibaba Cloud\u2019s observability ecosystem (commonly via ARMS in the console). You use standard PromQL queries, dashboards, and alerting rules while Alibaba Cloud manages the control plane and scalable backend.<\/p>\n\n\n\n<p>The problem it solves: operating Prometheus reliably in production is hard. As your fleet grows, you face high-cardinality costs, retention\/storage planning, high availability, upgrades, rule management, and cross-team access control. Managed Service for Prometheus aims to offload that operational burden while keeping the Prometheus data model and query language that engineers already know.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. What is Managed Service for Prometheus?<\/h2>\n\n\n\n<p><strong>Official purpose (what it\u2019s for):<\/strong> Managed Service for Prometheus is intended to provide a managed Prometheus experience on Alibaba Cloud\u2014collecting metrics from workloads and infrastructure, storing them in a managed backend, and enabling querying, visualization, and alerting using Prometheus-compatible mechanisms.<\/p>\n\n\n\n<blockquote>\n<p>Naming note: In Alibaba Cloud, you may encounter Prometheus capabilities surfaced under ARMS (Application Real-Time Monitoring Service) console navigation. The product name \u201cManaged Service for Prometheus\u201d is commonly used in documentation and console. If you see \u201cPrometheus Monitoring\u201d in the console, verify in official docs whether it refers to the same managed Prometheus service in your region\/edition.<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">Core capabilities (high-level)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Prometheus-compatible metrics ingestion and storage (managed TSDB backend).<\/li>\n<li>PromQL querying and exploration.<\/li>\n<li>Kubernetes-oriented collection workflows (for ACK clusters) via managed\/assisted collectors.<\/li>\n<li>Alerting based on Prometheus rule concepts (recording\/alerting rules) and integration with Alibaba Cloud alerting\/notification channels (verify exact integrations in official docs for your region).<\/li>\n<li>Dashboards and visualization, commonly via Grafana-compatible experiences (exact packaging may vary\u2014verify in official docs).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Major components<\/h3>\n\n\n\n<p>While exact names vary by region and console experience, typical components include:\n&#8211; <strong>Prometheus instance \/ workspace<\/strong>: the logical boundary for metrics storage, rules, and access control.\n&#8211; <strong>Collectors\/agents<\/strong>: components that scrape metrics from targets (particularly in Kubernetes) and forward them to the managed backend.\n&#8211; <strong>Rule management<\/strong>: alerting rules and possibly recording rules stored and evaluated by the service (verify evaluation model in official docs).\n&#8211; <strong>Query layer<\/strong>: PromQL API endpoints for dashboards\/tools.\n&#8211; <strong>Visualization<\/strong>: Grafana dashboards or Grafana-compatible integrations (verify whether Alibaba Cloud provides a hosted Grafana, embedded console dashboards, or both in your account\/region).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Service type<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Managed monitoring \/ observability service<\/strong> with Prometheus compatibility.<\/li>\n<li>Generally used as part of <strong>operations management<\/strong> in a \u201cMigration &amp; O&amp;M Management\u201d toolchain: migrate from self-managed Prometheus, standardize metrics, centralize governance, and reduce operational overhead.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Scope (regional\/global, project\/account boundary)<\/h3>\n\n\n\n<p>Managed Service for Prometheus is typically <strong>region-scoped<\/strong> (metrics and endpoints exist in a region), and you organize access within an Alibaba Cloud account using <strong>RAM<\/strong> (Resource Access Management) and resource-level permissions. Cross-region collection and querying patterns may be possible via network connectivity and\/or multi-instance strategies, but the details are region- and edition-dependent\u2014<strong>verify in official docs<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">How it fits into the Alibaba Cloud ecosystem<\/h3>\n\n\n\n<p>Common ecosystem touchpoints include:\n&#8211; <strong>ACK (Alibaba Cloud Container Service for Kubernetes)<\/strong> for cluster monitoring and service discovery.\n&#8211; <strong>RAM<\/strong> for identity, permissions, and least-privilege access.\n&#8211; <strong>VPC<\/strong> networking for private access patterns.\n&#8211; <strong>Alibaba Cloud observability stack<\/strong> (often surfaced via ARMS console navigation) for alerting and operational workflows.\n&#8211; <strong>ActionTrail<\/strong> (audit) and logging services, depending on what\u2019s supported by your configuration (verify exact audit\/log integrations in official docs).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3. Why use Managed Service for Prometheus?<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Business reasons<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Lower operational burden:<\/strong> Avoid building and maintaining a production-grade Prometheus stack (HA, storage, upgrades, scaling).<\/li>\n<li><strong>Faster time to value:<\/strong> Standard dashboards and Kubernetes integrations get teams monitoring quickly.<\/li>\n<li><strong>Predictable governance:<\/strong> Centralize metrics, rule management, and access patterns across teams.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Technical reasons<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Prometheus compatibility:<\/strong> Keep PromQL, exporters, and a broad ecosystem of instrumented apps.<\/li>\n<li><strong>Scalability path:<\/strong> Managed backends are typically designed to handle higher scale than a single self-hosted Prometheus.<\/li>\n<li><strong>Better multi-team separation:<\/strong> Logical workspaces\/instances can help isolate environments and teams.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Operational reasons (day-2)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Centralized alerting rules:<\/strong> Standardize alert definitions and reduce duplicated work.<\/li>\n<li><strong>Reduced toil:<\/strong> Less time spent on \u201ckeeping monitoring alive\u201d and more time improving SLOs and reliability.<\/li>\n<li><strong>Managed upgrades and reliability:<\/strong> The provider typically handles backend upgrades and durability (verify SLA\/HA statements in official docs).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Security\/compliance reasons<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>IAM integration (RAM):<\/strong> Enforce least privilege for reading metrics, editing rules, and managing integrations.<\/li>\n<li><strong>Auditability:<\/strong> Cloud-native services often integrate with auditing (verify ActionTrail coverage in official docs).<\/li>\n<li><strong>Network controls:<\/strong> Use VPC\/private access patterns where supported.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Scalability\/performance reasons<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>High-cardinality management:<\/strong> Prometheus at scale becomes expensive and fragile; managed approaches usually offer better storage\/query scaling (still, cardinality is a cost\/perf risk you must manage).<\/li>\n<li><strong>Longer retention options:<\/strong> Managed TSDBs often support configurable retention tiers (verify retention options in official docs).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">When teams should choose it<\/h3>\n\n\n\n<p>Choose Managed Service for Prometheus when:\n&#8211; You run <strong>Kubernetes (ACK)<\/strong> and want reliable cluster and workload metrics.\n&#8211; You need <strong>Prometheus compatibility<\/strong> without self-managing Prometheus infrastructure.\n&#8211; You want <strong>centralized governance<\/strong> for alerting, dashboards, and access.\n&#8211; You\u2019re migrating from self-managed Prometheus to a managed model.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">When teams should not choose it<\/h3>\n\n\n\n<p>Avoid (or limit) usage when:\n&#8211; You require <strong>air-gapped<\/strong> deployment with no managed endpoints.\n&#8211; Your compliance rules demand <strong>full control<\/strong> over storage location, encryption key management, or data-plane components beyond what the service supports.\n&#8211; Your workload produces extremely high-cardinality metrics you cannot control\u2014managed does not eliminate cardinality pain; it changes how you pay and operate.\n&#8211; You already operate a mature, cost-optimized self-hosted Prometheus + long-term storage stack and the managed service doesn\u2019t offer a strong ROI.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">4. Where is Managed Service for Prometheus used?<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Industries<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Internet\/SaaS, fintech, e-commerce, gaming, logistics, manufacturing, and enterprises modernizing toward cloud-native operations.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Team types<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>SRE and DevOps teams standardizing monitoring.<\/li>\n<li>Platform engineering teams building internal developer platforms (IDPs).<\/li>\n<li>Operations\/NOC teams needing consistent alerting and dashboards.<\/li>\n<li>Application teams that want \u201cmonitoring as a service\u201d with PromQL.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Workloads<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Kubernetes microservices on ACK.<\/li>\n<li>Stateful services where exporter-based monitoring is common (databases, caches, queues) \u2014 verify supported integrations\/exporters in official docs.<\/li>\n<li>Batch systems, API backends, and edge services producing Prometheus metrics.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Architectures<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Single-cluster: one managed Prometheus instance per environment (dev\/stage\/prod).<\/li>\n<li>Multi-cluster: separate instances per cluster or per BU\/team, with shared governance patterns.<\/li>\n<li>Hybrid: on-cloud Kubernetes plus selected off-cloud workloads (possible via agents\/remote write patterns\u2014verify official support).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Production vs dev\/test usage<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Dev\/test:<\/strong> lower retention, minimal alerting, fewer dashboards, cost-controlled sampling.<\/li>\n<li><strong>Production:<\/strong> stricter RBAC, longer retention, defined SLO-based alerting, incident workflows, and controlled label cardinality.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">5. Top Use Cases and Scenarios<\/h2>\n\n\n\n<p>Below are realistic use cases aligned with Alibaba Cloud Managed Service for Prometheus.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1) ACK cluster monitoring (nodes, pods, workloads)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem:<\/strong> You need consistent visibility into Kubernetes resource health and usage.<\/li>\n<li><strong>Why it fits:<\/strong> Managed Service for Prometheus typically provides Kubernetes-ready collection and dashboards.<\/li>\n<li><strong>Example:<\/strong> Monitor CPU\/memory saturation, pod restarts, and API server metrics across prod clusters.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">2) Microservice SLO monitoring with PromQL<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem:<\/strong> You need SLO signals (latency, errors, traffic, saturation) derived from application metrics.<\/li>\n<li><strong>Why it fits:<\/strong> Prometheus metrics + PromQL enable RED\/USE dashboards and SLO burn-rate alerting.<\/li>\n<li><strong>Example:<\/strong> Alert when <code>5xx<\/code> error rate exceeds 1% over 5 minutes for a checkout service.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">3) Migration from self-managed Prometheus to managed<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem:<\/strong> Your self-managed Prometheus is unreliable, and scaling\/retention is painful.<\/li>\n<li><strong>Why it fits:<\/strong> Replace backend storage\/operations with a managed instance while keeping exporters and instrumentation.<\/li>\n<li><strong>Example:<\/strong> Move from a single Prometheus VM to managed backend; keep exporters in clusters.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">4) Multi-tenant monitoring for platform teams<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem:<\/strong> Multiple teams need dashboards without breaking each other\u2019s rules or access.<\/li>\n<li><strong>Why it fits:<\/strong> Use separate instances\/workspaces and RAM policies to segment access.<\/li>\n<li><strong>Example:<\/strong> One instance per BU; centralized platform team manages global alerts.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">5) Standardized alerting and on-call readiness<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem:<\/strong> Alerts are inconsistent across teams; too noisy; hard to audit.<\/li>\n<li><strong>Why it fits:<\/strong> Central rule management and standardized label conventions.<\/li>\n<li><strong>Example:<\/strong> Adopt a shared alert library: \u201cCPU throttling high\u201d, \u201cPod crashloop\u201d, \u201cAPI latency high\u201d.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">6) Capacity planning and cost governance<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem:<\/strong> You can\u2019t forecast cluster\/node needs and overprovision.<\/li>\n<li><strong>Why it fits:<\/strong> Long-term trend dashboards (retention permitting) and consistent metrics.<\/li>\n<li><strong>Example:<\/strong> 30\/90-day utilization trends for node pools.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">7) Monitoring ingress and load-balancer behavior<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem:<\/strong> You need to correlate traffic spikes with errors and saturation.<\/li>\n<li><strong>Why it fits:<\/strong> Prometheus metrics from ingress controllers\/exporters can be graphed with PromQL.<\/li>\n<li><strong>Example:<\/strong> Compare request rate vs upstream latency across multiple services during campaigns.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">8) Release validation (canary \/ blue-green)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem:<\/strong> You need fast feedback during rollouts.<\/li>\n<li><strong>Why it fits:<\/strong> PromQL queries can power automated checks and dashboards for error budgets.<\/li>\n<li><strong>Example:<\/strong> A canary release must keep p95 latency within +10% baseline.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">9) Incident forensics and postmortems<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem:<\/strong> After incidents, you need reliable historical metrics to find root cause.<\/li>\n<li><strong>Why it fits:<\/strong> Managed retention and consistent collection reduce missing data.<\/li>\n<li><strong>Example:<\/strong> Investigate a memory leak by correlating RSS growth, GC metrics, and restart counts.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">10) Monitoring stateful middleware (where supported)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem:<\/strong> You run caches\/queues\/databases and need exporter-based metrics.<\/li>\n<li><strong>Why it fits:<\/strong> Prometheus exporters are a standard approach; managed backend stores\/queries.<\/li>\n<li><strong>Example:<\/strong> Redis exporter metrics used to alert on evictions and memory fragmentation (verify exporter support\/deployment pattern).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">11) Compliance-driven access control to operational data<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem:<\/strong> Not everyone should see production metrics (may reveal business volume).<\/li>\n<li><strong>Why it fits:<\/strong> RAM-based policies can constrain who can query and who can edit alerts.<\/li>\n<li><strong>Example:<\/strong> Read-only access for developers; full access only for SRE.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">12) Central dashboards for executive operations reviews<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem:<\/strong> Stakeholders need stable, curated reliability dashboards.<\/li>\n<li><strong>Why it fits:<\/strong> Grafana-style dashboards built on PromQL are shareable and consistent.<\/li>\n<li><strong>Example:<\/strong> Weekly uptime dashboard with error budget remaining by service.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">6. Core Features<\/h2>\n\n\n\n<blockquote>\n<p>Feature availability and naming can vary by region\/edition and console packaging. Where uncertain, this section includes \u201cVerify in official docs\u201d.<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">1) Managed Prometheus instances (workspaces\/projects)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>What it does:<\/strong> Provides a managed logical container for metrics ingestion, storage, querying, and rules.<\/li>\n<li><strong>Why it matters:<\/strong> Separates environments\/teams and reduces blast radius.<\/li>\n<li><strong>Practical benefit:<\/strong> One instance per prod cluster; separate instance for dev; isolate cardinality risks.<\/li>\n<li><strong>Caveats:<\/strong> Instance limits\/quotas and retention constraints apply\u2014<strong>verify quotas in official docs<\/strong>.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">2) Prometheus-compatible ingestion and storage<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>What it does:<\/strong> Stores time-series metrics in a managed backend using Prometheus conventions.<\/li>\n<li><strong>Why it matters:<\/strong> You retain the ecosystem: exporters, libraries, PromQL.<\/li>\n<li><strong>Practical benefit:<\/strong> Standard instrumentation works across tools and teams.<\/li>\n<li><strong>Caveats:<\/strong> High cardinality still impacts cost and query performance.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">3) PromQL querying<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>What it does:<\/strong> Enables Prometheus Query Language to explore metrics.<\/li>\n<li><strong>Why it matters:<\/strong> PromQL is the lingua franca for SRE metrics.<\/li>\n<li><strong>Practical benefit:<\/strong> Create dashboards, alerts, and ad-hoc queries without re-instrumenting.<\/li>\n<li><strong>Caveats:<\/strong> Query time ranges and concurrency may be limited\u2014<strong>verify in official docs<\/strong>.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">4) Kubernetes (ACK) integration and service discovery<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>What it does:<\/strong> Helps discover scrape targets (pods\/services\/endpoints) in clusters and collect core Kubernetes metrics.<\/li>\n<li><strong>Why it matters:<\/strong> Kubernetes monitoring is a top Prometheus use case.<\/li>\n<li><strong>Practical benefit:<\/strong> Faster setup with less manual configuration.<\/li>\n<li><strong>Caveats:<\/strong> The exact collector architecture (operator vs agent, CRDs like <code>ServiceMonitor<\/code>, etc.) depends on Alibaba Cloud\u2019s integration mode\u2014<strong>verify in official docs and in your cluster add-ons<\/strong>.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">5) Built-in dashboards \/ Grafana-compatible visualization<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>What it does:<\/strong> Provides dashboards for common metrics and allows custom dashboards using PromQL.<\/li>\n<li><strong>Why it matters:<\/strong> Visualization is essential for operations.<\/li>\n<li><strong>Practical benefit:<\/strong> Ready-made cluster dashboards reduce time to value.<\/li>\n<li><strong>Caveats:<\/strong> Whether you get fully hosted Grafana, embedded dashboards, or data-source integration can vary\u2014<strong>verify in official docs<\/strong>.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">6) Alerting rules and notifications (Prometheus-style)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>What it does:<\/strong> Defines alert conditions using PromQL and triggers notifications through configured channels.<\/li>\n<li><strong>Why it matters:<\/strong> Alerts are the operational contract for reliability.<\/li>\n<li><strong>Practical benefit:<\/strong> Standardize alerts (latency, error rate, saturation) across services.<\/li>\n<li><strong>Caveats:<\/strong> Notification channels and routing models vary. Confirm supported integrations and escalation policies in your region.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">7) Recording rules (if supported)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>What it does:<\/strong> Precomputes expensive queries into new time series.<\/li>\n<li><strong>Why it matters:<\/strong> Improves dashboard performance and reduces query load.<\/li>\n<li><strong>Practical benefit:<\/strong> Faster p95 latency dashboards and burn-rate computations.<\/li>\n<li><strong>Caveats:<\/strong> Recording rules support and limits vary\u2014<strong>verify in official docs<\/strong>.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">8) Multi-environment \/ multi-team access control via RAM<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>What it does:<\/strong> Controls who can view metrics, edit rules, manage instances, and configure integrations.<\/li>\n<li><strong>Why it matters:<\/strong> Metrics can be sensitive; rule changes can cause alert storms.<\/li>\n<li><strong>Practical benefit:<\/strong> Enforce separation of duties (Dev read-only; SRE admin).<\/li>\n<li><strong>Caveats:<\/strong> Ensure least-privilege policies; verify resource-level permissions for Managed Service for Prometheus.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">9) Data retention and lifecycle configuration (where available)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>What it does:<\/strong> Controls how long metrics are stored.<\/li>\n<li><strong>Why it matters:<\/strong> Retention affects cost and incident forensics.<\/li>\n<li><strong>Practical benefit:<\/strong> Keep 15\u201330 days for most metrics; longer for SLO signals.<\/li>\n<li><strong>Caveats:<\/strong> Retention tiers may differ by instance type\/edition\u2014<strong>verify in official docs<\/strong>.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">10) Integration with Alibaba Cloud operational toolchain<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>What it does:<\/strong> Works alongside Alibaba Cloud observability\/O&amp;M tooling (often via ARMS console) and potentially with audit services.<\/li>\n<li><strong>Why it matters:<\/strong> Central O&amp;M workflows reduce fragmentation.<\/li>\n<li><strong>Practical benefit:<\/strong> Single place to manage monitoring assets.<\/li>\n<li><strong>Caveats:<\/strong> The degree of integration varies\u2014verify in official docs.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">7. Architecture and How It Works<\/h2>\n\n\n\n<p>Managed Service for Prometheus involves three major flows:\n1. <strong>Control plane:<\/strong> you create instances, configure integrations, rules, dashboards, and permissions.\n2. <strong>Data plane:<\/strong> collectors scrape targets (e.g., Kubernetes endpoints) and send samples to the managed backend.\n3. <strong>Query\/visualization:<\/strong> dashboards and users query the backend via PromQL endpoints; alerts evaluate rules and trigger notifications.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">High-level flow (conceptual)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Targets (apps\/exporters\/Kubernetes components) expose <code>\/metrics<\/code>.<\/li>\n<li>A collector scrapes metrics and forwards them to the managed backend.<\/li>\n<li>The managed backend stores series, serves queries, and evaluates alerts\/rules.<\/li>\n<li>Visualization (Grafana or console dashboards) queries the backend.<\/li>\n<li>Alert notifications route to ops channels.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Integrations with related Alibaba Cloud services (common patterns)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>ACK:<\/strong> cluster monitoring, service discovery, add-ons\/agents.<\/li>\n<li><strong>RAM:<\/strong> authentication\/authorization.<\/li>\n<li><strong>VPC:<\/strong> private connectivity patterns (where supported).<\/li>\n<li><strong>ActionTrail:<\/strong> auditing API actions (verify coverage for this service).<\/li>\n<li><strong>Notification\/alert channels:<\/strong> Alibaba Cloud alerting integrations (verify exact list in docs).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Security\/authentication model<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Human users and automation authenticate with Alibaba Cloud via <strong>RAM identities<\/strong>.<\/li>\n<li>Access to create\/modify instances and rules is governed by RAM policies.<\/li>\n<li>Data-plane authentication (collector \u2192 managed backend) is typically handled by credentials\/config generated during integration (exact mechanism is integration-specific\u2014<strong>verify in official docs<\/strong>).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Networking model<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Collectors run inside your VPC\/cluster.<\/li>\n<li>Managed backend endpoints may be public or private depending on service configuration and region capabilities\u2014<strong>verify in official docs<\/strong>.<\/li>\n<li>Cross-VPC access may require peering\/CEN\/private endpoints where supported.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Monitoring\/logging\/governance considerations<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Treat monitoring as production infrastructure:<\/li>\n<li>Use naming conventions and tags for Prometheus instances.<\/li>\n<li>Keep rules in version control where possible (export\/import).<\/li>\n<li>Control label cardinality and retention to manage cost.<\/li>\n<li>Audit changes to alert rules and access policies.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Simple architecture diagram (Mermaid)<\/h3>\n\n\n\n<pre><code class=\"language-mermaid\">flowchart LR\n  subgraph ACK[\"ACK Kubernetes Cluster\"]\n    A1[\"Apps \/metrics\"]\n    E1[\"Exporters (node\/app)\"]\n    C1[\"Collector\/Agent\"]\n    A1 --&gt; C1\n    E1 --&gt; C1\n  end\n\n  C1 --&gt; M[\"Alibaba Cloud Managed Service for Prometheus (Managed Backend)\"]\n  U[\"Users \/ Grafana \/ Console Dashboards\"] --&gt;|PromQL| M\n  M --&gt;|Alerts| N[\"Notification Channels (verify in docs)\"]\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Production-style architecture diagram (Mermaid)<\/h3>\n\n\n\n<pre><code class=\"language-mermaid\">flowchart TB\n  subgraph ProdVPC[\"Production VPC\"]\n    subgraph ClusterA[\"ACK Cluster - Production\"]\n      SVC1[\"Microservices + \/metrics\"]\n      EXP1[\"Infra exporters\"]\n      AG1[\"Prometheus Collector\/Agent (managed add-on)\"]\n      SVC1 --&gt; AG1\n      EXP1 --&gt; AG1\n    end\n\n    subgraph ClusterB[\"ACK Cluster - Shared Services\"]\n      SVC2[\"Ingress\/Service Mesh metrics (if used)\"]\n      AG2[\"Collector\/Agent\"]\n      SVC2 --&gt; AG2\n    end\n  end\n\n  AG1 --&gt;|metrics ingestion| MSP[\"Managed Service for Prometheus Instance (Region-scoped)\"]\n  AG2 --&gt;|metrics ingestion| MSP\n\n  subgraph Ops[\"Operations &amp; Governance\"]\n    RAM[\"RAM Users\/Roles + Policies\"]\n    VC[\"Version control for rules\/dashboards (process)\"]\n    AT[\"ActionTrail (audit) - verify service coverage\"]\n  end\n\n  RAM --&gt; MSP\n  VC --&gt; MSP\n  MSP --&gt;|PromQL queries| G[\"Grafana \/ Dashboards (managed or external)\"]\n  MSP --&gt;|Alert evaluation| AM[\"Alerting &amp; Routing (verify exact component)\"]\n  AM --&gt; IM[\"IM\/Email\/SMS\/Webhook (verify in docs)\"]\n  MSP --&gt; AT\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">8. Prerequisites<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Account and billing<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>An <strong>Alibaba Cloud account<\/strong> with billing enabled (Pay-as-you-go or subscription options depend on the service offering).<\/li>\n<li>Sufficient quota for creating Managed Service for Prometheus instances (quota is region- and account-dependent\u2014<strong>verify in official docs<\/strong>).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Permissions (RAM)<\/h3>\n\n\n\n<p>You need a RAM identity with permissions to:\n&#8211; Create\/manage Managed Service for Prometheus instances.\n&#8211; Integrate with ACK clusters (read cluster details, deploy add-ons).\n&#8211; View metrics\/dashboards and manage rules.<\/p>\n\n\n\n<p>If you are in an enterprise environment, request a least-privilege role from your cloud admin. The exact RAM policy actions for Managed Service for Prometheus should be taken from official documentation\u2014<strong>verify in official docs<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Required services\/tools (for the hands-on lab)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>ACK (Alibaba Cloud Container Service for Kubernetes)<\/strong> cluster (a small dev cluster is sufficient).<\/li>\n<li><code>kubectl<\/code> configured to access the cluster.<\/li>\n<li>Optional but helpful:<\/li>\n<li><code>helm<\/code> (only if your integration path requires it; many managed integrations do not).<\/li>\n<li>A workstation with network access to Alibaba Cloud console.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Region availability<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Managed Service for Prometheus is not necessarily available in every region and may differ by region\/edition.<\/li>\n<li>Choose a region where <strong>ACK<\/strong> and <strong>Managed Service for Prometheus<\/strong> are both available\u2014<strong>verify in official docs and console<\/strong>.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Quotas\/limits to check before you start<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Number of Prometheus instances\/workspaces allowed.<\/li>\n<li>Maximum active series and ingestion limits (affects scale and cost).<\/li>\n<li>Retention limits per instance.<\/li>\n<li>Alert rule limits and evaluation frequency constraints.<\/li>\n<\/ul>\n\n\n\n<p>These are service-specific and can change\u2014<strong>verify in official docs<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">9. Pricing \/ Cost<\/h2>\n\n\n\n<p>Alibaba Cloud pricing for Managed Service for Prometheus is <strong>usage-based and\/or edition-based<\/strong>, and it can be region-specific. Do not assume a single global price.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Pricing dimensions (typical for managed Prometheus services)<\/h3>\n\n\n\n<p>Expect pricing to be influenced by some combination of:\n&#8211; <strong>Ingestion volume<\/strong> (samples per second, data points ingested, or similar).\n&#8211; <strong>Active time series (cardinality)<\/strong> (unique metric+label combinations).\n&#8211; <strong>Storage\/retention<\/strong> (how long metrics are stored, and at what resolution).\n&#8211; <strong>Query load<\/strong> (concurrency, query range, or read volume in some models).\n&#8211; <strong>Alerting\/rules<\/strong> (number of rules, evaluation frequency).\n&#8211; <strong>Optional visualization<\/strong> (hosted Grafana or premium dashboards\u2014if billed separately).<\/p>\n\n\n\n<p>The exact billing meters for Alibaba Cloud Managed Service for Prometheus must be confirmed on the official pricing page\u2014<strong>verify in official docs<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Free tier<\/h3>\n\n\n\n<p>Alibaba Cloud offerings sometimes include trial quotas or limited free usage for new accounts or specific regions. This is not guaranteed\u2014<strong>verify in official pricing<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Direct cost drivers you control<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Cardinality (active series):<\/strong> the biggest silent cost driver in Prometheus ecosystems.<\/li>\n<li><strong>Scrape interval:<\/strong> 15s vs 60s can multiply ingestion cost.<\/li>\n<li><strong>Retention:<\/strong> storing 30\/90\/180 days changes cost significantly.<\/li>\n<li><strong>Label hygiene:<\/strong> avoid high-cardinality labels (request IDs, user IDs, dynamic URLs).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Hidden or indirect costs<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Data transfer:<\/strong> if collectors send metrics across regions or via public endpoints, you may incur bandwidth charges.<\/li>\n<li><strong>ACK costs:<\/strong> the Kubernetes cluster and worker nodes generate compute and storage charges regardless of monitoring.<\/li>\n<li><strong>Logging integration:<\/strong> if you also export logs\/traces, those services have separate costs.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Network\/data transfer implications<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Keep metrics ingestion <strong>in-region<\/strong> whenever possible to reduce latency and egress cost.<\/li>\n<li>Prefer private connectivity (VPC) if supported and if it reduces exposure.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">How to optimize cost (practical)<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Reduce cardinality at the source<\/strong>\n   &#8211; Avoid unbounded labels (e.g., <code>path=\/api\/users\/12345<\/code>).\n   &#8211; Normalize paths (e.g., <code>\/api\/users\/:id<\/code>).<\/li>\n<li><strong>Use longer scrape intervals for low-value metrics<\/strong>\n   &#8211; 60s for capacity metrics, 15s for SLO signals (as needed).<\/li>\n<li><strong>Control retention<\/strong>\n   &#8211; Keep long retention only for a small set of aggregated\/SLO metrics.<\/li>\n<li><strong>Use recording rules (if supported)<\/strong>\n   &#8211; Precompute expensive queries.<\/li>\n<li><strong>Separate environments<\/strong>\n   &#8211; Don\u2019t store dev\/test metrics with prod.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Example low-cost starter estimate (conceptual, not numeric)<\/h3>\n\n\n\n<p>A small dev setup typically includes:\n&#8211; One Prometheus instance\/workspace in a region.\n&#8211; One small ACK dev cluster.\n&#8211; Default Kubernetes metrics only.\n&#8211; Short retention (e.g., 7\u201315 days, if configurable).<\/p>\n\n\n\n<p>Total cost is often dominated by the ACK cluster nodes plus whatever ingestion\/storage the managed Prometheus charges. <strong>Because Alibaba Cloud pricing varies by region and SKU, verify in the official pricing page and calculator.<\/strong><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Example production cost considerations (conceptual)<\/h3>\n\n\n\n<p>For production, costs can grow rapidly with:\n&#8211; Multiple clusters and namespaces.\n&#8211; High-cardinality application metrics (per-tenant\/per-user labels).\n&#8211; Aggressive scrape intervals across thousands of pods.\n&#8211; Long retention requirements.<\/p>\n\n\n\n<p>A realistic production cost review should include:\n&#8211; Estimated active series per cluster.\n&#8211; Scrape interval strategy by metric class.\n&#8211; Retention policy per instance.\n&#8211; Data transfer paths (private vs public, cross-region).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Official pricing references<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Alibaba Cloud pricing landing page: https:\/\/www.alibabacloud.com\/pricing  <\/li>\n<li>Alibaba Cloud pricing calculator: https:\/\/www.alibabacloud.com\/pricing\/calculator  <\/li>\n<li>ARMS product page (often where Prometheus pricing is linked): https:\/\/www.alibabacloud.com\/product\/arms<br\/>\nFor a service-specific Managed Service for Prometheus pricing page, <strong>search within Alibaba Cloud Help Center for \u201cManaged Service for Prometheus billing\u201d<\/strong> because URLs can vary by documentation version: https:\/\/www.alibabacloud.com\/help<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">10. Step-by-Step Hands-On Tutorial<\/h2>\n\n\n\n<p>This lab focuses on a realistic beginner workflow: enable Managed Service for Prometheus for an ACK cluster, deploy a small metrics-emitting app, and validate metrics and alerts.<\/p>\n\n\n\n<p>Because Alibaba Cloud\u2019s console steps and integration add-ons can vary by region and by ACK version, follow the console prompts and <strong>verify details in the official docs<\/strong> where your screen differs.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Objective<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Create (or select) a <strong>Managed Service for Prometheus<\/strong> instance.<\/li>\n<li>Integrate it with an <strong>ACK Kubernetes cluster<\/strong>.<\/li>\n<li>Deploy a simple app that exposes Prometheus metrics on <code>\/metrics<\/code>.<\/li>\n<li>Verify metrics are visible with PromQL and optionally create a basic alert.<\/li>\n<li>Clean up resources to avoid ongoing cost.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Lab Overview<\/h3>\n\n\n\n<p>You will:\n1. Confirm prerequisites (ACK access, permissions).\n2. Create or open a Managed Service for Prometheus instance in the console.\n3. Connect the instance to an ACK cluster (install\/enable the collector add-on).\n4. Deploy a small \u201cdemo-metrics\u201d app and a Service in Kubernetes.\n5. Configure scraping (method depends on the integration mode).\n6. Validate data ingestion using PromQL.\n7. (Optional) Create an alert rule for uptime.\n8. Clean up.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 1: Prepare your ACK cluster access<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\n<p>Ensure you have:\n   &#8211; An existing ACK cluster (dev is fine).\n   &#8211; <code>kubectl<\/code> configured.<\/p>\n<\/li>\n<li>\n<p>Validate connectivity:<\/p>\n<\/li>\n<\/ol>\n\n\n\n<pre><code class=\"language-bash\">kubectl version --short\nkubectl get nodes\nkubectl get ns\n<\/code><\/pre>\n\n\n\n<p><strong>Expected outcome:<\/strong> you can list nodes and namespaces without authorization errors.<\/p>\n\n\n\n<p>If you cannot access the cluster:\n&#8211; Confirm your kubeconfig is correct.\n&#8211; Confirm your RAM identity has ACK permissions.\n&#8211; If using a bastion host, confirm security group rules allow access.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 2: Create (or locate) a Managed Service for Prometheus instance<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\n<p>In the Alibaba Cloud console, navigate to:\n   &#8211; <strong>ARMS<\/strong> (or the observability\/monitoring console where Prometheus is located)\n   &#8211; Find <strong>Managed Service for Prometheus<\/strong>.<\/p>\n<\/li>\n<li>\n<p>Create a new Prometheus instance\/workspace:\n   &#8211; Select the <strong>Region<\/strong> that matches your ACK cluster.\n   &#8211; Choose the instance type\/edition if prompted (options vary).\n   &#8211; Name it using a clear convention, for example:<\/p>\n<ul>\n<li><code>prom-dev-ack<\/code><\/li>\n<li><code>prom-prod-ack-a<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<p><strong>Expected outcome:<\/strong> the console shows a new Prometheus instance in \u201cRunning\/Active\u201d state.<\/p>\n\n\n\n<blockquote>\n<p>If you do not see Managed Service for Prometheus in your region, switch regions or check whether your account is allowed to activate ARMS\/Prometheus in that region\u2014<strong>verify in official docs<\/strong>.<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">Step 3: Integrate Managed Service for Prometheus with ACK<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>In your Prometheus instance, locate <strong>Integration<\/strong>, <strong>Data Sources<\/strong>, or <strong>Kubernetes\/ACK<\/strong> integration.<\/li>\n<li>Select your <strong>ACK cluster<\/strong> from the list.<\/li>\n<li>Follow the wizard to:\n   &#8211; Authorize access (RAM role or authorization step).\n   &#8211; Install\/enable the <strong>collector\/agent<\/strong> in the cluster (often as an ACK add-on).<\/li>\n<li>Wait for the integration to report \u201cHealthy\/Connected\u201d.<\/li>\n<\/ol>\n\n\n\n<p><strong>Expected outcome:<\/strong> the Prometheus instance shows your ACK cluster as connected, and core Kubernetes targets begin to appear as \u201cUp\u201d in the target list (if a \u201cTargets\u201d view is provided).<\/p>\n\n\n\n<p><strong>Verification (cluster side):<\/strong>\nAfter integration, check for newly created namespaces or deployments (names vary). Run:<\/p>\n\n\n\n<pre><code class=\"language-bash\">kubectl get pods -A | grep -i prom || true\nkubectl get pods -A | grep -i arms || true\n<\/code><\/pre>\n\n\n\n<p><strong>Expected outcome:<\/strong> you should see one or more pods for the collector\/agent. Names differ by Alibaba Cloud integration.<\/p>\n\n\n\n<blockquote>\n<p>If you cannot find pods by name, list all add-ons in ACK console. Some integrations use ACK add-on management rather than plain Kubernetes manifests.<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">Step 4: Deploy a demo app that exposes Prometheus metrics<\/h3>\n\n\n\n<p>Create a namespace:<\/p>\n\n\n\n<pre><code class=\"language-bash\">kubectl create namespace observability-lab\n<\/code><\/pre>\n\n\n\n<p>Deploy a simple metrics endpoint. The following example uses a minimal HTTP server container that exposes Prometheus-format metrics. If your organization requires vetted images, replace with an approved image.<\/p>\n\n\n\n<p>Create <code>demo-metrics.yaml<\/code>:<\/p>\n\n\n\n<pre><code class=\"language-yaml\">apiVersion: apps\/v1\nkind: Deployment\nmetadata:\n  name: demo-metrics\n  namespace: observability-lab\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app: demo-metrics\n  template:\n    metadata:\n      labels:\n        app: demo-metrics\n    spec:\n      containers:\n        - name: demo-metrics\n          image: prom\/statsd-exporter:v0.26.0\n          ports:\n            - name: http\n              containerPort: 9102\n---\napiVersion: v1\nkind: Service\nmetadata:\n  name: demo-metrics\n  namespace: observability-lab\n  labels:\n    app: demo-metrics\nspec:\n  selector:\n    app: demo-metrics\n  ports:\n    - name: http\n      port: 9102\n      targetPort: 9102\n<\/code><\/pre>\n\n\n\n<p>Apply it:<\/p>\n\n\n\n<pre><code class=\"language-bash\">kubectl apply -f demo-metrics.yaml\nkubectl -n observability-lab rollout status deploy\/demo-metrics\nkubectl -n observability-lab get svc,pods -o wide\n<\/code><\/pre>\n\n\n\n<p><strong>Expected outcome:<\/strong> the pod is Running and the Service exists.<\/p>\n\n\n\n<p>Test locally via port-forward:<\/p>\n\n\n\n<pre><code class=\"language-bash\">kubectl -n observability-lab port-forward svc\/demo-metrics 9102:9102\n<\/code><\/pre>\n\n\n\n<p>In another terminal:<\/p>\n\n\n\n<pre><code class=\"language-bash\">curl -s http:\/\/127.0.0.1:9102\/metrics | head\n<\/code><\/pre>\n\n\n\n<p><strong>Expected outcome:<\/strong> you see Prometheus-style metric text output.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 5: Configure scraping for the demo app<\/h3>\n\n\n\n<p>How you configure scraping depends on the Alibaba Cloud integration mode:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Some managed Prometheus integrations in Kubernetes support <strong>Prometheus Operator CRDs<\/strong> like <code>ServiceMonitor<\/code>.<\/li>\n<li>Others rely on <strong>annotations<\/strong> on Services\/Pods.<\/li>\n<li>Others use a console-based \u201cService Discovery\u201d configuration.<\/li>\n<\/ul>\n\n\n\n<p>Because this varies, choose <strong>one<\/strong> of the following patterns based on what your integration supports.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Option A: Annotation-based scraping (common pattern)<\/h4>\n\n\n\n<p>Patch the Service to include scrape annotations (only works if the collector watches these annotations):<\/p>\n\n\n\n<pre><code class=\"language-bash\">kubectl -n observability-lab patch svc demo-metrics -p '{\n  \"metadata\": {\n    \"annotations\": {\n      \"prometheus.io\/scrape\": \"true\",\n      \"prometheus.io\/port\": \"9102\",\n      \"prometheus.io\/path\": \"\/metrics\"\n    }\n  }\n}'\n<\/code><\/pre>\n\n\n\n<p><strong>Expected outcome:<\/strong> If annotation discovery is enabled, the target appears in the managed Prometheus \u201cTargets\u201d view and begins ingesting.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Option B: ServiceMonitor (Prometheus Operator pattern)<\/h4>\n\n\n\n<p>Only do this if your cluster has the <code>ServiceMonitor<\/code> CRD installed (run the check below).<\/p>\n\n\n\n<p>Check CRD:<\/p>\n\n\n\n<pre><code class=\"language-bash\">kubectl get crd | grep -i servicemonitor || true\n<\/code><\/pre>\n\n\n\n<p>If present, create <code>servicemonitor-demo.yaml<\/code>:<\/p>\n\n\n\n<pre><code class=\"language-yaml\">apiVersion: monitoring.coreos.com\/v1\nkind: ServiceMonitor\nmetadata:\n  name: demo-metrics\n  namespace: observability-lab\nspec:\n  selector:\n    matchLabels:\n      app: demo-metrics\n  namespaceSelector:\n    matchNames:\n      - observability-lab\n  endpoints:\n    - port: http\n      path: \/metrics\n      interval: 30s\n<\/code><\/pre>\n\n\n\n<p>Apply it:<\/p>\n\n\n\n<pre><code class=\"language-bash\">kubectl apply -f servicemonitor-demo.yaml\n<\/code><\/pre>\n\n\n\n<p><strong>Expected outcome:<\/strong> the target is discovered and scraped.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Option C: Console-managed scrape config<\/h4>\n\n\n\n<p>If neither annotations nor <code>ServiceMonitor<\/code> works, use the Prometheus instance console to add a scrape configuration:\n&#8211; Add a Kubernetes service discovery job.\n&#8211; Filter by namespace <code>observability-lab<\/code> and label <code>app=demo-metrics<\/code>.\n&#8211; Apply changes and wait for target status.<\/p>\n\n\n\n<p><strong>Expected outcome:<\/strong> targets become visible and <code>up<\/code> becomes <code>1<\/code> for the job.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 6: Validate metrics in Managed Service for Prometheus<\/h3>\n\n\n\n<p>In the Prometheus instance, open the query UI (or Grafana dashboard if provided) and run:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Target health:<\/li>\n<li><code>up<\/code><\/li>\n<li>Kubernetes signals (these depend on which collectors are installed; examples):<\/li>\n<li><code>kube_pod_status_ready<\/code><\/li>\n<li><code>container_cpu_usage_seconds_total<\/code><\/li>\n<\/ul>\n\n\n\n<p>For the demo target, you can query:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>up{namespace=\"observability-lab\"}<\/code><\/li>\n<\/ul>\n\n\n\n<p><strong>Expected outcome:<\/strong>\n&#8211; You see time series returned.\n&#8211; For the demo target, <code>up<\/code> is <code>1<\/code> when it\u2019s being scraped successfully.<\/p>\n\n\n\n<p>If you don\u2019t see the target:\n&#8211; It may not be discovered (scrape config not applied).\n&#8211; The collector may not have permissions to list endpoints in that namespace.\n&#8211; Network policies may block scraping.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 7 (Optional): Create a basic alert rule<\/h3>\n\n\n\n<p>Create an alert that fires if the demo target is down for 5 minutes:<\/p>\n\n\n\n<p>PromQL condition:<\/p>\n\n\n\n<pre><code class=\"language-promql\">up{namespace=\"observability-lab\"} == 0\n<\/code><\/pre>\n\n\n\n<p>Recommended alert style:\n&#8211; Add a <code>for: 5m<\/code> so it doesn\u2019t fire on transient restarts.\n&#8211; Add labels like <code>severity=\"warning\"<\/code>.<\/p>\n\n\n\n<p><strong>Expected outcome:<\/strong> if you scale the deployment to zero, the alert should eventually become pending\/firing (depending on evaluation interval).<\/p>\n\n\n\n<p>Test by scaling down:<\/p>\n\n\n\n<pre><code class=\"language-bash\">kubectl -n observability-lab scale deploy\/demo-metrics --replicas=0\n<\/code><\/pre>\n\n\n\n<p>Wait 5\u201310 minutes, then scale back:<\/p>\n\n\n\n<pre><code class=\"language-bash\">kubectl -n observability-lab scale deploy\/demo-metrics --replicas=1\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Validation<\/h3>\n\n\n\n<p>Use a checklist:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Integration health<\/strong>\n   &#8211; Console shows ACK cluster connected\/healthy.<\/li>\n<li><strong>Collector running<\/strong>\n   &#8211; You can find collector\/agent pods in the cluster.<\/li>\n<li><strong>Target discovery<\/strong>\n   &#8211; Demo target appears in targets list (if available).<\/li>\n<li><strong>PromQL query returns data<\/strong>\n   &#8211; <code>up{namespace=\"observability-lab\"}<\/code> returns <code>1<\/code> for the demo target.<\/li>\n<li><strong>(Optional) Alert fires<\/strong>\n   &#8211; Scaling down causes alert to trigger after <code>for<\/code> duration.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Troubleshooting<\/h3>\n\n\n\n<p>Common issues and fixes:<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Issue: No metrics at all (even Kubernetes dashboards empty)<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Likely causes:<\/strong><\/li>\n<li>Integration not completed.<\/li>\n<li>Collector\/agent not running.<\/li>\n<li>Wrong region (Prometheus instance not in same region as ACK integration).<\/li>\n<li><strong>Fix:<\/strong><\/li>\n<li>Re-run integration wizard and confirm ACK cluster selection.<\/li>\n<li>Check cluster add-ons and ensure required add-on is enabled.<\/li>\n<li>Confirm RAM permissions for integration steps.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Issue: Collector pods exist but demo target not discovered<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Likely causes:<\/strong><\/li>\n<li>Discovery method mismatch (annotations vs ServiceMonitor vs console config).<\/li>\n<li>Namespace restrictions.<\/li>\n<li><strong>Fix:<\/strong><\/li>\n<li>Confirm which discovery mechanism your integration uses (official docs for your integration mode).<\/li>\n<li>If using ServiceMonitor, confirm CRDs exist and selector labels match.<\/li>\n<li>If using annotations, confirm collector watches the relevant annotations.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Issue: <code>up<\/code> is <code>0<\/code><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Likely causes:<\/strong><\/li>\n<li>Metrics path\/port wrong.<\/li>\n<li>NetworkPolicy blocks access.<\/li>\n<li>Service points to wrong pod labels.<\/li>\n<li><strong>Fix:<\/strong><\/li>\n<li>Port-forward to confirm <code>\/metrics<\/code> works.<\/li>\n<li>Check Service selectors match pod labels.<\/li>\n<li>Temporarily remove NetworkPolicies (in dev) or open required paths properly.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Issue: Alerts never fire<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Likely causes:<\/strong><\/li>\n<li>Rule not saved to the correct instance\/workspace.<\/li>\n<li>Alert evaluation interval too long.<\/li>\n<li>Notification channel not configured.<\/li>\n<li><strong>Fix:<\/strong><\/li>\n<li>Confirm rule status in the instance.<\/li>\n<li>Test with a simpler rule (<code>vector(1)<\/code> style tests aren\u2019t alert conditions; use <code>up==0<\/code>).<\/li>\n<li>Configure notification channels and routing.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Cleanup<\/h3>\n\n\n\n<p>To avoid ongoing cost:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Delete the demo workload:<\/li>\n<\/ol>\n\n\n\n<pre><code class=\"language-bash\">kubectl delete namespace observability-lab\n<\/code><\/pre>\n\n\n\n<ol class=\"wp-block-list\" start=\"2\">\n<li>\n<p>If you created additional scrape configs\/rules:\n&#8211; Remove the demo job \/ ServiceMonitor \/ annotations.\n&#8211; Delete the alert rule for demo.<\/p>\n<\/li>\n<li>\n<p>Detach the ACK cluster from Managed Service for Prometheus (console):\n&#8211; In the Prometheus instance, remove the Kubernetes integration.\n&#8211; Confirm collector add-on is uninstalled\/disabled if desired.<\/p>\n<\/li>\n<li>\n<p>Delete the Managed Service for Prometheus instance (console) if it was created only for the lab.<\/p>\n<\/li>\n<\/ol>\n\n\n\n<p><strong>Expected outcome:<\/strong> no demo resources remain; the managed instance is removed or no longer ingesting.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">11. Best Practices<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Architecture best practices<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Use separate instances\/workspaces for prod vs non-prod.<\/strong><\/li>\n<li><strong>Align instances to blast radius:<\/strong><\/li>\n<li>Per-cluster instance for strict isolation.<\/li>\n<li>Per-environment instance for simplicity.<\/li>\n<li><strong>Define a metrics taxonomy:<\/strong><\/li>\n<li>Standard labels (<code>service<\/code>, <code>env<\/code>, <code>cluster<\/code>, <code>namespace<\/code>) with controlled values.<\/li>\n<li><strong>Plan for multi-cluster:<\/strong><\/li>\n<li>Decide whether you will aggregate centrally or keep clusters isolated.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">IAM\/security best practices<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Least privilege with RAM:<\/strong><\/li>\n<li>Separate roles for \u201cviewer\u201d, \u201crule editor\u201d, \u201cadmin\u201d.<\/li>\n<li><strong>Separation of duties:<\/strong><\/li>\n<li>Developers can view and build dashboards; SRE approves production alert changes.<\/li>\n<li><strong>Use temporary credentials for automation<\/strong> when supported.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Cost best practices<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Control cardinality:<\/strong><\/li>\n<li>Avoid dynamic IDs in labels.<\/li>\n<li>Prefer histograms with careful bucket strategy; avoid excessive label combinations.<\/li>\n<li><strong>Tune scrape intervals:<\/strong><\/li>\n<li>Only critical SLO signals at 15s; most metrics at 30\u201360s.<\/li>\n<li><strong>Reduce retention for noisy metrics.<\/strong><\/li>\n<li><strong>Record expensive queries<\/strong> (if supported) to reduce query cost\/perf impact.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Performance best practices<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Use recording rules for dashboards<\/strong> that query wide ranges frequently.<\/li>\n<li><strong>Avoid heavy regex label matching<\/strong> in dashboards.<\/li>\n<li><strong>Prefer pre-aggregated metrics<\/strong> for high-level views.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Reliability best practices<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Treat collectors as critical components:<\/strong><\/li>\n<li>Ensure they have resource requests\/limits (if configurable).<\/li>\n<li>Monitor collector health metrics.<\/li>\n<li><strong>Alert on monitoring gaps:<\/strong><\/li>\n<li>Alert if scrape targets drop unexpectedly.<\/li>\n<li>Alert if ingestion stops.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Operations best practices<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Version control your rules:<\/strong><\/li>\n<li>Keep a repository of alert rules and dashboards (export\/import procedures).<\/li>\n<li><strong>Use consistent naming conventions:<\/strong><\/li>\n<li><code>prom-prod-{cluster}<\/code>, <code>prom-dev-{cluster}<\/code>.<\/li>\n<li><strong>Tag resources<\/strong> (if supported by the service) by <code>env<\/code>, <code>owner<\/code>, <code>costcenter<\/code>.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Governance best practices<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Establish a <strong>label policy<\/strong> and reject metrics that violate it (where technically possible).<\/li>\n<li>Document \u201cgolden signals\u201d per service and keep a standard dashboard template.<\/li>\n<li>Review alert noise monthly.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">12. Security Considerations<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Identity and access model<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Managed Service for Prometheus administration and access should be governed by <strong>RAM<\/strong>.<\/li>\n<li>Protect:<\/li>\n<li>Who can <strong>read<\/strong> metrics (they may reveal business-sensitive volumes).<\/li>\n<li>Who can <strong>edit<\/strong> alert rules (can create alert storms or suppress incidents).<\/li>\n<li>Who can <strong>manage integrations<\/strong> (can exfiltrate monitoring data if misconfigured).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Encryption<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Data-in-transit: prefer TLS endpoints (most managed services enforce this).<\/li>\n<li>Data-at-rest: managed services usually encrypt stored data by default; confirm encryption posture and any KMS options in official docs.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Network exposure<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Prefer private networking if available:<\/li>\n<li>Keep collectors and endpoints within VPC.<\/li>\n<li>Avoid public ingestion endpoints unless necessary.<\/li>\n<li>Restrict outbound access from clusters if your security model requires it, but ensure the collector can reach the managed ingestion endpoint.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Secrets handling<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>If integration requires tokens\/credentials:<\/li>\n<li>Store credentials in Kubernetes Secrets.<\/li>\n<li>Use RAM roles and short-lived credentials where possible.<\/li>\n<li>Rotate credentials regularly.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Audit\/logging<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Enable cloud audit trails (e.g., ActionTrail) if supported:<\/li>\n<li>Track who changed rules, integrations, and access policies.<\/li>\n<li>Maintain an internal change log for critical alert\/rule updates.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Compliance considerations<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Confirm region residency requirements:<\/li>\n<li>Metrics stored in-region may be mandatory.<\/li>\n<li>Consider metrics as operational data that may include:<\/li>\n<li>Tenant IDs (if mislabeled)<\/li>\n<li>Endpoint paths<\/li>\n<li>Business KPI proxies (traffic volume)<\/li>\n<li>Implement data minimization:<\/li>\n<li>Avoid embedding user identifiers or sensitive data in labels.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Common security mistakes<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Granting broad \u201cadmin\u201d access to all engineers.<\/li>\n<li>Using public endpoints without access controls.<\/li>\n<li>Allowing arbitrary labels that include customer identifiers.<\/li>\n<li>Not auditing alert rule changes.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Secure deployment recommendations<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Start with \u201cviewer\u201d access for most users.<\/li>\n<li>Restrict \u201crule editor\u201d access to a small group.<\/li>\n<li>Keep prod monitoring separate from dev to prevent accidental query\/rule impact.<\/li>\n<li>Standardize and review label usage to reduce sensitive data exposure.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">13. Limitations and Gotchas<\/h2>\n\n\n\n<p>Because service behavior can vary by region and edition, treat these as common gotchas and confirm specifics in official documentation.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Known limitations (typical)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Quota limits<\/strong> on instances, rules, or targets.<\/li>\n<li><strong>Retention constraints<\/strong> based on edition\/SKU.<\/li>\n<li><strong>Query limits<\/strong> (time range, concurrency, or rate limits).<\/li>\n<li><strong>Managed integration boundaries<\/strong> (not all Kubernetes configurations supported equally).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Regional constraints<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Not available in every region.<\/li>\n<li>Private networking features may differ by region\u2014<strong>verify in official docs<\/strong>.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Pricing surprises<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>High-cardinality metrics can increase cost dramatically.<\/li>\n<li>Short scrape intervals across many pods multiplies ingestion.<\/li>\n<li>Cross-region ingestion may add bandwidth\/egress.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Compatibility issues<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Some Prometheus ecosystem features depend on integration mode:<\/li>\n<li><code>ServiceMonitor<\/code> CRDs may not be present unless operator-style components are installed.<\/li>\n<li>Alertmanager feature parity may differ from upstream\u2014verify supported routing and templating capabilities.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Operational gotchas<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>If collectors are down, you may have a \u201cmonitoring blind spot.\u201d<\/li>\n<li>Label changes can break dashboards\/alerts.<\/li>\n<li>Unbounded labels cause slow queries and high cost.<\/li>\n<li>Multi-cluster dashboards require consistent labeling (<code>cluster<\/code>, <code>env<\/code>) or they become unusable.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Migration challenges<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Rule and dashboard portability: PromQL often ports, but:<\/li>\n<li>Label names may differ (<code>cluster<\/code> vs <code>cluster_name<\/code> etc.).<\/li>\n<li>Kubernetes metric sets can vary by collector versions.<\/li>\n<li>Alert routing differences vs self-managed Alertmanager.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Vendor-specific nuances<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Console navigation may be under ARMS rather than a standalone Prometheus console.<\/li>\n<li>Notification channels may be tied to Alibaba Cloud alerting systems rather than pure Alertmanager semantics\u2014verify.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">14. Comparison with Alternatives<\/h2>\n\n\n\n<p>Managed Service for Prometheus is one option in an observability stack. Here\u2019s how it compares.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Alternatives in Alibaba Cloud<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>CloudMonitor<\/strong>: general cloud resource monitoring; may not be Prometheus-first.<\/li>\n<li><strong>ARMS application monitoring<\/strong>: APM-oriented traces and app metrics; may complement Prometheus.<\/li>\n<li><strong>Self-managed Prometheus on ECS\/ACK<\/strong>: full control but higher ops burden.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Alternatives in other clouds<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Amazon Managed Service for Prometheus (AWS)<\/strong><\/li>\n<li><strong>Google Cloud Managed Service for Prometheus<\/strong><\/li>\n<li><strong>Azure Monitor managed Prometheus<\/strong><\/li>\n<li><strong>Grafana Cloud Metrics \/ Mimir-based offerings<\/strong><\/li>\n<li><strong>Self-managed Prometheus + Thanos\/Cortex\/Mimir<\/strong><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Comparison table<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table>\n<thead>\n<tr>\n<th>Option<\/th>\n<th>Best For<\/th>\n<th>Strengths<\/th>\n<th>Weaknesses<\/th>\n<th>When to Choose<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Alibaba Cloud Managed Service for Prometheus<\/td>\n<td>Teams on Alibaba Cloud needing Prometheus with less ops<\/td>\n<td>Prometheus compatibility, managed backend, Alibaba Cloud integration (ACK\/RAM)<\/td>\n<td>Pricing can be sensitive to cardinality; integration details vary by region\/edition<\/td>\n<td>You want managed Prometheus for ACK and standardized O&amp;M<\/td>\n<\/tr>\n<tr>\n<td>Self-managed Prometheus (on ECS\/ACK)<\/td>\n<td>Teams needing full control and custom topology<\/td>\n<td>Full control, predictable components, upstream feature parity<\/td>\n<td>High ops burden, scaling\/HA complexity, storage management<\/td>\n<td>You must control every component or run in restricted environments<\/td>\n<\/tr>\n<tr>\n<td>Prometheus + Thanos\/Cortex\/Mimir (self-managed)<\/td>\n<td>Large-scale, long retention with multi-cluster<\/td>\n<td>Strong long-term storage patterns, global querying<\/td>\n<td>Complex to operate; object storage, compaction, HA<\/td>\n<td>You already have SRE maturity and need massive scale or long retention<\/td>\n<\/tr>\n<tr>\n<td>Alibaba Cloud CloudMonitor<\/td>\n<td>Cloud resource monitoring and basic alarms<\/td>\n<td>Easy for cloud resource metrics, simple alarms<\/td>\n<td>Less flexible than PromQL; not tailored to app metrics ecosystem<\/td>\n<td>You mainly monitor cloud resources, not app-level Prometheus metrics<\/td>\n<\/tr>\n<tr>\n<td>AWS\/Azure\/GCP managed Prometheus<\/td>\n<td>Multi-cloud teams standardized on other providers<\/td>\n<td>Similar managed model, deep native integrations<\/td>\n<td>Not Alibaba Cloud; cross-cloud adds complexity<\/td>\n<td>Your workloads run primarily in those clouds<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">15. Real-World Example<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Enterprise example: Multi-cluster Kubernetes platform for a retail enterprise<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem:<\/strong> A retail company runs multiple ACK clusters per region for online storefront, inventory, and payment services. Self-managed Prometheus in each cluster became unreliable, and each team built different dashboards and alerts.<\/li>\n<li><strong>Proposed architecture:<\/strong><\/li>\n<li>One Managed Service for Prometheus instance per region for production clusters (or per critical cluster if isolation is required).<\/li>\n<li>Standardized label set (<code>env<\/code>, <code>region<\/code>, <code>cluster<\/code>, <code>service<\/code>, <code>team<\/code>).<\/li>\n<li>Central rule repository and change process.<\/li>\n<li>Grafana dashboards (managed or external) using PromQL against the managed backend.<\/li>\n<li>RAM-based RBAC: platform team admin, app teams read-only + limited rule editing in non-prod.<\/li>\n<li><strong>Why this service was chosen:<\/strong><\/li>\n<li>Reduced operational overhead for Prometheus HA, storage, and upgrades.<\/li>\n<li>Strong fit with ACK-based architecture and Alibaba Cloud identity\/networking.<\/li>\n<li><strong>Expected outcomes:<\/strong><\/li>\n<li>Fewer monitoring outages and blind spots.<\/li>\n<li>Standard dashboards and SLO-based alerts reduce noise and improve on-call effectiveness.<\/li>\n<li>Improved compliance with centralized access control and audit.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Startup\/small-team example: Single ACK cluster with fast alerting<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem:<\/strong> A small SaaS startup runs a single ACK cluster and needs reliable alerts for latency and error rates but can\u2019t afford to operate complex monitoring infrastructure.<\/li>\n<li><strong>Proposed architecture:<\/strong><\/li>\n<li>One Managed Service for Prometheus instance for the cluster.<\/li>\n<li>Minimal set of application metrics (RED metrics) with controlled labels.<\/li>\n<li>Basic dashboards: request rate, p95 latency, error rate, pod restarts.<\/li>\n<li>A handful of high-signal alerts with paging only for actionable incidents.<\/li>\n<li><strong>Why this service was chosen:<\/strong><\/li>\n<li>Quick setup and Prometheus compatibility.<\/li>\n<li>Focus engineering time on product rather than monitoring ops.<\/li>\n<li><strong>Expected outcomes:<\/strong><\/li>\n<li>Faster incident detection.<\/li>\n<li>Clearer understanding of performance regressions during releases.<\/li>\n<li>Controlled monitoring cost through label hygiene and scrape interval tuning.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">16. FAQ<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\n<p><strong>Is Managed Service for Prometheus the same as open-source Prometheus?<\/strong><br\/>\n   It is Prometheus-compatible, but it\u2019s a managed service. The backend, scaling, and some operational components are handled by Alibaba Cloud. Feature parity with upstream Prometheus components can vary\u2014verify supported capabilities in official docs.<\/p>\n<\/li>\n<li>\n<p><strong>Do I still use PromQL?<\/strong><br\/>\n   Yes, PromQL is central to querying and alerting in Prometheus-compatible systems.<\/p>\n<\/li>\n<li>\n<p><strong>Can I monitor ACK Kubernetes clusters?<\/strong><br\/>\n   That is a primary use case. Integration is typically available through console workflows and add-ons\/agents.<\/p>\n<\/li>\n<li>\n<p><strong>Can I monitor ECS VMs or non-Kubernetes workloads?<\/strong><br\/>\n   Possibly via exporters\/agents and supported ingestion methods, but the exact supported patterns depend on Alibaba Cloud\u2019s service model\u2014verify in official docs.<\/p>\n<\/li>\n<li>\n<p><strong>Where are my metrics stored?<\/strong><br\/>\n   Typically in the region where you create the Prometheus instance. Confirm region residency and retention settings in official docs.<\/p>\n<\/li>\n<li>\n<p><strong>How do I control who can see metrics?<\/strong><br\/>\n   Use RAM policies and resource scoping to restrict access by user\/role.<\/p>\n<\/li>\n<li>\n<p><strong>What\u2019s the biggest cost risk?<\/strong><br\/>\n   High cardinality (too many unique time series) and aggressive scrape intervals across many targets.<\/p>\n<\/li>\n<li>\n<p><strong>Does it include Grafana?<\/strong><br\/>\n   Many managed Prometheus offerings include Grafana or Grafana-compatible dashboards, but packaging differs. Verify whether you get hosted Grafana, embedded dashboards, or a data source endpoint.<\/p>\n<\/li>\n<li>\n<p><strong>Can I bring my existing dashboards?<\/strong><br\/>\n   If they use PromQL and standard Prometheus metrics, usually yes, but label differences may require edits.<\/p>\n<\/li>\n<li>\n<p><strong>Can I use Alertmanager configuration directly?<\/strong><br\/>\n   Some managed services provide a Prometheus-style alerting experience but not full upstream Alertmanager config parity. Verify the supported routing\/templating model.<\/p>\n<\/li>\n<li>\n<p><strong>How do I avoid alert noise?<\/strong><br\/>\n   Use <code>for<\/code> durations, multi-window burn-rate for SLOs, and route alerts by severity. Keep alerts actionable.<\/p>\n<\/li>\n<li>\n<p><strong>How do I handle multi-cluster dashboards?<\/strong><br\/>\n   Enforce consistent labels like <code>cluster<\/code> and <code>env<\/code>, and create dashboard variables based on them.<\/p>\n<\/li>\n<li>\n<p><strong>What happens if the collector in the cluster fails?<\/strong><br\/>\n   Scraping stops and you may lose visibility. Monitor collector health and alert on ingestion gaps.<\/p>\n<\/li>\n<li>\n<p><strong>Can I migrate from self-managed Prometheus incrementally?<\/strong><br\/>\n   Often yes: start with Kubernetes cluster metrics in managed service, then move app metrics and alert rules gradually. Confirm supported ingestion\/migration tools in official docs.<\/p>\n<\/li>\n<li>\n<p><strong>How do I estimate sizing and cost before rollout?<\/strong><br\/>\n   Measure active series and scrape volume in a pilot cluster, then extrapolate. Use the Alibaba Cloud pricing calculator and the service pricing documentation.<\/p>\n<\/li>\n<li>\n<p><strong>Is this a Migration &amp; O&amp;M Management service?<\/strong><br\/>\n   It is primarily an O&amp;M\/observability service and is often used during migrations (moving from self-managed Prometheus or standardizing monitoring during platform migration).<\/p>\n<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">17. Top Online Resources to Learn Managed Service for Prometheus<\/h2>\n\n\n\n<p>Use official Alibaba Cloud sources first, because features and billing can be region- and edition-dependent.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table>\n<thead>\n<tr>\n<th>Resource Type<\/th>\n<th>Name<\/th>\n<th>Why It Is Useful<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Official documentation<\/td>\n<td>Alibaba Cloud Help Center (search \u201cManaged Service for Prometheus\u201d) \u2014 https:\/\/www.alibabacloud.com\/help<\/td>\n<td>Most accurate and current setup steps, limits, and configuration details<\/td>\n<\/tr>\n<tr>\n<td>Official product page<\/td>\n<td>ARMS product page \u2014 https:\/\/www.alibabacloud.com\/product\/arms<\/td>\n<td>Entry point for Prometheus-related managed observability offerings<\/td>\n<\/tr>\n<tr>\n<td>Official pricing<\/td>\n<td>Alibaba Cloud Pricing \u2014 https:\/\/www.alibabacloud.com\/pricing<\/td>\n<td>Central pricing hub for Alibaba Cloud services<\/td>\n<\/tr>\n<tr>\n<td>Official calculator<\/td>\n<td>Alibaba Cloud Pricing Calculator \u2014 https:\/\/www.alibabacloud.com\/pricing\/calculator<\/td>\n<td>Estimate costs using region-specific meters<\/td>\n<\/tr>\n<tr>\n<td>Official Kubernetes service<\/td>\n<td>ACK product page \u2014 https:\/\/www.alibabacloud.com\/product\/kubernetes<\/td>\n<td>Required context for cluster integration and add-ons<\/td>\n<\/tr>\n<tr>\n<td>Getting started guides<\/td>\n<td>Alibaba Cloud Help Center \u201cGetting Started\u201d sections (ARMS\/Prometheus\/ACK) \u2014 https:\/\/www.alibabacloud.com\/help<\/td>\n<td>Guided workflows; best match for beginner labs<\/td>\n<\/tr>\n<tr>\n<td>Release notes \/ updates<\/td>\n<td>Alibaba Cloud Help Center release notes for ARMS\/Prometheus (navigate from Help Center) \u2014 https:\/\/www.alibabacloud.com\/help<\/td>\n<td>Tracks new features, changes, and deprecations<\/td>\n<\/tr>\n<tr>\n<td>Videos\/webinars<\/td>\n<td>Alibaba Cloud official channels (navigate from Alibaba Cloud site) \u2014 https:\/\/www.alibabacloud.com<\/td>\n<td>Visual walkthroughs; useful for console-based steps<\/td>\n<\/tr>\n<tr>\n<td>Open-source fundamentals<\/td>\n<td>Prometheus docs \u2014 https:\/\/prometheus.io\/docs\/<\/td>\n<td>PromQL, exporters, alerting concepts used by the managed service<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">18. Training and Certification Providers<\/h2>\n\n\n\n<p>The following are third-party training providers. Verify course outlines, freshness, and instructor credentials directly on their websites.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table>\n<thead>\n<tr>\n<th>Institute<\/th>\n<th>Suitable Audience<\/th>\n<th>Likely Learning Focus<\/th>\n<th>Mode<\/th>\n<th>Website URL<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>DevOpsSchool.com<\/td>\n<td>DevOps engineers, SREs, platform teams<\/td>\n<td>Observability, DevOps practices, Kubernetes monitoring concepts<\/td>\n<td>Check website<\/td>\n<td>https:\/\/www.devopsschool.com<\/td>\n<\/tr>\n<tr>\n<td>ScmGalaxy.com<\/td>\n<td>Beginners to intermediate DevOps learners<\/td>\n<td>DevOps foundations, tooling, operational practices<\/td>\n<td>Check website<\/td>\n<td>https:\/\/www.scmgalaxy.com<\/td>\n<\/tr>\n<tr>\n<td>CLoudOpsNow.in<\/td>\n<td>Cloud operations teams, engineers<\/td>\n<td>Cloud operations and O&amp;M practices<\/td>\n<td>Check website<\/td>\n<td>https:\/\/www.cloudopsnow.in<\/td>\n<\/tr>\n<tr>\n<td>SreSchool.com<\/td>\n<td>SREs, reliability engineers<\/td>\n<td>SRE practices, monitoring\/alerting\/SLOs<\/td>\n<td>Check website<\/td>\n<td>https:\/\/www.sreschool.com<\/td>\n<\/tr>\n<tr>\n<td>AiOpsSchool.com<\/td>\n<td>Ops teams exploring AIOps concepts<\/td>\n<td>Operations automation concepts and tooling ecosystem<\/td>\n<td>Check website<\/td>\n<td>https:\/\/www.aiopsschool.com<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">19. Top Trainers<\/h2>\n\n\n\n<p>These sites are listed as training resources\/platforms. Verify specific trainer profiles and course content directly.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table>\n<thead>\n<tr>\n<th>Platform\/Site<\/th>\n<th>Likely Specialization<\/th>\n<th>Suitable Audience<\/th>\n<th>Website URL<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>RajeshKumar.xyz<\/td>\n<td>DevOps\/cloud training content (verify offerings)<\/td>\n<td>Beginners to intermediate engineers<\/td>\n<td>https:\/\/www.rajeshkumar.xyz<\/td>\n<\/tr>\n<tr>\n<td>devopstrainer.in<\/td>\n<td>DevOps tooling and practices (verify offerings)<\/td>\n<td>DevOps engineers, students<\/td>\n<td>https:\/\/www.devopstrainer.in<\/td>\n<\/tr>\n<tr>\n<td>devopsfreelancer.com<\/td>\n<td>DevOps consulting\/training style services (verify)<\/td>\n<td>Teams needing short engagements<\/td>\n<td>https:\/\/www.devopsfreelancer.com<\/td>\n<\/tr>\n<tr>\n<td>devopssupport.in<\/td>\n<td>DevOps support and enablement (verify)<\/td>\n<td>Ops\/DevOps teams<\/td>\n<td>https:\/\/www.devopssupport.in<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">20. Top Consulting Companies<\/h2>\n\n\n\n<p>These firms are listed as consulting providers. Validate service scope, references, and contractual terms directly.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table>\n<thead>\n<tr>\n<th>Company<\/th>\n<th>Likely Service Area<\/th>\n<th>Where They May Help<\/th>\n<th>Consulting Use Case Examples<\/th>\n<th>Website URL<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>cotocus.com<\/td>\n<td>Cloud\/DevOps consulting (verify exact offerings)<\/td>\n<td>Implementation support, operational setup<\/td>\n<td>Prometheus integration planning, dashboard\/alert standardization<\/td>\n<td>https:\/\/www.cotocus.com<\/td>\n<\/tr>\n<tr>\n<td>DevOpsSchool.com<\/td>\n<td>DevOps consulting and training (verify)<\/td>\n<td>Platform enablement, DevOps process improvement<\/td>\n<td>Observability rollout, SRE-aligned alerting practices<\/td>\n<td>https:\/\/www.devopsschool.com<\/td>\n<\/tr>\n<tr>\n<td>DEVOPSCONSULTING.IN<\/td>\n<td>DevOps consulting (verify)<\/td>\n<td>Toolchain integration and operations<\/td>\n<td>Monitoring design workshops, O&amp;M governance<\/td>\n<td>https:\/\/www.devopsconsulting.in<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">21. Career and Learning Roadmap<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">What to learn before this service<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Monitoring fundamentals:<\/strong> metrics vs logs vs traces, SLIs\/SLOs, alert fatigue.<\/li>\n<li><strong>Prometheus basics:<\/strong> exporters, scraping, service discovery, label cardinality, PromQL.<\/li>\n<li><strong>Kubernetes fundamentals (if using ACK):<\/strong> pods, services, namespaces, RBAC, ingress.<\/li>\n<li><strong>Alibaba Cloud basics:<\/strong> regions, VPC, RAM, ACK concepts.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">What to learn after this service<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Advanced PromQL and SLOs:<\/strong> burn-rate alerts, multi-window multi-burn.<\/li>\n<li><strong>Dashboards at scale:<\/strong> templating, recording rules, performance tuning.<\/li>\n<li><strong>Incident management:<\/strong> runbooks, postmortems, on-call rotations.<\/li>\n<li><strong>Observability maturity:<\/strong> integrating traces (APM) and logs with metrics.<\/li>\n<li><strong>Cost governance:<\/strong> cardinality reviews, retention tiering, environment isolation.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Job roles that use it<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>SRE (Site Reliability Engineer)<\/li>\n<li>DevOps Engineer<\/li>\n<li>Platform Engineer<\/li>\n<li>Cloud Operations Engineer<\/li>\n<li>Kubernetes Administrator<\/li>\n<li>Observability Engineer<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Certification path (if available)<\/h3>\n\n\n\n<p>Alibaba Cloud certifications evolve over time and may not have a Prometheus-specific credential. Look for:\n&#8211; Alibaba Cloud cloud-native or container\/Kubernetes certifications.\n&#8211; ARMS\/observability learning paths if published.<br\/>\n<strong>Verify current Alibaba Cloud certification offerings in official channels.<\/strong><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Project ideas for practice<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>ACK monitoring baseline:<\/strong> Build dashboards for CPU\/memory, restarts, HPA behavior.<\/li>\n<li><strong>Service SLO dashboard:<\/strong> Implement RED metrics and burn-rate alerts for one microservice.<\/li>\n<li><strong>Cardinality cleanup project:<\/strong> Identify top cardinality metrics and refactor labels.<\/li>\n<li><strong>Multi-environment governance:<\/strong> Separate dev\/stage\/prod instances and enforce RAM policies.<\/li>\n<li><strong>Incident drill:<\/strong> Simulate outage, validate alerts, and write runbooks.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">22. Glossary<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>ACK:<\/strong> Alibaba Cloud Container Service for Kubernetes.<\/li>\n<li><strong>Alerting rule:<\/strong> A PromQL-based condition that triggers an alert when true for a defined duration.<\/li>\n<li><strong>Cardinality:<\/strong> The number of unique time series created by a metric\u2019s label combinations.<\/li>\n<li><strong>Collector\/Agent:<\/strong> Software that scrapes Prometheus targets and sends metrics to the backend.<\/li>\n<li><strong>Exporter:<\/strong> A component that exposes metrics from a system in Prometheus format.<\/li>\n<li><strong>Prometheus:<\/strong> Open-source monitoring system and time-series database with PromQL.<\/li>\n<li><strong>PromQL:<\/strong> Prometheus Query Language for querying time-series metrics.<\/li>\n<li><strong>RAM:<\/strong> Resource Access Management (Alibaba Cloud IAM) for users, roles, policies.<\/li>\n<li><strong>Recording rule:<\/strong> A rule that precomputes query results into a new time series.<\/li>\n<li><strong>Retention:<\/strong> How long metrics are stored.<\/li>\n<li><strong>Scrape:<\/strong> The act of collecting metrics from an HTTP endpoint (commonly <code>\/metrics<\/code>).<\/li>\n<li><strong>SLA:<\/strong> Service Level Agreement (provider uptime\/availability commitment).<\/li>\n<li><strong>SLI\/SLO:<\/strong> Service Level Indicator \/ Objective; reliability targets and measurements.<\/li>\n<li><strong>Target:<\/strong> A scrape endpoint discovered and monitored by Prometheus.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">23. Summary<\/h2>\n\n\n\n<p>Managed Service for Prometheus on Alibaba Cloud is a managed, Prometheus-compatible monitoring service used for O&amp;M in cloud-native environments\u2014especially for ACK Kubernetes clusters. It matters because it reduces the operational complexity of running Prometheus at scale while keeping PromQL, exporters, and the broader Prometheus ecosystem.<\/p>\n\n\n\n<p>Architecturally, the key idea is simple: collectors scrape metrics from your workloads and forward them to a managed backend where you query, dashboard, and alert. Cost and performance are mainly governed by cardinality, scrape intervals, and retention; security hinges on correct RAM least-privilege, safe networking, and careful label hygiene.<\/p>\n\n\n\n<p>Use Managed Service for Prometheus when you want managed Prometheus reliability and tight Alibaba Cloud integration for your monitoring strategy in a Migration &amp; O&amp;M Management context. Next, deepen your skills by mastering PromQL, designing SLO-driven alerts, and implementing a metrics governance program to keep cost and complexity under control.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Migration &#038; O&#038;M Management<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2,19],"tags":[],"class_list":["post-114","post","type-post","status-publish","format-standard","hentry","category-alibaba-cloud","category-migration-o-m-management"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/tutorials\/wp-json\/wp\/v2\/posts\/114","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devopsschool.com\/tutorials\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devopsschool.com\/tutorials\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/tutorials\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/tutorials\/wp-json\/wp\/v2\/comments?post=114"}],"version-history":[{"count":0,"href":"https:\/\/www.devopsschool.com\/tutorials\/wp-json\/wp\/v2\/posts\/114\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/tutorials\/wp-json\/wp\/v2\/media?parent=114"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/tutorials\/wp-json\/wp\/v2\/categories?post=114"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/tutorials\/wp-json\/wp\/v2\/tags?post=114"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}