{"id":953,"date":"2026-04-17T06:24:17","date_gmt":"2026-04-17T06:24:17","guid":{"rendered":"https:\/\/www.devopsschool.com\/tutorials\/oracle-cloud-console-dashboards-tutorial-architecture-pricing-use-cases-and-hands-on-guide-for-observability-and-management\/"},"modified":"2026-04-17T06:24:17","modified_gmt":"2026-04-17T06:24:17","slug":"oracle-cloud-console-dashboards-tutorial-architecture-pricing-use-cases-and-hands-on-guide-for-observability-and-management","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/tutorials\/oracle-cloud-console-dashboards-tutorial-architecture-pricing-use-cases-and-hands-on-guide-for-observability-and-management\/","title":{"rendered":"Oracle Cloud Console Dashboards Tutorial: Architecture, Pricing, Use Cases, and Hands-On Guide for Observability and Management"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Category<\/h2>\n\n\n\n<p>Observability and Management<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. Introduction<\/h2>\n\n\n\n<p>Oracle Cloud <strong>Console Dashboards<\/strong> are a built-in way to create, organize, and share visual dashboards directly in the Oracle Cloud Infrastructure (OCI) Console. They are most commonly used to visualize <strong>OCI Monitoring metrics<\/strong> (and, depending on the surrounding OCI services you use, to provide a \u201csingle pane of glass\u201d for operational status and troubleshooting workflows).<\/p>\n\n\n\n<p><strong>Simple explanation:<\/strong> Console Dashboards let you put the charts you care about\u2014CPU, latency, error rates, throughput, and other key metrics\u2014onto one page so you can quickly understand whether systems are healthy.<\/p>\n\n\n\n<p><strong>Technical explanation:<\/strong> Console Dashboards are a Console-based dashboarding capability integrated with OCI\u2019s Observability and Management services\u2014especially <strong>Monitoring<\/strong>. You typically build dashboards by adding widgets that query metric time series data in a selected region and compartment scope, and then you secure access using OCI IAM policies. Dashboards support operational patterns such as per-environment views (dev\/test\/prod), per-team views (network, platform, app), and per-service views (compute, load balancer, database).<\/p>\n\n\n\n<p><strong>What problem it solves:<\/strong> In production, teams waste time switching between resource pages, manually searching for metrics, and re-running the same investigations. Console Dashboards reduce that friction by standardizing operational views and making common checks repeatable, shareable, and permission-controlled.<\/p>\n\n\n\n<blockquote>\n<p>Naming note (verify in official docs): In OCI documentation and the Console UI, this capability is often labeled simply <strong>\u201cDashboards\u201d<\/strong> under Monitoring\/Observability. This tutorial uses <strong>\u201cConsole Dashboards\u201d<\/strong> as the primary name (as requested) to clearly distinguish it from third-party dashboards or dashboards embedded in other OCI services.<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">2. What is Console Dashboards?<\/h2>\n\n\n\n<p><strong>Official purpose (in OCI terms):<\/strong> Console Dashboards are used to <strong>visualize and monitor<\/strong> OCI telemetry\u2014most commonly <strong>Monitoring metrics<\/strong>\u2014through customizable dashboard pages inside the OCI Console.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Core capabilities<\/h3>\n\n\n\n<p>Console Dashboards typically enable you to:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Create dashboards and arrange widgets to visualize metrics over time.<\/li>\n<li>Organize dashboards into <strong>dashboard groups<\/strong> (to manage dashboards at scale).<\/li>\n<li>Control access with <strong>OCI IAM<\/strong> so teams can view or manage dashboards.<\/li>\n<li>Use dashboards for day-to-day operations, incident response, and reporting.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Major components<\/h3>\n\n\n\n<p>While exact naming can vary slightly in the Console UI, the typical building blocks are:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Dashboard<\/strong>: A container page that holds widgets (charts and other elements).<\/li>\n<li><strong>Dashboard group<\/strong>: A logical grouping for dashboards (often by team, environment, or application).<\/li>\n<li><strong>Widget<\/strong>: A dashboard element, commonly a metric chart, and often a text\/markdown-style widget for context (verify widget types in the current Console UI).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Service type<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Type:<\/strong> Console feature integrated with OCI Observability and Management (most closely tied to <strong>Monitoring<\/strong>).<\/li>\n<li><strong>APIs\/Automation:<\/strong> OCI generally exposes APIs and CLI for many Monitoring resources. If you plan to automate dashboards, confirm the latest <strong>OCI Monitoring API\/CLI support for dashboards<\/strong> in official docs before implementing.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Scope and locality (how \u201cbig\u201d the service is)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Compartment-scoped:<\/strong> Dashboards and groups are typically created within a compartment and governed by compartment IAM policies.<\/li>\n<li><strong>Region context:<\/strong> OCI Observability workflows are region-aware in the Console. In practice, you usually create\/view dashboards in a selected region and query metrics available in that region. Cross-region operations are commonly handled by switching regions or designing a strategy (for example, per-region dashboards). <strong>Verify current cross-region behavior<\/strong> in the official documentation for your OCI setup.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">How it fits into the Oracle Cloud ecosystem<\/h3>\n\n\n\n<p>Console Dashboards commonly sit at the center of an OCI operations toolchain:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Monitoring<\/strong> provides metric collection, queries, alarms, and notifications.<\/li>\n<li><strong>Logging<\/strong> provides logs for diagnostics; dashboards often complement logs by revealing when\/where to look.<\/li>\n<li><strong>Notifications<\/strong> delivers alarm messages to email, PagerDuty-like workflows, or chat systems.<\/li>\n<li><strong>Events<\/strong> and <strong>OS Management\/Compute<\/strong> can trigger operational responses, while dashboards provide visibility into outcomes.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">3. Why use Console Dashboards?<\/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>Faster incident resolution:<\/strong> Pre-built dashboards reduce mean time to detect (MTTD) and mean time to resolve (MTTR).<\/li>\n<li><strong>Shared operational language:<\/strong> Dashboards align teams on agreed SLIs\/SLO indicators (latency, error rate, saturation).<\/li>\n<li><strong>Lower operational overhead:<\/strong> Less time spent building ad-hoc charts or navigating multiple screens.<\/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>Metric-centric visibility:<\/strong> Metrics are ideal for trend detection, anomaly awareness, and capacity planning.<\/li>\n<li><strong>Standardized views:<\/strong> You can codify \u201cwhat good looks like\u201d and \u201cwhat to check first.\u201d<\/li>\n<li><strong>Better troubleshooting flow:<\/strong> Dashboards can be organized to mirror system architecture and dependencies.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Operational reasons<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>On-call readiness:<\/strong> Dashboards are useful during incidents: they can show blast radius, whether mitigation worked, and which dependency is failing.<\/li>\n<li><strong>Environment separation:<\/strong> Separate dashboards per environment (dev\/test\/prod) reduce confusion and mistakes.<\/li>\n<li><strong>Runbook integration:<\/strong> Text widgets (if available in your UI) can link to runbooks, tickets, and escalation procedures.<\/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>Least privilege:<\/strong> OCI IAM can restrict who can view vs. edit dashboards.<\/li>\n<li><strong>Auditability:<\/strong> OCI Audit can track changes to relevant resources (verify which dashboard actions are captured in Audit for your tenancy).<\/li>\n<li><strong>Reduced data sprawl:<\/strong> Teams can rely on OCI-native dashboards rather than exporting operational data broadly.<\/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>Designed for OCI telemetry:<\/strong> Console Dashboards are optimized for OCI Monitoring\u2019s metric model and dimensions.<\/li>\n<li><strong>Operational scale:<\/strong> Dashboard groups and compartment organization help maintain structure as the number of services and teams grows.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">When teams should choose Console Dashboards<\/h3>\n\n\n\n<p>Choose Console Dashboards when:\n&#8211; Your workloads run primarily on Oracle Cloud and you want <strong>native<\/strong> dashboards tightly integrated with OCI Monitoring.\n&#8211; You want <strong>quick time-to-value<\/strong> without deploying third-party visualization stacks.\n&#8211; You need dashboards that respect OCI IAM and compartment boundaries.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">When teams should not choose Console Dashboards<\/h3>\n\n\n\n<p>Consider alternatives when:\n&#8211; You require <strong>advanced visualization<\/strong> (complex transformations, custom panels, extensive plugin ecosystems).\n&#8211; You need <strong>single dashboards across multiple cloud providers<\/strong> with consistent UI and query language.\n&#8211; You require extensive <strong>dashboard-as-code<\/strong> pipelines and want mature open-source tooling (for example, Grafana with GitOps), though OCI can still integrate with those.<\/p>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">4. Where is Console Dashboards used?<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Industries<\/h3>\n\n\n\n<p>Common across industries running production systems on OCI, such as:\n&#8211; Financial services (availability and latency monitoring)\n&#8211; SaaS and ISVs (multi-tenant service health)\n&#8211; Retail and e-commerce (traffic spikes, checkout performance)\n&#8211; Telecommunications (network and edge-related metrics)\n&#8211; Healthcare (system uptime and compliance-driven reporting)<\/p>\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 platform engineering teams<\/li>\n<li>Cloud infrastructure and operations teams<\/li>\n<li>DevOps teams<\/li>\n<li>Application engineering teams (especially with ownership of operational KPIs)<\/li>\n<li>NOC\/SOC teams (as part of broader monitoring and incident response)<\/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>Web applications and APIs on Compute or OKE (Kubernetes)<\/li>\n<li>Databases (Oracle Database services and self-managed DBs)<\/li>\n<li>Networking-heavy architectures (Load Balancers, gateways)<\/li>\n<li>Batch and integration workloads (functions, scheduled jobs)<\/li>\n<li>Hybrid deployments where OCI is one part of the estate<\/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-region production<\/li>\n<li>Active\/standby multi-region<\/li>\n<li>Multi-compartment landing zones (separated by environment or business unit)<\/li>\n<li>Shared services models (central observability with delegated access)<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Real-world deployment contexts<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Production:<\/strong> Primary usage\u2014operational dashboards for availability, latency, capacity.<\/li>\n<li><strong>Dev\/test:<\/strong> Useful for validating new releases, load tests, cost\/usage experiments, and comparing baselines.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">5. Top Use Cases and Scenarios<\/h2>\n\n\n\n<p>Below are realistic scenarios where Console Dashboards add concrete value.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1) Production \u201cService Health\u201d overview<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem:<\/strong> On-call needs a fast health snapshot across critical components.<\/li>\n<li><strong>Why Console Dashboards fits:<\/strong> Consolidates key metrics into one view with consistent time ranges.<\/li>\n<li><strong>Example:<\/strong> A dashboard shows API latency, HTTP 5xx rate, load balancer backend health signals, and compute CPU.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">2) Environment comparison (dev vs. prod)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem:<\/strong> Teams need to compare performance behavior across environments to spot regressions.<\/li>\n<li><strong>Why it fits:<\/strong> You can create separate dashboards per compartment\/environment with similar widget layout.<\/li>\n<li><strong>Example:<\/strong> A \u201cProd API\u201d and \u201cDev API\u201d dashboard share the same charts but pull from different compartments.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">3) Capacity planning and saturation tracking<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem:<\/strong> Engineers need to anticipate scaling needs before customers are impacted.<\/li>\n<li><strong>Why it fits:<\/strong> Dashboards show trends and peaks over weeks\/months (subject to retention\/availability of metrics).<\/li>\n<li><strong>Example:<\/strong> Weekly CPU peak and network throughput charts guide right-sizing decisions.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">4) Incident response \u201cwar room\u201d dashboard<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem:<\/strong> During an outage, too many people check too many different pages.<\/li>\n<li><strong>Why it fits:<\/strong> A prepared incident dashboard focuses attention on the most telling signals.<\/li>\n<li><strong>Example:<\/strong> Widgets track error rate, dependency latency, and a \u201cknown mitigations\u201d text widget links to the runbook.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">5) Change validation after deployment<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem:<\/strong> After a release, teams must confirm stability quickly.<\/li>\n<li><strong>Why it fits:<\/strong> Dashboards show immediate before\/after behavior around deploy time.<\/li>\n<li><strong>Example:<\/strong> Compare request latency and error rates 30 minutes before and after deployment.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">6) Network troubleshooting and performance checks<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem:<\/strong> Network issues present as intermittent timeouts and slow responses.<\/li>\n<li><strong>Why it fits:<\/strong> Dashboards can group network and application metrics to correlate symptoms.<\/li>\n<li><strong>Example:<\/strong> A dashboard shows NAT gateway connections, load balancer metrics, and API latency side by side (verify available metrics for your resources).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">7) Compartment-level operational reporting<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem:<\/strong> Platform teams need a view per team\/compartment without giving broad tenancy access.<\/li>\n<li><strong>Why it fits:<\/strong> Dashboards are compartment-scoped and controlled by IAM.<\/li>\n<li><strong>Example:<\/strong> Each product team owns its compartment dashboards; central SRE has read-only access.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">8) SLA\/SLO indicator tracking<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem:<\/strong> Management wants high-level service KPIs; engineers want drill-down.<\/li>\n<li><strong>Why it fits:<\/strong> Dashboards can combine SLI-like widgets (availability, latency percentiles\u2014if supported by the metric) with detailed charts.<\/li>\n<li><strong>Example:<\/strong> A top row shows availability and error rate; lower rows show per-endpoint or per-AZ breakdown.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">9) Post-incident review and learning<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem:<\/strong> After incidents, teams need evidence and timelines.<\/li>\n<li><strong>Why it fits:<\/strong> Dashboards provide consistent historical views (within retention limits).<\/li>\n<li><strong>Example:<\/strong> Exported screenshots\/data (manual) support the incident timeline discussion (verify export options in your console).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">10) Executive or stakeholder visibility (controlled)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem:<\/strong> Stakeholders want visibility without operational privileges.<\/li>\n<li><strong>Why it fits:<\/strong> IAM can provide read-only dashboard access.<\/li>\n<li><strong>Example:<\/strong> A \u201cBusiness Ops\u201d dashboard shows high-level throughput and availability, without exposing sensitive resource management capabilities.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">11) Migration tracking (on-prem to OCI)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem:<\/strong> During migration waves, teams must ensure OCI performance matches expectations.<\/li>\n<li><strong>Why it fits:<\/strong> Dashboards compare old vs new system behavior (if metrics are available).<\/li>\n<li><strong>Example:<\/strong> A migration dashboard shows OCI compute and database metrics during cutover windows.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">12) Cost-risk early signals (indirect)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem:<\/strong> Sudden traffic spikes can create cost spikes.<\/li>\n<li><strong>Why it fits:<\/strong> While dashboards are not a billing tool, they can show usage signals that correlate with cost.<\/li>\n<li><strong>Example:<\/strong> A \u201cTraffic &amp; Egress Risk\u201d dashboard tracks outbound bytes and request rates as an early warning.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">6. Core Features<\/h2>\n\n\n\n<p>The exact feature set can evolve; always confirm in the latest OCI Console and docs. The following are the core, commonly available capabilities associated with Console Dashboards in Oracle Cloud Observability and Management.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">6.1 Dashboard creation and editing in the Console<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>What it does:<\/strong> Lets you create a dashboard and configure layout and widgets.<\/li>\n<li><strong>Why it matters:<\/strong> Provides quick, no-code operational views for teams.<\/li>\n<li><strong>Practical benefit:<\/strong> Faster rollout of standardized dashboards without additional tooling.<\/li>\n<li><strong>Caveats:<\/strong> Editing rights must be carefully controlled; accidental changes can disrupt on-call workflows.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">6.2 Dashboard groups for organization<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>What it does:<\/strong> Organizes dashboards into logical groups.<\/li>\n<li><strong>Why it matters:<\/strong> As dashboards scale, you need governance and discoverability.<\/li>\n<li><strong>Practical benefit:<\/strong> Clear separation by team, environment, and application.<\/li>\n<li><strong>Caveats:<\/strong> Governance is only as good as your naming\/tagging and compartment strategy.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">6.3 Metric visualization widgets (Monitoring integration)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>What it does:<\/strong> Shows time-series charts based on OCI Monitoring metrics.<\/li>\n<li><strong>Why it matters:<\/strong> Metrics are the fastest signal for \u201csomething changed.\u201d<\/li>\n<li><strong>Practical benefit:<\/strong> You can watch KPIs like latency, CPU, errors, and throughput in real time.<\/li>\n<li><strong>Caveats:<\/strong> You only see data that exists in Monitoring. For OS-level metrics, you may need the OCI agent\/compute monitoring features enabled (verify per OS\/image).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">6.4 Compartment-aware scoping<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>What it does:<\/strong> Dashboards and metrics access are governed by compartments.<\/li>\n<li><strong>Why it matters:<\/strong> Compartments are OCI\u2019s primary isolation and access boundary.<\/li>\n<li><strong>Practical benefit:<\/strong> Teams can own dashboards within their compartment without seeing others.<\/li>\n<li><strong>Caveats:<\/strong> Cross-compartment views require IAM policies that allow reading metrics across compartments\u2014easy to over-permission if not designed carefully.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">6.5 Time range and query controls<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>What it does:<\/strong> View charts over selected time windows and (in many cases) adjust aggregation.<\/li>\n<li><strong>Why it matters:<\/strong> Different tasks need different windows\u2014incident response vs. trend analysis.<\/li>\n<li><strong>Practical benefit:<\/strong> One dashboard can be useful for real-time and retrospective analysis.<\/li>\n<li><strong>Caveats:<\/strong> Very large windows may be limited by retention or query constraints; verify Monitoring limits.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">6.6 Sharing via IAM (no \u201cpublic link\u201d by default)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>What it does:<\/strong> Access is granted to users\/groups by OCI IAM policy.<\/li>\n<li><strong>Why it matters:<\/strong> Prevents sensitive operational data from being shared publicly.<\/li>\n<li><strong>Practical benefit:<\/strong> Enables least-privilege, audit-ready access patterns.<\/li>\n<li><strong>Caveats:<\/strong> This is not the same as publishing external dashboards to customers; use a dedicated portal\/tool for that.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">6.7 Tagging support (governance)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>What it does:<\/strong> Many OCI resources support tags; dashboards may support defined\/freeform tags (verify in your tenancy).<\/li>\n<li><strong>Why it matters:<\/strong> Tags help cost allocation, ownership, and lifecycle management.<\/li>\n<li><strong>Practical benefit:<\/strong> You can identify which dashboards belong to which application or cost center.<\/li>\n<li><strong>Caveats:<\/strong> Tag compliance requires governance; otherwise tags become inconsistent.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">6.8 Integration into operational workflows<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>What it does:<\/strong> Dashboards complement alarms, notifications, and incident response.<\/li>\n<li><strong>Why it matters:<\/strong> Alerts tell you <em>something is wrong<\/em>; dashboards help you see <em>what and where<\/em>.<\/li>\n<li><strong>Practical benefit:<\/strong> Better operator experience and faster diagnosis.<\/li>\n<li><strong>Caveats:<\/strong> Dashboards do not replace alerting; they must be paired with alarms and runbooks.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">7. Architecture and How It Works<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">High-level architecture<\/h3>\n\n\n\n<p>At a high level, Console Dashboards are a UI layer in the OCI Console that queries metrics from <strong>OCI Monitoring<\/strong> (and sometimes correlates with other services operationally, even if not directly embedded).<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Control plane:<\/strong> You create\/modify dashboards and groups in the Console (or via API\/CLI if supported).<\/li>\n<li><strong>Data plane:<\/strong> Widgets request metric time series data from Monitoring for selected namespaces\/dimensions.<\/li>\n<li><strong>Security:<\/strong> Requests are authorized by OCI IAM policies tied to the authenticated user (or federated identity).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Request\/data\/control flow (typical)<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>User signs into OCI Console (native IAM user or federated SSO).<\/li>\n<li>User navigates to Observability &amp; Management \u2192 Monitoring \u2192 Dashboards (label may vary).<\/li>\n<li>The Console requests dashboard definitions (metadata) from OCI services.<\/li>\n<li>For each widget, the Console queries Monitoring for metric data based on the widget\u2019s configuration.<\/li>\n<li>Monitoring returns time series data; Console renders charts.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Integrations with related services<\/h3>\n\n\n\n<p>Console Dashboards most commonly integrate with:\n&#8211; <strong>Monitoring:<\/strong> Metrics, alarms, metric queries.\n&#8211; <strong>Notifications:<\/strong> Alarm destinations and operational workflows.\n&#8211; <strong>Logging:<\/strong> Operators pivot from dashboard anomalies to logs (workflow-level integration; exact embedded links vary).\n&#8211; <strong>Compute \/ OKE \/ Networking \/ Database services:<\/strong> Provide the resource metrics you chart.\n&#8211; <strong>Audit:<\/strong> Tracks changes to relevant resources (verify coverage for dashboards).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Dependency services<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>OCI IAM for authentication and authorization<\/li>\n<li>Monitoring service for metric data and alarm definitions<\/li>\n<li>The OCI Console front-end<\/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><strong>Authentication:<\/strong> OCI IAM user\/password + MFA, API signing keys, or federated identity providers (IdP).<\/li>\n<li><strong>Authorization:<\/strong> IAM policies control actions like:<\/li>\n<li>viewing dashboards<\/li>\n<li>managing dashboards<\/li>\n<li>reading metrics<\/li>\n<li>managing alarms (if you build alerting alongside dashboards)<\/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>From a user perspective, Console Dashboards are accessed via the OCI Console over HTTPS.<\/li>\n<li>From a service perspective, widget queries are internal service-to-service calls, authorized in the context of the user session.<\/li>\n<li>There is no requirement to place dashboards inside a VCN; access control is IAM-based. If your organization restricts Console access, you may use corporate network controls, OCI IAM, and federation policies.<\/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><strong>Monitoring retention and limits<\/strong> affect how far back charts can go and how much granularity you can view.<\/li>\n<li><strong>Compartment strategy<\/strong> determines dashboard ownership and access patterns.<\/li>\n<li><strong>Tagging<\/strong> and naming conventions reduce sprawl.<\/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  U[Operator \/ Engineer] --&gt;|HTTPS| C[OCI Console]\n  C --&gt;|List dashboards| D[Console Dashboards&lt;br\/&gt;Metadata]\n  C --&gt;|Query metric time series| M[OCI Monitoring&lt;br\/&gt;Metrics]\n  M --&gt; C\n  C --&gt; U\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 Identity\n    IDP[Enterprise IdP \/ Federation]\n    IAM[OCI IAM]\n    IDP --&gt; IAM\n  end\n\n  subgraph Observability_Region_A[OCI Region A]\n    MON[Monitoring&lt;br\/&gt;Metrics &amp; Alarms]\n    DASH[Console Dashboards&lt;br\/&gt;Dashboard Groups &amp; Dashboards]\n    NOTIF[Notifications]\n    AUD[Audit]\n  end\n\n  subgraph Workloads[Workloads]\n    APP[Apps on Compute \/ OKE]\n    NET[Load Balancer \/ Network]\n    DB[Database Services]\n  end\n\n  USER[On-call \/ SRE] --&gt;|Sign-in| IDP\n  USER --&gt;|Console session| IAM\n  USER --&gt;|View dashboards| DASH\n  DASH --&gt;|Metric queries| MON\n  APP --&gt;|Emits metrics| MON\n  NET --&gt;|Emits metrics| MON\n  DB --&gt;|Emits metrics| MON\n  MON --&gt;|Alarm triggers| NOTIF\n  DASH --&gt;|Config changes| AUD\n  MON --&gt;|Alarm changes| AUD\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">8. Prerequisites<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Tenancy\/account requirements<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>An active <strong>Oracle Cloud (OCI) tenancy<\/strong> with access to Observability and Management services.<\/li>\n<li>Access to at least one compartment where you can create dashboards (or a sandbox compartment).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Permissions \/ IAM policies<\/h3>\n\n\n\n<p>You typically need permissions for:\n&#8211; Managing dashboards (create\/update\/delete dashboard groups and dashboards)\n&#8211; Reading metrics (to populate widgets)\n&#8211; (Optional) Managing alarms and notifications if you build alerting in the same lab<\/p>\n\n\n\n<p>OCI IAM policy syntax can vary by resource type. Common patterns include:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Read metrics:<\/li>\n<li><code>allow group &lt;group-name&gt; to read metrics in compartment &lt;compartment-name&gt;<\/code><\/li>\n<li>Manage dashboards:<\/li>\n<li><code>allow group &lt;group-name&gt; to manage dashboards in compartment &lt;compartment-name&gt;<\/code><\/li>\n<\/ul>\n\n\n\n<p><strong>Verify exact policy verbs and resource-types<\/strong> in the official OCI IAM policy reference for Monitoring and Dashboards:\n&#8211; https:\/\/docs.oracle.com\/en-us\/iaas\/Content\/Identity\/policyreference\/policyreference.htm<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Billing requirements<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Console Dashboards themselves are typically not billed as a standalone line item; costs usually come from underlying services (Monitoring custom metrics, Logging ingestion\/storage, notifications, etc.). Still, you need a tenancy with billing enabled to create many OCI resources.<\/li>\n<li>If you create a Compute instance for the lab, ensure you understand Always Free eligibility (if applicable) and region constraints.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">CLI\/SDK\/tools needed (optional)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>OCI Console (required)<\/li>\n<li>Optional: <strong>OCI CLI<\/strong> for verification commands<\/li>\n<li>Install docs: https:\/\/docs.oracle.com\/en-us\/iaas\/Content\/API\/SDKDocs\/cliinstall.htm<\/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>Observability and Management services are broadly available across OCI commercial regions, but feature availability can vary.<\/li>\n<li><strong>Verify service availability<\/strong> in your region:<\/li>\n<li>OCI Services by Region: https:\/\/www.oracle.com\/cloud\/data-regions\/<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Quotas\/limits<\/h3>\n\n\n\n<p>Expect limits around:\n&#8211; Number of dashboards\/groups per compartment\/tenancy\n&#8211; Number of widgets per dashboard\n&#8211; Metric query limits and resolution\/retention constraints<\/p>\n\n\n\n<p>Exact limits can change. <strong>Verify current limits<\/strong> in official docs for Monitoring and Dashboards.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Prerequisite services\/resources<\/h3>\n\n\n\n<p>To make the tutorial meaningful, you need at least one resource producing metrics, such as:\n&#8211; A Compute instance\n&#8211; A Load Balancer\n&#8211; A database service\n&#8211; Any OCI service with Monitoring metrics<\/p>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">9. Pricing \/ Cost<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Pricing model (accurate framing)<\/h3>\n\n\n\n<p>In OCI, <strong>Console Dashboards are primarily a visualization capability<\/strong>. In many cases, there is <strong>no direct additional charge<\/strong> specifically for creating dashboards in the Console. The costs you should evaluate are driven by the <strong>telemetry sources<\/strong> and <strong>underlying observability services<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Monitoring metrics<\/strong><\/li>\n<li>OCI service metrics are generally available without you paying per-metric ingestion in the same way as custom metrics (details vary).<\/li>\n<li><strong>Custom metrics<\/strong> and higher-volume metric ingestion may incur charges depending on the OCI Monitoring pricing model.<\/li>\n<li><strong>Logging<\/strong><\/li>\n<li>Log ingestion, storage\/retention, and analysis features can incur cost.<\/li>\n<li><strong>Notifications<\/strong><\/li>\n<li>Message delivery can incur cost depending on destinations and volumes.<\/li>\n<li><strong>Compute\/OKE\/Database<\/strong><\/li>\n<li>The resources you monitor generate the metrics; those services have their own charges.<\/li>\n<\/ul>\n\n\n\n<p>Because OCI pricing is region-specific and can change, rely on official sources:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Official pricing pages (Observability &amp; Management section):<br\/>\n  https:\/\/www.oracle.com\/cloud\/price-list\/<\/li>\n<li>OCI Cost Estimator:<br\/>\n  https:\/\/www.oracle.com\/cloud\/costestimator.html<\/li>\n<\/ul>\n\n\n\n<blockquote>\n<p>If you need exact, up-to-date pricing for Monitoring custom metrics, Logging ingestion, or retention, <strong>verify in official docs and the price list for your region<\/strong>.<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">Pricing dimensions to watch<\/h3>\n\n\n\n<p>Even if dashboards are \u201cfree,\u201d these dimensions can drive your bill:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Custom metrics ingestion volume<\/strong><\/li>\n<li><strong>Metric retention \/ query usage constraints<\/strong> (not always priced directly, but can influence design)<\/li>\n<li><strong>Logging ingestion and storage<\/strong><\/li>\n<li><strong>Notification deliveries<\/strong><\/li>\n<li><strong>Data transfer (network egress)<\/strong>\n   &#8211; Viewing dashboards in the Console doesn\u2019t typically incur egress in the same way as exporting large datasets, but exporting logs\/metrics or integrating external tools might.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Free tier considerations<\/h3>\n\n\n\n<p>OCI has an Always Free tier and free usage allotments for some services. Whether Monitoring\/Logging has free tiers or included quotas depends on current OCI offers. <strong>Verify current free tier details<\/strong> here:\n&#8211; https:\/\/www.oracle.com\/cloud\/free\/<\/p>\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>Creating resources \u201cjust for dashboards\u201d<\/strong> (extra load balancers, extra compute) costs money.<\/li>\n<li><strong>Overly verbose logging<\/strong> increases logging cost; dashboards might encourage collecting more data than necessary.<\/li>\n<li><strong>High-cardinality custom metrics<\/strong> can become expensive and harder to query.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Cost optimization tips<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Prefer <strong>built-in OCI service metrics<\/strong> where they meet your needs.<\/li>\n<li>Be deliberate about <strong>custom metrics<\/strong>: keep cardinality low (avoid dimensions like requestId\/userId).<\/li>\n<li>Use dashboards to focus on a few meaningful KPIs rather than charting everything.<\/li>\n<li>Align <strong>log retention<\/strong> to compliance needs (not \u201ckeep forever\u201d by default).<\/li>\n<li>Standardize dashboards and reuse across environments rather than creating many redundant dashboards.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Example low-cost starter estimate (conceptual)<\/h3>\n\n\n\n<p>A low-cost start can be:\n&#8211; Use an existing Always Free eligible Compute instance (if available)\n&#8211; Create a few dashboards with a handful of widgets querying built-in metrics\n&#8211; Minimal\/no custom metrics\n&#8211; Minimal logging ingestion<\/p>\n\n\n\n<p>In this scenario, <strong>dashboard cost is usually negligible<\/strong>, but your compute instance (if not free) and any logging\/custom metrics are the real cost drivers.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Example production cost considerations<\/h3>\n\n\n\n<p>For production, budget and review:\n&#8211; Custom metrics volume (if you instrument apps heavily)\n&#8211; Log ingestion and retention (often the largest observability cost)\n&#8211; Third-party integrations (data export, egress)\n&#8211; Alarm volume and notification delivery costs\n&#8211; Operational overhead: governance, access review, and compliance audits<\/p>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">10. Step-by-Step Hands-On Tutorial<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Objective<\/h3>\n\n\n\n<p>Create a practical <strong>operations dashboard<\/strong> in Oracle Cloud Console Dashboards that visualizes key metrics for a real OCI resource (a Compute instance), and validate that you can view meaningful charts for troubleshooting.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Lab Overview<\/h3>\n\n\n\n<p>You will:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Prepare a compartment and IAM access (or confirm you already have it).<\/li>\n<li>Create (or reuse) a Compute instance that emits Monitoring metrics.<\/li>\n<li>Explore metrics to identify the right signals.<\/li>\n<li>Create a dashboard group and dashboard in Console Dashboards.<\/li>\n<li>Add metric widgets to visualize CPU and network-related metrics.<\/li>\n<li>Validate the dashboard shows data and learn common fixes.<\/li>\n<li>Clean up resources to avoid cost.<\/li>\n<\/ol>\n\n\n\n<p>This lab is designed to be <strong>beginner-friendly<\/strong> and <strong>low-cost<\/strong>. If you already have a Compute instance in a sandbox compartment, reuse it.<\/p>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h3 class=\"wp-block-heading\">Step 1: Confirm region and compartment strategy<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Sign in to the <strong>Oracle Cloud Console<\/strong>.<\/li>\n<li>In the top region selector, choose the region where your resources exist (or where you will create them).<\/li>\n<li>Choose or create a compartment for the lab, for example:\n   &#8211; <code>sandbox-observability<\/code>\n   &#8211; or <code>dev-ops-lab<\/code><\/li>\n<\/ol>\n\n\n\n<p><strong>Expected outcome:<\/strong> You know which <strong>region<\/strong> and <strong>compartment<\/strong> you will use consistently for the rest of the tutorial.<\/p>\n\n\n\n<p><strong>Verification:<\/strong>\n&#8211; When you open the compartment selector in the Console, you can see your chosen compartment and select it.<\/p>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h3 class=\"wp-block-heading\">Step 2: Ensure you have the right IAM permissions<\/h3>\n\n\n\n<p>If you are a tenancy admin, you can proceed. If not, ask an admin to grant permissions.<\/p>\n\n\n\n<p>At a minimum, you want permissions to:\n&#8211; read metrics\n&#8211; manage dashboards (in the chosen compartment)\n&#8211; (optional) manage a compute instance (if you need to create one)<\/p>\n\n\n\n<p><strong>Example IAM policies (verify in official IAM policy reference):<\/strong>\n&#8211; <code>allow group &lt;group-name&gt; to read metrics in compartment &lt;compartment-name&gt;<\/code>\n&#8211; <code>allow group &lt;group-name&gt; to manage dashboards in compartment &lt;compartment-name&gt;<\/code>\n&#8211; (optional) <code>allow group &lt;group-name&gt; to manage instance-family in compartment &lt;compartment-name&gt;<\/code><\/p>\n\n\n\n<p><strong>Expected outcome:<\/strong> Your user can access Monitoring metrics and create dashboards.<\/p>\n\n\n\n<p><strong>Verification:<\/strong>\n&#8211; Navigate to Observability &amp; Management \u2192 <strong>Monitoring<\/strong>.\n&#8211; If you can open Monitoring pages without authorization errors, you likely have at least read access.<\/p>\n\n\n\n<p><strong>Common issue:<\/strong>\n&#8211; \u201cNot authorized\u201d errors usually mean you are in the wrong compartment\/region or missing IAM policy permissions.<\/p>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h3 class=\"wp-block-heading\">Step 3: Create or reuse a Compute instance (metric source)<\/h3>\n\n\n\n<p>If you already have an instance generating metrics, you can skip to Step 4.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Go to <strong>Compute<\/strong> \u2192 <strong>Instances<\/strong>.<\/li>\n<li>Select your lab compartment.<\/li>\n<li>Click <strong>Create instance<\/strong>.<\/li>\n<li>Choose an image and shape appropriate for your account.\n   &#8211; If you want low cost, choose an Always Free eligible option if your tenancy supports it (availability varies by region and account limits; <strong>verify<\/strong> on OCI Free Tier pages).<\/li>\n<li>Create the instance and wait until it becomes <strong>Running<\/strong>.<\/li>\n<\/ol>\n\n\n\n<p><strong>Expected outcome:<\/strong> You have a running instance with an OCID and a resource page.<\/p>\n\n\n\n<p><strong>Verification:<\/strong>\n&#8211; The instance shows <strong>Running<\/strong>.\n&#8211; Note the instance name and OCID (helpful for later).<\/p>\n\n\n\n<p><strong>Tip (optional):<\/strong> Generate some CPU activity so charts are more obvious.\n&#8211; SSH to the instance and run a short CPU load test (only if you understand and accept the impact).\n&#8211; For example, on many Linux distros you can install a stress tool, but package names and availability differ.\n&#8211; If you do this, keep it short and safe; avoid impacting other workloads.<\/p>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h3 class=\"wp-block-heading\">Step 4: Confirm metrics exist for your resource (Metrics Explorer)<\/h3>\n\n\n\n<p>Before building dashboards, confirm you can see relevant metrics.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Go to Observability &amp; Management \u2192 <strong>Monitoring<\/strong>.<\/li>\n<li>Open <strong>Metrics Explorer<\/strong> (label can vary slightly).<\/li>\n<li>Select:\n   &#8211; <strong>Compartment:<\/strong> your lab compartment\n   &#8211; <strong>Namespace:<\/strong> choose the namespace relevant to Compute\/instances (the Console typically lists namespaces; choose one that clearly maps to Compute metrics)<\/li>\n<li>Browse available metrics and dimensions.<\/li>\n<li>Select a metric you expect to exist for instances (for example, a CPU-related metric) and set a time range (for example, \u201cLast 1 hour\u201d).<\/li>\n<\/ol>\n\n\n\n<p><strong>Expected outcome:<\/strong> You see a metric chart with data points.<\/p>\n\n\n\n<p><strong>Verification checklist:<\/strong>\n&#8211; The chart renders without errors.\n&#8211; You can adjust time range and see the chart update.\n&#8211; If you have multiple instances, you can filter\/group by dimensions (resource name\/OCID) depending on the metric\u2019s dimensions.<\/p>\n\n\n\n<p><strong>Common issues and fixes:<\/strong>\n&#8211; <strong>No data:<\/strong> switch to the correct region; increase time range; confirm the instance exists in the selected compartment.\n&#8211; <strong>Wrong namespace:<\/strong> try another namespace in the list that maps to the service you\u2019re monitoring.\n&#8211; <strong>Missing OS-level metrics:<\/strong> some metrics require an agent or plugin; verify your instance image includes OCI agent and that monitoring is enabled for the relevant metric set.<\/p>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h3 class=\"wp-block-heading\">Step 5: Create a dashboard group in Console Dashboards<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Go to Observability &amp; Management \u2192 Monitoring \u2192 <strong>Dashboards<\/strong> (or \u201cDashboards\u201d under Observability).<\/li>\n<li>Ensure the compartment selector is set to your lab compartment.<\/li>\n<li>Create a <strong>Dashboard Group<\/strong>.<\/li>\n<li>Name it using a clear convention, for example:\n   &#8211; <code>ops-sandbox<\/code>\n   &#8211; <code>team-platform-prod<\/code>\n   &#8211; <code>app-payments-prod<\/code><\/li>\n<\/ol>\n\n\n\n<p><strong>Expected outcome:<\/strong> A dashboard group exists and is visible in the Dashboards list.<\/p>\n\n\n\n<p><strong>Verification:<\/strong>\n&#8211; You can open the dashboard group and see an empty list ready for dashboards.<\/p>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h3 class=\"wp-block-heading\">Step 6: Create a dashboard and add a CPU widget<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Inside your dashboard group, click <strong>Create dashboard<\/strong>.<\/li>\n<li>Name the dashboard:\n   &#8211; <code>Compute Instance - Basic Ops<\/code><\/li>\n<li>Add a widget (often \u201cAdd widget\u201d).<\/li>\n<li>Choose a <strong>metric chart<\/strong> widget (exact wording may vary).<\/li>\n<li>Configure the widget:\n   &#8211; Compartment: your lab compartment\n   &#8211; Metric namespace: the one you validated in Metrics Explorer\n   &#8211; Metric: choose a CPU-related metric available for your instance\n   &#8211; Filter\/dimensions: select the specific instance if possible\n   &#8211; Time range: start with \u201cLast 1 hour\u201d<\/li>\n<li>Save the widget and dashboard.<\/li>\n<\/ol>\n\n\n\n<p><strong>Expected outcome:<\/strong> The dashboard displays a CPU chart for your selected instance.<\/p>\n\n\n\n<p><strong>Verification:<\/strong>\n&#8211; The widget shows a line chart with recent data.\n&#8211; If you generate CPU activity on the instance, you should see changes reflected in the chart (with normal metric collection delay).<\/p>\n\n\n\n<p><strong>Practical tip:<\/strong> Rename the widget title to something operator-friendly:\n&#8211; <code>CPU Utilization (instance01)<\/code>\n&#8211; <code>CPU (mean, 1h)<\/code><\/p>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h3 class=\"wp-block-heading\">Step 7: Add network or disk-related widgets (second signal)<\/h3>\n\n\n\n<p>Repeat the widget process for another metric category that helps operational troubleshooting, such as:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Network throughput (ingress\/egress)<\/li>\n<li>Disk I\/O (if available)<\/li>\n<li>Memory utilization (often requires agent support; verify availability)<\/li>\n<\/ul>\n\n\n\n<p><strong>Expected outcome:<\/strong> The dashboard now has at least <strong>two widgets<\/strong> representing different resource saturation signals.<\/p>\n\n\n\n<p><strong>Verification:<\/strong>\n&#8211; Both widgets show data for the same time range and same instance context (as applicable).<\/p>\n\n\n\n<p><strong>Operator tip:<\/strong> Layout matters. A common layout is:\n&#8211; Top row: \u201csymptoms\u201d (latency\/errors if app metrics exist)\n&#8211; Second row: \u201csaturation\u201d (CPU\/memory\/disk\/network)\n&#8211; Third row: \u201cdependency\u201d (load balancer, database metrics)<\/p>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h3 class=\"wp-block-heading\">Step 8 (Optional): Create an alarm aligned to your dashboard<\/h3>\n\n\n\n<p>Dashboards are most effective when paired with alerts. If you have permissions:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Go to Monitoring \u2192 <strong>Alarms<\/strong>.<\/li>\n<li>Create an alarm for your CPU metric (or another key metric):\n   &#8211; Compartment: lab compartment\n   &#8211; Metric and dimension filter: same instance and metric you used in the dashboard widget\n   &#8211; Threshold: pick a sensible value for a short lab (for example, CPU &gt; X for Y minutes)\n   &#8211; Destination: configure Notifications (topic\/subscription) if required<\/li>\n<li>Save the alarm.<\/li>\n<\/ol>\n\n\n\n<p><strong>Expected outcome:<\/strong> An alarm exists and will trigger if the condition is met.<\/p>\n\n\n\n<p><strong>Verification:<\/strong>\n&#8211; The alarm appears in the alarm list.\n&#8211; Its status is \u201cOK\u201d initially (assuming no threshold breach).<\/p>\n\n\n\n<blockquote>\n<p>Note: Alarm configuration details (metric query syntax, aggregation, delay) can be subtle. Use the Console wizard and verify behavior in official docs:\nhttps:\/\/docs.oracle.com\/en-us\/iaas\/Content\/Monitoring\/home.htm<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h3 class=\"wp-block-heading\">Validation<\/h3>\n\n\n\n<p>Use this checklist to confirm the lab is successful:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Dashboard group exists<\/strong> in the correct compartment.<\/li>\n<li><strong>Dashboard exists<\/strong> and opens without authorization errors.<\/li>\n<li>At least <strong>two widgets<\/strong> show real metric data.<\/li>\n<li>Changing the time range updates charts.<\/li>\n<li>(Optional) Alarm exists and is tied to a metric shown on the dashboard.<\/li>\n<\/ol>\n\n\n\n<p>Optional CLI validation (only if you have OCI CLI installed and configured):\n&#8211; You can validate access to Monitoring by listing metric namespaces or querying metric data. Exact commands depend on your setup; start from OCI CLI Monitoring docs:\n  &#8211; https:\/\/docs.oracle.com\/en-us\/iaas\/tools\/oci-cli\/latest\/oci_cli_docs\/cmdref\/monitoring.html<\/p>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h3 class=\"wp-block-heading\">Troubleshooting<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table>\n<thead>\n<tr>\n<th>Symptom<\/th>\n<th>Likely Cause<\/th>\n<th>Fix<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Dashboard widgets show \u201cNo data\u201d<\/td>\n<td>Wrong region selected<\/td>\n<td>Switch to the region where the resource exists<\/td>\n<\/tr>\n<tr>\n<td>Dashboard widgets show \u201cNo data\u201d<\/td>\n<td>Wrong compartment or missing metric dimensions<\/td>\n<td>Select the correct compartment; refine filter to the specific resource<\/td>\n<\/tr>\n<tr>\n<td>\u201cNot authorized\u201d when opening Dashboards<\/td>\n<td>Missing IAM permissions<\/td>\n<td>Add\/adjust IAM policies for <code>read metrics<\/code> and <code>manage dashboards<\/code><\/td>\n<\/tr>\n<tr>\n<td>Metrics Explorer works but dashboard widget doesn\u2019t<\/td>\n<td>Widget configured with different namespace\/metric<\/td>\n<td>Reconfigure widget to match Metrics Explorer selections<\/td>\n<\/tr>\n<tr>\n<td>OS-level metrics missing<\/td>\n<td>Agent\/plugin not enabled or not supported by image<\/td>\n<td>Verify OCI agent installation and supported metrics in docs<\/td>\n<\/tr>\n<tr>\n<td>Charts are flat\/boring<\/td>\n<td>No workload activity<\/td>\n<td>Generate safe test load briefly, or select a more active resource<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h3 class=\"wp-block-heading\">Cleanup<\/h3>\n\n\n\n<p>To avoid ongoing costs and clutter:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Delete the dashboard widget(s) or delete the entire dashboard.<\/li>\n<li>Delete the dashboard group (if it\u2019s only for the lab).<\/li>\n<li>(Optional) Delete alarms and notification topics you created for the lab.<\/li>\n<li>Terminate the Compute instance if it was created only for this lab:\n   &#8211; Compute \u2192 Instances \u2192 select instance \u2192 <strong>Terminate<\/strong><\/li>\n<li>Remove IAM policies if they were created only for lab access (coordinate with your admin).<\/li>\n<\/ol>\n\n\n\n<p><strong>Expected outcome:<\/strong> No unnecessary resources remain, minimizing cost and governance overhead.<\/p>\n\n\n\n<hr class=\"wp-block-separator\" \/>\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>Design dashboards around services and dependencies:<\/strong> Organize widgets in the same order your architecture fails (edge \u2192 app \u2192 database).<\/li>\n<li><strong>Standardize \u201cgolden dashboards\u201d:<\/strong> Create a baseline set for common services (compute, LB, DB, OKE) and clone per environment.<\/li>\n<li><strong>Prefer symptoms-first layout:<\/strong> Put user-visible indicators near the top (errors\/latency), then resource saturation signals below.<\/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>Separate viewers from editors:<\/strong> Most users should have view-only access; restrict edit rights to platform\/SRE leads.<\/li>\n<li><strong>Use compartments intentionally:<\/strong> Align dashboards with workload compartments so access is naturally scoped.<\/li>\n<li><strong>Review policies regularly:<\/strong> Dashboard access often implies visibility into operational metadata that can be sensitive.<\/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>Avoid high-cardinality custom metrics:<\/strong> Keep dimensions stable and low in count.<\/li>\n<li><strong>Align telemetry collection with decisions:<\/strong> If nobody uses a metric, don\u2019t collect it at high frequency.<\/li>\n<li><strong>Keep logging under control:<\/strong> Dashboards often lead to \u201ccollect everything.\u201d Set retention and ingestion budgets.<\/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>Avoid overly complex dashboards:<\/strong> Too many widgets can slow down loading and overwhelm operators.<\/li>\n<li><strong>Use consistent time ranges and aggregations:<\/strong> Makes comparisons easier during incidents.<\/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 dashboards as production artifacts:<\/strong> Apply change control. Small layout changes can confuse on-call.<\/li>\n<li><strong>Document intent in the dashboard:<\/strong> If text widgets exist, add context: what the charts mean and what \u201cnormal\u201d looks like.<\/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>Tie dashboards to runbooks:<\/strong> Link alarms and charts to concrete operator actions.<\/li>\n<li><strong>Use naming conventions:<\/strong> Include environment, service, and ownership in dashboard names.<\/li>\n<li><strong>Tag dashboards (if supported):<\/strong> Owner, cost center, application, environment.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Governance\/tagging\/naming best practices<\/h3>\n\n\n\n<p>A simple naming convention:\n&#8211; Dashboard group: <code>&lt;team&gt;-&lt;env&gt;<\/code> (e.g., <code>platform-prod<\/code>)\n&#8211; Dashboard: <code>&lt;service&gt;-&lt;purpose&gt;<\/code> (e.g., <code>payments-api-service-health<\/code>)\n&#8211; Widgets: <code>&lt;signal&gt; (&lt;aggregation&gt;, &lt;window&gt;)<\/code> (e.g., <code>CPU Utilization (mean, 1h)<\/code>)<\/p>\n\n\n\n<hr class=\"wp-block-separator\" \/>\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>Console Dashboards are secured via <strong>OCI IAM<\/strong>.<\/li>\n<li>Use <strong>least privilege<\/strong>:<\/li>\n<li>Many users only need to <strong>read metrics<\/strong> and <strong>view dashboards<\/strong>.<\/li>\n<li>A smaller group should <strong>manage dashboards<\/strong>.<\/li>\n<\/ul>\n\n\n\n<p><strong>Key security design point:<\/strong> Access to dashboards often equals access to underlying metric data. If metric dimensions expose resource identifiers or topology, treat access as sensitive.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Encryption<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>OCI services encrypt data at rest by default for many services. For Monitoring and associated metadata, encryption is handled by OCI-managed keys in most default scenarios.<\/li>\n<li>If you have strict requirements (customer-managed keys, specific compliance controls), <strong>verify<\/strong> which parts of Monitoring\/Dashboards support those controls.<\/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>Dashboards are accessed via the OCI Console over the public internet (HTTPS), unless your corporate controls restrict access.<\/li>\n<li>Use:<\/li>\n<li>MFA<\/li>\n<li>federation with strong IdP policies<\/li>\n<li>conditional access (if supported by your IdP)<\/li>\n<li>device posture controls (enterprise security)<\/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>Do not embed secrets in dashboard text widgets or labels.<\/li>\n<li>If dashboards link to runbooks, ensure runbooks do not expose credentials.<\/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>OCI <strong>Audit<\/strong> can record API calls to many OCI resources.<\/li>\n<li>Confirm whether dashboard create\/update\/delete actions are captured in Audit for your tenancy and region, and ensure audit logs are retained per policy.<\/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>Dashboards can expose operational signals about regulated systems (availability, performance).<\/li>\n<li>If you operate under SOC 2 \/ ISO 27001 \/ HIPAA-style controls, treat dashboard access as part of your access review scope.<\/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 <code>manage<\/code> permissions broadly for convenience.<\/li>\n<li>Building dashboards in a shared compartment with too-wide access.<\/li>\n<li>Mixing dev\/test\/prod dashboards without clear separation, leading to accidental operational confusion.<\/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>Keep production dashboards in production compartments with controlled access.<\/li>\n<li>Use a dedicated group like <code>dashboard-admins<\/code> for edit rights.<\/li>\n<li>Use read-only groups like <code>dashboard-viewers<\/code> for broad access.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">13. Limitations and Gotchas<\/h2>\n\n\n\n<p>Because OCI evolves, confirm current limits and behavior in official docs. Common limitations\/gotchas include:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Region context is easy to overlook:<\/strong> Many \u201cno data\u201d issues are just the wrong region selected in the Console.<\/li>\n<li><strong>Compartment scoping matters:<\/strong> Dashboards created in one compartment may not automatically query metrics from another without IAM permission.<\/li>\n<li><strong>Metric availability varies by resource and configuration:<\/strong><\/li>\n<li>Some OS-level metrics require agent support.<\/li>\n<li>Some services emit different metrics or dimensions than expected.<\/li>\n<li><strong>Widget and dashboard limits:<\/strong> There are often practical or enforced limits on the number of widgets per dashboard and dashboards per group\/compartment.<\/li>\n<li><strong>Not a full BI tool:<\/strong> Console Dashboards are optimized for operational telemetry, not business analytics with complex joins.<\/li>\n<li><strong>Dashboard-as-code maturity:<\/strong> If you require GitOps-style dashboard pipelines, validate current API\/CLI support and consider integrating with external dashboard platforms.<\/li>\n<li><strong>Retention constraints:<\/strong> Metric history and resolution may be constrained by Monitoring settings and service limits.<\/li>\n<li><strong>Permission troubleshooting can be non-obvious:<\/strong> A user might see dashboards but not see widget data if they lack metric read permissions.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">14. Comparison with Alternatives<\/h2>\n\n\n\n<p>Console Dashboards sit in a broader observability landscape. Here\u2019s how they compare to common alternatives.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Key alternatives to consider<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>OCI Monitoring Metrics Explorer:<\/strong> Great for ad-hoc exploration; less ideal for curated, shareable operational views.<\/li>\n<li><strong>Dashboards inside other OCI services:<\/strong> Some OCI services (for example, log analytics or APM features) may offer their own dashboards tailored to that data source (verify current OCI service capabilities).<\/li>\n<li><strong>Grafana (self-managed or managed):<\/strong> Strong visualization and ecosystem; requires setup and governance.<\/li>\n<li><strong>Prometheus + Grafana:<\/strong> Great for Kubernetes and cloud-native metrics, but requires operational investment.<\/li>\n<li><strong>Other cloud-native dashboards (AWS CloudWatch Dashboards, Azure Dashboards\/Workbooks, Google Cloud Monitoring dashboards):<\/strong> Useful if you\u2019re operating multi-cloud, but each is best within its own ecosystem.<\/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><strong>Oracle Cloud Console Dashboards<\/strong><\/td>\n<td>OCI-first operations teams<\/td>\n<td>Native OCI IAM + compartment alignment; quick setup; tight Monitoring integration<\/td>\n<td>Less extensible than dedicated visualization platforms; may be region\/compartment-centric<\/td>\n<td>You want OCI-native dashboards with minimal setup<\/td>\n<\/tr>\n<tr>\n<td><strong>OCI Metrics Explorer<\/strong><\/td>\n<td>Ad-hoc troubleshooting<\/td>\n<td>Fast exploration; flexible slicing\/dicing<\/td>\n<td>Not a curated \u201csingle pane\u201d for teams<\/td>\n<td>You\u2019re investigating one-off questions<\/td>\n<\/tr>\n<tr>\n<td><strong>OCI Logging \/ Log analytics dashboards (service-specific)<\/strong><\/td>\n<td>Log-centric investigations<\/td>\n<td>Tailored to logs\/analytics features<\/td>\n<td>Not always a unified view with metrics<\/td>\n<td>Your primary signal is logs and analytics<\/td>\n<\/tr>\n<tr>\n<td><strong>Grafana (with OCI data sources)<\/strong><\/td>\n<td>Advanced dashboards and broad integrations<\/td>\n<td>Rich visualization; plugins; dashboard-as-code patterns<\/td>\n<td>Setup\/ops overhead; access control integration work<\/td>\n<td>You need advanced visualization and\/or multi-cloud dashboards<\/td>\n<\/tr>\n<tr>\n<td><strong>Prometheus + Grafana<\/strong><\/td>\n<td>Kubernetes\/SRE teams<\/td>\n<td>Cloud-native patterns; strong ecosystem<\/td>\n<td>Requires running and maintaining telemetry pipeline<\/td>\n<td>You want open-source control and K8s-native metrics<\/td>\n<\/tr>\n<tr>\n<td><strong>AWS\/Azure\/GCP native dashboards<\/strong><\/td>\n<td>Multi-cloud teams per-cloud<\/td>\n<td>Deep integration per cloud<\/td>\n<td>Fragmentation across clouds<\/td>\n<td>You operate significant workloads in each cloud and accept tool fragmentation<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator\" \/>\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-compartment OCI landing zone operations<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem:<\/strong> A large enterprise runs dozens of applications in OCI with a landing zone model: separate compartments per business unit and environment. On-call teams need consistent views without giving broad admin access.<\/li>\n<li><strong>Proposed architecture:<\/strong><\/li>\n<li>Each application team maintains a dashboard group in its compartment (dev\/test\/prod).<\/li>\n<li>A central SRE group has read-only access across production compartments for incident coordination.<\/li>\n<li>Alarms route to Notifications topics integrated with an on-call tool.<\/li>\n<li><strong>Why Console Dashboards was chosen:<\/strong><\/li>\n<li>Native IAM and compartment alignment simplifies access governance.<\/li>\n<li>Faster rollout than deploying and standardizing third-party dashboards across teams.<\/li>\n<li><strong>Expected outcomes:<\/strong><\/li>\n<li>Standardized operational views across business units.<\/li>\n<li>Reduced time to triage incidents.<\/li>\n<li>Clearer ownership boundaries and fewer \u201cwho has access?\u201d delays.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Startup\/small-team example: Single-service SaaS on OCI<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Problem:<\/strong> A startup runs one main API and database on OCI. They need quick operational visibility without spending engineering cycles on an observability platform.<\/li>\n<li><strong>Proposed architecture:<\/strong><\/li>\n<li>One dashboard group: <code>startup-prod<\/code><\/li>\n<li>One dashboard: <code>api-service-health<\/code><\/li>\n<li>Widgets: API gateway\/load balancer metrics (if used), compute CPU, DB performance indicators<\/li>\n<li>A small set of alarms for the top failure modes (availability, high error rate, saturation)<\/li>\n<li><strong>Why Console Dashboards was chosen:<\/strong><\/li>\n<li>Minimal setup and no extra infrastructure.<\/li>\n<li>Easy to share read-only access with founders\/ops without risking changes.<\/li>\n<li><strong>Expected outcomes:<\/strong><\/li>\n<li>Faster awareness of performance problems.<\/li>\n<li>Less time spent navigating resource pages.<\/li>\n<li>Clear operational habits without additional tooling cost.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">16. FAQ<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">1) Is \u201cConsole Dashboards\u201d a separate OCI service I need to enable?<\/h3>\n\n\n\n<p>Typically, Console Dashboards are a <strong>Console capability<\/strong> integrated with OCI Observability and Management (commonly Monitoring). You usually don\u2019t \u201cenable\u201d them separately, but you must have IAM permissions. <strong>Verify<\/strong> in your tenancy\u2019s Monitoring documentation.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2) Do Console Dashboards cost money?<\/h3>\n\n\n\n<p>In many cases, dashboards themselves aren\u2019t billed separately; costs come from <strong>Monitoring (custom metrics)<\/strong>, <strong>Logging<\/strong>, <strong>Notifications<\/strong>, and the underlying resources you monitor. Always confirm with the official OCI price list: https:\/\/www.oracle.com\/cloud\/price-list\/<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3) Why do my widgets show \u201cNo data\u201d?<\/h3>\n\n\n\n<p>Common causes are:\n&#8211; wrong region\n&#8211; wrong compartment\n&#8211; wrong namespace\/metric selection\n&#8211; missing agent\/config for OS-level metrics<br\/>\nStart by reproducing the metric in Metrics Explorer, then mirror that selection in the widget.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4) Can I share a dashboard with someone outside my tenancy?<\/h3>\n\n\n\n<p>OCI Console Dashboards are intended for tenancy users governed by IAM. If you need external sharing, consider a separate portal\/reporting approach. <strong>Verify<\/strong> any cross-tenancy sharing capabilities in official docs.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">5) Can I restrict users to view-only access?<\/h3>\n\n\n\n<p>Yes\u2014use IAM policies to separate \u201cview\/read\u201d from \u201cmanage\u201d permissions. Confirm the exact policy statements for dashboards and metrics in the IAM policy reference.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">6) Are dashboards global or regional?<\/h3>\n\n\n\n<p>OCI Console workflows are region-aware. Dashboards often behave as regional resources in practice. <strong>Verify<\/strong> current behavior in the Dashboards\/Monitoring documentation for your region.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">7) Can I build one dashboard that shows metrics from multiple compartments?<\/h3>\n\n\n\n<p>Yes, if the viewer has IAM permissions to read metrics across those compartments and the widget configuration supports cross-compartment selection. Many teams prefer separate dashboards per compartment to preserve ownership clarity.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">8) Can I use Console Dashboards for Kubernetes (OKE) monitoring?<\/h3>\n\n\n\n<p>You can visualize any metrics available in OCI Monitoring related to OKE or its nodes (depending on what metrics are emitted and configured). For deep Kubernetes metrics, many teams integrate Prometheus\/Grafana\u2014evaluate based on your needs.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">9) How do Console Dashboards relate to alarms?<\/h3>\n\n\n\n<p>Dashboards provide visualization; alarms provide alerting. A best practice is to design alarms for key failure modes and dashboards for diagnosis and context.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">10) Can I export dashboards?<\/h3>\n\n\n\n<p>Export capabilities vary by product\/version. Some platforms support JSON export\/import; others are Console-only. <strong>Verify<\/strong> current OCI dashboard export\/import options in official docs.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">11) What\u2019s the best way to organize dashboards?<\/h3>\n\n\n\n<p>Use dashboard groups aligned to:\n&#8211; team ownership\n&#8211; environment (dev\/test\/prod)\n&#8211; service boundaries<br\/>\nKeep names and tags consistent.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">12) How many widgets should I put on one dashboard?<\/h3>\n\n\n\n<p>Enough to answer a focused operational question without overwhelming the viewer. Many teams keep \u201cservice health\u201d dashboards to one or two screens worth of charts and create separate drill-down dashboards.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">13) Can I build dashboards with Terraform?<\/h3>\n\n\n\n<p>Terraform support depends on whether OCI exposes dashboards as Terraform-managed resources. <strong>Verify<\/strong> in the OCI Terraform provider documentation: https:\/\/registry.terraform.io\/providers\/oracle\/oci\/latest\/docs<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">14) Are there limits on dashboards and widgets?<\/h3>\n\n\n\n<p>Yes, there are typically service limits. Check current Monitoring and Dashboards limits in official docs.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">15) What\u2019s the fastest way to troubleshoot missing permissions?<\/h3>\n\n\n\n<p>Check:\n&#8211; the compartment in which the dashboard exists\n&#8211; whether your group has <code>read metrics<\/code>\n&#8211; whether your group has <code>manage dashboards<\/code> (or view permission)\nThen review OCI Audit logs (if available) for denied actions.<\/p>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">17. Top Online Resources to Learn Console Dashboards<\/h2>\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>OCI Monitoring documentation<\/td>\n<td>Primary reference for metrics, alarms, and dashboard workflows in Observability and Management: https:\/\/docs.oracle.com\/en-us\/iaas\/Content\/Monitoring\/home.htm<\/td>\n<\/tr>\n<tr>\n<td>Official documentation<\/td>\n<td>OCI IAM policy reference<\/td>\n<td>Required to correctly grant access for dashboards and metrics: https:\/\/docs.oracle.com\/en-us\/iaas\/Content\/Identity\/policyreference\/policyreference.htm<\/td>\n<\/tr>\n<tr>\n<td>Official pricing<\/td>\n<td>Oracle Cloud Price List<\/td>\n<td>Authoritative pricing source for Monitoring\/Logging-related costs: https:\/\/www.oracle.com\/cloud\/price-list\/<\/td>\n<\/tr>\n<tr>\n<td>Official pricing tool<\/td>\n<td>OCI Cost Estimator<\/td>\n<td>Model overall solution cost drivers: https:\/\/www.oracle.com\/cloud\/costestimator.html<\/td>\n<\/tr>\n<tr>\n<td>Official free tier<\/td>\n<td>Oracle Cloud Free Tier<\/td>\n<td>Understand Always Free and free usage offers: https:\/\/www.oracle.com\/cloud\/free\/<\/td>\n<\/tr>\n<tr>\n<td>Official CLI docs<\/td>\n<td>OCI CLI installation<\/td>\n<td>Helpful for ops automation and verification: https:\/\/docs.oracle.com\/en-us\/iaas\/Content\/API\/SDKDocs\/cliinstall.htm<\/td>\n<\/tr>\n<tr>\n<td>Official CLI cmdref<\/td>\n<td>OCI CLI Monitoring command reference<\/td>\n<td>Explore metric\/alarm commands (verify dashboard automation support): https:\/\/docs.oracle.com\/en-us\/iaas\/tools\/oci-cli\/latest\/oci_cli_docs\/cmdref\/monitoring.html<\/td>\n<\/tr>\n<tr>\n<td>Architecture center<\/td>\n<td>Oracle Architecture Center<\/td>\n<td>Reference architectures to place dashboards into broader designs: https:\/\/docs.oracle.com\/solutions\/<\/td>\n<\/tr>\n<tr>\n<td>Region availability<\/td>\n<td>OCI regions and availability<\/td>\n<td>Confirm service availability by region: https:\/\/www.oracle.com\/cloud\/data-regions\/<\/td>\n<\/tr>\n<tr>\n<td>Community learning<\/td>\n<td>OCI blogs and tutorials (Oracle-owned channels)<\/td>\n<td>Practical walkthroughs and updates; validate against current docs: https:\/\/blogs.oracle.com\/cloud-infrastructure\/<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">18. Training and Certification Providers<\/h2>\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>OCI operations, DevOps practices, monitoring\/observability fundamentals<\/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 engineers<\/td>\n<td>DevOps\/SCM foundations, CI\/CD, cloud basics<\/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 ops and operations teams<\/td>\n<td>Cloud operations practices, monitoring, reliability<\/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 and reliability-focused engineers<\/td>\n<td>SRE principles, SLIs\/SLOs, incident response, observability<\/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<\/td>\n<td>AIOps concepts, monitoring analytics, automation foundations<\/td>\n<td>Check website<\/td>\n<td>https:\/\/www.aiopsschool.com\/<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">19. Top Trainers<\/h2>\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 specific offerings)<\/td>\n<td>Learners seeking practical DevOps guidance<\/td>\n<td>https:\/\/rajeshkumar.xyz\/<\/td>\n<\/tr>\n<tr>\n<td>devopstrainer.in<\/td>\n<td>DevOps training and enablement (verify course catalog)<\/td>\n<td>Beginners to intermediate DevOps engineers<\/td>\n<td>https:\/\/www.devopstrainer.in\/<\/td>\n<\/tr>\n<tr>\n<td>devopsfreelancer.com<\/td>\n<td>Freelance DevOps consulting\/training (verify services)<\/td>\n<td>Teams needing short-term coaching or delivery help<\/td>\n<td>https:\/\/www.devopsfreelancer.com\/<\/td>\n<\/tr>\n<tr>\n<td>devopssupport.in<\/td>\n<td>DevOps support and training resources (verify scope)<\/td>\n<td>Operations teams needing hands-on support<\/td>\n<td>https:\/\/www.devopssupport.in\/<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">20. Top Consulting Companies<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table>\n<thead>\n<tr>\n<th>Company Name<\/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 current portfolio)<\/td>\n<td>Landing zones, observability rollouts, CI\/CD, ops maturity<\/td>\n<td>Designing compartment\/IAM strategy for dashboards; setting up monitoring\/alarm standards<\/td>\n<td>https:\/\/cotocus.com\/<\/td>\n<\/tr>\n<tr>\n<td>DevOpsSchool.com<\/td>\n<td>DevOps consulting and training (verify services)<\/td>\n<td>DevOps transformation, toolchain implementation, training<\/td>\n<td>Standardizing OCI operations dashboards; building incident response runbooks aligned to metrics<\/td>\n<td>https:\/\/www.devopsschool.com\/<\/td>\n<\/tr>\n<tr>\n<td>DEVOPSCONSULTING.IN<\/td>\n<td>DevOps consulting (verify services)<\/td>\n<td>Automation, monitoring strategy, operational best practices<\/td>\n<td>Implementing alerting + dashboard practices; optimizing telemetry cost drivers<\/td>\n<td>https:\/\/www.devopsconsulting.in\/<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator\" \/>\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 Console Dashboards<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>OCI fundamentals: tenancies, compartments, VCN basics<\/li>\n<li>IAM: users, groups, policies, dynamic groups (where applicable)<\/li>\n<li>Observability basics: metrics vs logs vs traces<\/li>\n<li>Basic operations: incident response, change management, runbooks<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">What to learn after Console Dashboards<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>OCI Monitoring alarms<\/strong> and Notifications (alerting pipelines)<\/li>\n<li><strong>OCI Logging<\/strong> and (if applicable) logging analytics capabilities<\/li>\n<li><strong>Distributed tracing\/APM<\/strong> concepts (if your OCI services support them)<\/li>\n<li>Infrastructure as Code:<\/li>\n<li>Terraform for OCI resource governance<\/li>\n<li>SRE maturity:<\/li>\n<li>SLIs\/SLOs, error budgets, capacity planning<\/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>Site Reliability Engineer (SRE)<\/li>\n<li>Cloud Operations Engineer<\/li>\n<li>DevOps Engineer<\/li>\n<li>Platform Engineer<\/li>\n<li>Solutions Architect (operational design)<\/li>\n<li>Security Engineer (visibility and audit-oriented dashboards)<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Certification path (if available)<\/h3>\n\n\n\n<p>Oracle certification offerings change over time. For OCI certifications and learning paths, verify the official Oracle University and certification pages:\n&#8211; https:\/\/education.oracle.com\/\n&#8211; https:\/\/education.oracle.com\/oracle-certification<\/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>Build a \u201cgolden dashboard\u201d for a 3-tier app (LB \u2192 app \u2192 DB) with a consistent layout.<\/li>\n<li>Create separate dashboards per environment and prove you can\u2019t accidentally query prod metrics from dev without IAM permission.<\/li>\n<li>Define an SLO dashboard: availability + latency + saturation.<\/li>\n<li>Run a game day: intentionally create load and watch dashboards + alarms react; document improvements.<\/li>\n<li>Cost exercise: estimate the impact of adding custom metrics vs. relying on service metrics.<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">22. Glossary<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>OCI (Oracle Cloud Infrastructure):<\/strong> Oracle Cloud\u2019s IaaS\/PaaS platform.<\/li>\n<li><strong>Observability and Management:<\/strong> OCI category covering Monitoring, Logging, and related operations services.<\/li>\n<li><strong>Console Dashboards:<\/strong> Dashboarding capability in the OCI Console used to visualize operational telemetry (commonly Monitoring metrics).<\/li>\n<li><strong>Monitoring:<\/strong> OCI service for collecting\/querying metrics and creating alarms.<\/li>\n<li><strong>Metric:<\/strong> A time-series measurement (for example, CPU utilization over time).<\/li>\n<li><strong>Namespace:<\/strong> A logical grouping of metrics (often per OCI service or metric source).<\/li>\n<li><strong>Dimension:<\/strong> Key\/value attributes attached to metrics (for example, resourceId, instance name).<\/li>\n<li><strong>Widget:<\/strong> A dashboard element that displays a chart or contextual information.<\/li>\n<li><strong>Dashboard group:<\/strong> A container to organize dashboards.<\/li>\n<li><strong>Compartment:<\/strong> OCI\u2019s logical isolation boundary for organizing resources and access control.<\/li>\n<li><strong>IAM policy:<\/strong> A statement defining who can do what in OCI (authorization).<\/li>\n<li><strong>OCID:<\/strong> Oracle Cloud Identifier, a unique identifier for OCI resources.<\/li>\n<li><strong>Alarm:<\/strong> A Monitoring rule that triggers notifications when a metric condition is met.<\/li>\n<li><strong>Notifications:<\/strong> OCI service that delivers messages to endpoints (email, integrations, etc.).<\/li>\n<li><strong>Audit:<\/strong> OCI service that records API calls for governance and security review.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">23. Summary<\/h2>\n\n\n\n<p>Oracle Cloud <strong>Console Dashboards<\/strong> are an OCI-native way to build and share operational dashboards inside the Oracle Cloud Console, strongly aligned with the <strong>Observability and Management<\/strong> ecosystem\u2014especially <strong>OCI Monitoring<\/strong> metrics. They matter because they turn raw telemetry into repeatable, team-friendly operational views that speed up troubleshooting and improve reliability.<\/p>\n\n\n\n<p>From an architecture standpoint, Console Dashboards sit above Monitoring (metrics and alarms) and are governed by IAM and compartments. From a cost standpoint, dashboards usually don\u2019t drive cost directly; the real cost drivers are <strong>custom metrics, logging ingestion\/retention, notifications, and the monitored resources themselves<\/strong>\u2014so design telemetry intentionally. From a security standpoint, apply least privilege: separate dashboard viewers from editors, and scope access via compartments.<\/p>\n\n\n\n<p>Use Console Dashboards when you want quick, OCI-native operational visibility with strong IAM integration. If you need advanced, multi-cloud, or GitOps-heavy dashboarding, evaluate tools like Grafana alongside OCI\u2019s native capabilities.<\/p>\n\n\n\n<p>Next step: deepen your operational setup by pairing dashboards with <strong>well-designed alarms<\/strong>, notification routing, and runbooks\u2014then validate your approach with a game day in a non-production environment.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Observability and Management<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[75,62],"tags":[],"class_list":["post-953","post","type-post","status-publish","format-standard","hentry","category-observability-and-management","category-oracle-cloud"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/tutorials\/wp-json\/wp\/v2\/posts\/953","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=953"}],"version-history":[{"count":0,"href":"https:\/\/www.devopsschool.com\/tutorials\/wp-json\/wp\/v2\/posts\/953\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/tutorials\/wp-json\/wp\/v2\/media?parent=953"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/tutorials\/wp-json\/wp\/v2\/categories?post=953"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/tutorials\/wp-json\/wp\/v2\/tags?post=953"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}