{"id":1666,"date":"2026-06-08T12:31:56","date_gmt":"2026-06-08T12:31:56","guid":{"rendered":"https:\/\/adrianotanaka.com.br\/?p=1666"},"modified":"2026-06-08T12:36:35","modified_gmt":"2026-06-08T12:36:35","slug":"monitoring-aidp-workbench-with-oci-metrics-oci-logging-and-grafana","status":"publish","type":"post","link":"https:\/\/adrianotanaka.com.br\/index.php\/2026\/06\/08\/monitoring-aidp-workbench-with-oci-metrics-oci-logging-and-grafana\/","title":{"rendered":"Monitoring AIDP Workbench with OCI Metrics, OCI Logging, and Grafana"},"content":{"rendered":"\n<p>Monitoring AIDP Workbench with OCI Metrics, OCI Logging, and Grafana<\/p>\n\n\n\n<p>A practical guide for building Grafana dashboards that combine AIDP Workbench metrics and job-run audit logs from Oracle Cloud Infrastructure.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Overview<\/h3>\n\n\n\n<p>Oracle AI Data Platform Workbench (AIDP Workbench) is a governed workspace for building, managing, and operationalizing enterprise data and AI workflows. For operations teams, the key requirement is visibility: cluster utilization, job status, and errors must be easy to inspect without switching between multiple consoles.<\/p>\n\n\n\n<p>This guide shows how to monitor AIDP Workbench in Grafana by using two Oracle-provided data sources: OCI Metrics for time-series service metrics and OCI Logs for job-run events from OCI Logging and Audit.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Core services<\/h3>\n\n\n\n<p><strong>AIDP Workbench: <\/strong>the Oracle workspace where teams prepare data, run jobs, and manage AI\/data workflows.<\/p>\n\n\n\n<p><strong>OCI Metrics: <\/strong>the Monitoring service data model for time-series metrics such as CPU utilization, memory utilization, throughput, latency, and service-specific custom metrics.<\/p>\n\n\n\n<p><strong>OCI Metrics and OCI Logs Grafana plugins: <\/strong>Oracle-provided Grafana data source plugins that let Grafana query OCI Monitoring and OCI Logging directly, while continuing to use OCI IAM for access control.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Before you start<\/h3>\n\n\n\n<p>Make sure Grafana has network access to OCI APIs and an OCI principal with permission to inspect compartments, read metrics, and read log content in the AIDP compartment. If Grafana runs on an OCI Compute instance, use instance-principal authentication with a dynamic group and policy instead of storing user credentials.<\/p>\n\n\n\n<p>AIDP Workbench metrics are published under the `oracle_aidataplatform` namespace. If the dashboard is dedicated to AIDP Workbench, you can make the namespace a static variable with that value.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Install the OCI Grafana data sources<\/h3>\n\n\n\n<p>In Grafana, open Plugins and install both Oracle Cloud Infrastructure Metrics and Oracle Cloud Infrastructure Logs. Then create one data source for each plugin.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"975\" height=\"788\" src=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image.png\" alt=\"\" class=\"wp-image-1667\" srcset=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image.png 975w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-300x242.png 300w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-768x621.png 768w\" sizes=\"auto, (max-width: 975px) 100vw, 975px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"975\" height=\"426\" src=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-1.png\" alt=\"\" class=\"wp-image-1670\" srcset=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-1.png 975w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-1-300x131.png 300w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-1-768x336.png 768w\" sizes=\"auto, (max-width: 975px) 100vw, 975px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"975\" height=\"448\" src=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-2.png\" alt=\"\" class=\"wp-image-1671\" srcset=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-2.png 975w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-2-300x138.png 300w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-2-768x353.png 768w\" sizes=\"auto, (max-width: 975px) 100vw, 975px\" \/><\/figure>\n\n\n\n<p>When Grafana runs inside OCI, configure the data sources to use instance-principal authentication. This keeps the dashboard service accountable through IAM policy and avoids long-lived personal API keys.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Create dashboard variables<\/h3>\n\n\n\n<p>Create query-type variables in the Grafana dashboard so one dashboard can work across regions, compartments, namespaces, resource groups, metrics, and dimensions.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"975\" height=\"488\" src=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-3.png\" alt=\"\" class=\"wp-image-1672\" srcset=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-3.png 975w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-3-300x150.png 300w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-3-768x384.png 768w\" sizes=\"auto, (max-width: 975px) 100vw, 975px\" \/><\/figure>\n\n\n\n<p>Use the OCI Metrics data source for these variables. The variable functions below are supported by the OCI Metrics plugin and make the dashboard easier to reuse.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Variable<\/strong><\/td><td><strong>Query<\/strong><\/td><\/tr><tr><td>region<\/td><td>regions()<\/td><\/tr><tr><td>compartment<\/td><td>compartments()<\/td><\/tr><tr><td>namespace<\/td><td>namespaces($region, $compartment)<\/td><\/tr><tr><td>resourcegroup<\/td><td>resourcegroups($region, $compartment, $namespace)<\/td><\/tr><tr><td>metric<\/td><td>metrics($region, $compartment, $namespace, $resourcegroup)<\/td><\/tr><tr><td>dimension<\/td><td>dimensions($region, $compartment, $namespace, $metric, $resourcegroup)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"962\" height=\"911\" src=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-4.png\" alt=\"\" class=\"wp-image-1673\" srcset=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-4.png 962w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-4-300x284.png 300w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-4-768x727.png 768w\" sizes=\"auto, (max-width: 962px) 100vw, 962px\" \/><\/figure>\n\n\n\n<p>For an AIDP-only dashboard, change the <strong>namespace<\/strong> variable to a constant value and set it to <strong>oracle_aidataplatform<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"477\" height=\"402\" src=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-5.png\" alt=\"\" class=\"wp-image-1674\" srcset=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-5.png 477w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-5-300x253.png 300w\" sizes=\"auto, (max-width: 477px) 100vw, 477px\" \/><\/figure>\n\n\n\n<p>After the variables are created, the dashboard should provide a clean set of filters for region, compartment, namespace, metric, and dimension selection.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"606\" height=\"687\" src=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-6.png\" alt=\"\" class=\"wp-image-1675\" srcset=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-6.png 606w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-6-265x300.png 265w\" sizes=\"auto, (max-width: 606px) 100vw, 606px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Build AIDP compute-cluster metric panels<\/h3>\n\n\n\n<p>Create a row for compute-cluster metrics and another row for job statistics. For the compute row, select the OCI Metrics data source, then use <strong>$region, $compartment<\/strong>, and <strong>$namespace<\/strong> so the panel follows the dashboard filters.<\/p>\n\n\n\n<p>Start with <strong>CpuUtilization<\/strong>, aggregate by average, and use a one-minute interval. This provides a near-real-time view of driver and executor behavior for the selected AIDP cluster.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"975\" height=\"664\" src=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-7.png\" alt=\"\" class=\"wp-image-1676\" srcset=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-7.png 975w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-7-300x204.png 300w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-7-768x523.png 768w\" sizes=\"auto, (max-width: 975px) 100vw, 975px\" \/><\/figure>\n\n\n\n<p>Use a legend format and transformations to make executor labels readable.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Legend format: Cluster: {{resourceName}} - Executor: {{executorId}}<\/code><\/pre>\n\n\n\n<p>Transform the raw executor labels so the driver and executors are easier to scan in the chart legend.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"791\" height=\"488\" src=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-8.png\" alt=\"\" class=\"wp-image-1677\" srcset=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-8.png 791w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-8-300x185.png 300w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-8-768x474.png 768w\" sizes=\"auto, (max-width: 791px) 100vw, 791px\" \/><\/figure>\n\n\n\n<pre class=\"wp-block-code\"><code>Match: \/^(Cluster:\\s*&#91;^-]+)\\s*-\\s*Executor:\\s*1\\s+1$\/<br>Replace: $1 - (Driver)<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>Match: \/^(Cluster:\\s*&#91;^-]+)\\s*-\\s*Executor:\\s*1\\s+(&#91;2-9]\\d*)$\/<br>Replace: $1 - (Executor) $2<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>Match: \/^(Cluster:\\s*&#91;^-]+)\\s*-\\s*Executor:\\s*1\\s+(\\d+)$\/<br>Replace: $1 - (Executor) $2<\/code><\/pre>\n\n\n\n<p>With these transformations, the panel shows the cluster name and whether each time series represents the driver or an executor.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"875\" height=\"136\" src=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-9.png\" alt=\"\" class=\"wp-image-1678\" srcset=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-9.png 875w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-9-300x47.png 300w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-9-768x119.png 768w\" sizes=\"auto, (max-width: 875px) 100vw, 875px\" \/><\/figure>\n\n\n\n<p>Repeat the same pattern for <strong>MemoryUtilization<\/strong> so the dashboard can show CPU and memory pressure side by side.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"971\" height=\"265\" src=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-10.png\" alt=\"\" class=\"wp-image-1679\" srcset=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-10.png 971w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-10-300x82.png 300w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-10-768x210.png 768w\" sizes=\"auto, (max-width: 971px) 100vw, 971px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Add job-status panels from OCI Logging<\/h3>\n\n\n\n<p>For job status, use the OCI Logs data source. Create a panel that searches the AIDP compartment Audit log for completed job runs.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Failed jobs query:<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>search \"ocid1.compartment.oc1..<strong>YOUR_AIDP_COMPARTMENT_OCID<\/strong>\/_Audit\" | where type='com.oraclecloud.datalake.CreateJobRun.end' and data.additionalDetails.jobStatus contains_ci 'failed' | sort by datetime desc<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Successful jobs query:<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>search \"ocid1.compartment.oc1..<strong>YOUR_AIDP_COMPARTMENT_OCID<\/strong>\/_Audit\" | where type='com.oraclecloud.datalake.CreateJobRun.end' and data.additionalDetails.jobStatus contains_ci 'success' | sort by datetime desc<\/code><\/pre>\n\n\n\n<p>Use a Gauge visualization for a simple status indicator. For the failed-jobs panel, set the base threshold to red, so failures stand out immediately.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"975\" height=\"261\" src=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-11.png\" alt=\"\" class=\"wp-image-1680\" srcset=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-11.png 975w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-11-300x80.png 300w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-11-768x206.png 768w\" sizes=\"auto, (max-width: 975px) 100vw, 975px\" \/><\/figure>\n\n\n\n<p>Apply transformations to shape the log query output into the fields you want to display.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"975\" height=\"694\" src=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-12.png\" alt=\"\" class=\"wp-image-1681\" srcset=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-12.png 975w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-12-300x214.png 300w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-12-768x547.png 768w\" sizes=\"auto, (max-width: 975px) 100vw, 975px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Create an interactive job table<\/h3>\n\n\n\n<p>Use the same log query with a Table visualization to create a drill-down view of job runs. Parse the JSON fields you need, such as job name, job run ID, status, start time, and workflow identifiers.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"975\" height=\"366\" src=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-13.png\" alt=\"\" class=\"wp-image-1682\" srcset=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-13.png 975w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-13-300x113.png 300w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-13-768x288.png 768w\" sizes=\"auto, (max-width: 975px) 100vw, 975px\" \/><\/figure>\n\n\n\n<p>Add a Grafana data link that builds the AIDP Workbench workflow URL from the parsed fields. Use your AIDP Workbench URL and tenancy-specific path values.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"305\" height=\"269\" src=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-14.png\" alt=\"\" class=\"wp-image-1683\" srcset=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-14.png 305w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-14-300x265.png 300w\" sizes=\"auto, (max-width: 305px) 100vw, 305px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"798\" height=\"438\" src=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-15.png\" alt=\"\" class=\"wp-image-1684\" srcset=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-15.png 798w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-15-300x165.png 300w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-15-768x422.png 768w\" sizes=\"auto, (max-width: 798px) 100vw, 798px\" \/><\/figure>\n\n\n\n<p>The result is an operational table where users can click a job name and open the corresponding AIDP workflow page directly from Grafana.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"975\" height=\"459\" src=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-16.png\" alt=\"\" class=\"wp-image-1685\" srcset=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-16.png 975w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-16-300x141.png 300w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2026\/06\/image-16-768x362.png 768w\" sizes=\"auto, (max-width: 975px) 100vw, 975px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Operational notes<\/h3>\n\n\n\n<p>Keep the dashboard reusable by relying on variables for region, compartment, namespace, and metric selection. Keep the AIDP namespace static only when the dashboard is intentionally scoped to AIDP Workbench.<\/p>\n\n\n\n<p>For production dashboards, use OCI IAM groups, dynamic groups, and least-privilege policies so Grafana can read only the metrics and logs required by the dashboard. Review both the metric panels and log queries after AIDP Workbench upgrades, because new metrics or log fields may become available.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">References<\/h3>\n\n\n\n<p>Oracle AI Data Platform Workbench documentation: https:\/\/docs.oracle.com\/en\/cloud\/paas\/ai-data-platform\/<\/p>\n\n\n\n<p>OCI Metrics Grafana plugin: https:\/\/grafana.com\/grafana\/plugins\/oci-metrics-datasource\/<\/p>\n\n\n\n<p>OCI Logs Grafana plugin: https:\/\/grafana.com\/grafana\/plugins\/oci-logs-datasource\/<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Monitoring AIDP Workbench with OCI Metrics, OCI Logging, and Grafana A practical guide for building Grafana dashboards that combine AIDP Workbench metrics and job-run audit logs from Oracle Cloud Infrastructure. Overview Oracle AI Data Platform Workbench (AIDP Workbench) is a governed workspace for building, managing, and operationalizing enterprise data and AI workflows. For operations teams, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1690,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"material-hide-sections":[],"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1666","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/adrianotanaka.com.br\/index.php\/wp-json\/wp\/v2\/posts\/1666","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/adrianotanaka.com.br\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/adrianotanaka.com.br\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/adrianotanaka.com.br\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/adrianotanaka.com.br\/index.php\/wp-json\/wp\/v2\/comments?post=1666"}],"version-history":[{"count":5,"href":"https:\/\/adrianotanaka.com.br\/index.php\/wp-json\/wp\/v2\/posts\/1666\/revisions"}],"predecessor-version":[{"id":1689,"href":"https:\/\/adrianotanaka.com.br\/index.php\/wp-json\/wp\/v2\/posts\/1666\/revisions\/1689"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/adrianotanaka.com.br\/index.php\/wp-json\/wp\/v2\/media\/1690"}],"wp:attachment":[{"href":"https:\/\/adrianotanaka.com.br\/index.php\/wp-json\/wp\/v2\/media?parent=1666"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/adrianotanaka.com.br\/index.php\/wp-json\/wp\/v2\/categories?post=1666"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/adrianotanaka.com.br\/index.php\/wp-json\/wp\/v2\/tags?post=1666"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}