<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-5873596342621039693</atom:id><lastBuildDate>Fri, 03 Apr 2026 11:50:19 +0000</lastBuildDate><category>How-to</category><category>Devops</category><category>linux</category><category>Monitoring</category><category>Storage</category><category>security</category><category>AWS</category><category>Kubernetes</category><category>cloud</category><category>OCI</category><category>cacti</category><category>database</category><category>devsecops</category><category>cluster</category><category>Oracle linux</category><category>CentOS</category><category>Windows</category><category>Docker</category><category>Ubuntu</category><category>MySQL</category><category>VCS</category><category>Azure</category><category>Rhel</category><category>networking</category><category>python</category><category>Nagios</category><category>mariaDB</category><category>Automation</category><category>Blogger</category><category>orchestration</category><category>GCP</category><category>scripting</category><category>zabbix</category><category>MacOS</category><category>apache</category><category>restore</category><category>GrayLog</category><category>PHP</category><category>Virtualization</category><category>elasticsearch</category><category>logging</category><category>MongoDB</category><category>PostgreSQL</category><category>jenkins</category><category>solaris</category><category>terraform</category><category>web server</category><category>SEO</category><category>DNS</category><category>FreeIPA</category><category>big data</category><category>git</category><category>Kafka</category><category>Mail</category><category>AIX</category><category>CI</category><category>Configuration Management</category><category>IAM</category><category>Linux mint</category><category>hadoop</category><category>GUI</category><category>GenAI</category><category>No-SQL</category><category>Puppet</category><category>SRE</category><category>podman</category><category>rhel 8</category><category>EKS</category><category>Reverse Proxy</category><category>VMware</category><category>grafana</category><category>Generative AI</category><category>Load balancer</category><category>Oracle</category><category>nginx</category><category>spark</category><category>IAC</category><category>Java</category><category>Kibana</category><category>Openssl</category><category>PATCHING</category><category>Performance</category><category>Prometheus</category><category>blogging</category><category>openAI</category><category>openshift</category><category>squid</category><category>AKS</category><category>Android Phones</category><category>Ansible</category><category>CD</category><category>General issues</category><category>LVM</category><category>Lambda</category><category>OKE</category><category>SOLR</category><category>SSH tunneling</category><category>SSL</category><category>checkmk</category><category>interview questions</category><category>minikube</category><category>pound</category><category>slack</category><category>Backup</category><category>Editor</category><category>Microsoft Hyper-V</category><category>NRPE</category><category>OSticket</category><category>Troubleshooting</category><category>aiops</category><category>ambari</category><category>android</category><category>errors</category><category>foreman</category><category>gitlab</category><category>jBPM</category><category>kubectl</category><category>mlops</category><category>snmp</category><category>tomcat</category><category>#jenkins</category><category>#slack</category><category>Adsense</category><category>Answers</category><category>Block Volume</category><category>ChatGPT</category><category>Compute</category><category>Data Modelling</category><category>Difference between zabbix agent VS zabbix agent 2</category><category>Exadata</category><category>Fedora</category><category>GNOME</category><category>GO</category><category>Galera</category><category>HTML</category><category>IIS</category><category>Ideapad 330</category><category>Ingress</category><category>IngressController</category><category>Keepalived</category><category>Networker</category><category>Project Open</category><category>Proxy Server</category><category>RAID</category><category>RDS</category><category>SSSD</category><category>SVM</category><category>SVN</category><category>certificate</category><category>certification</category><category>cloudwatch</category><category>cockroachDB</category><category>dhcp</category><category>expenses</category><category>fargate</category><category>gke</category><category>glusterfs</category><category>hdfs</category><category>hive</category><category>jupyter</category><category>license key</category><category>linux 8</category><category>linuxnews</category><category>linuxphone</category><category>maven</category><category>nfsganesha</category><category>nodejs</category><category>package</category><category>programming</category><category>saltstack</category><category>search console</category><category>send mail through Gmail</category><category>shell</category><category>ssmtp</category><category>whatsapp</category><category>youtube</category><category>zoning</category><title>devopszones</title><description>Devopszones provides latest guides,how-tos,troubleshooting and  tutorials on Devops,Kubernetes,zabbix,cacti,Nagios,Linux,AIX,Solaris,Kafka,Elasticsearch,cloud, automation and Cluster.</description><link>http://www.devopszones.com/</link><managingEditor>noreply@blogger.com (Manas Ranjan Tripathy)</managingEditor><generator>Blogger</generator><openSearch:totalResults>780</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5873596342621039693.post-1803137919391153226</guid><pubDate>Mon, 03 Nov 2025 15:21:00 +0000</pubDate><atom:updated>2025-11-03T07:46:12.711-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Devops</category><category domain="http://www.blogger.com/atom/ns#">GenAI</category><category domain="http://www.blogger.com/atom/ns#">Generative AI</category><title>Understanding Azure OpenAI Service: Quotas &amp; Limits</title><description>&lt;p&gt;&amp;nbsp;🎯 Why quotas and limits matter&lt;/p&gt;
&lt;p data-end=&quot;697&quot; data-start=&quot;324&quot;&gt;The Azure OpenAI Service enables you to access powerful models, like GPT, Codex, and embeddings, via Azure infrastructure. While it’s incredibly capable, Microsoft enforces &lt;em data-end=&quot;516&quot; data-start=&quot;497&quot;&gt;quotas and limits&lt;/em&gt; to help ensure fair usage, protect performance, and manage capacity. Knowing these limits up front helps you design your application for scalability, cost-control, and reliability.&lt;/p&gt;
&lt;hr data-end=&quot;702&quot; data-start=&quot;699&quot; /&gt;
&lt;h3 data-end=&quot;733&quot; data-start=&quot;704&quot;&gt;🧱 Key Quota Categories&lt;/h3&gt;
&lt;p data-end=&quot;802&quot; data-start=&quot;734&quot;&gt;When you use Azure OpenAI, you’ll encounter several types of limits:&lt;/p&gt;
&lt;ol data-end=&quot;1765&quot; data-start=&quot;804&quot;&gt;
&lt;li data-end=&quot;1068&quot; data-start=&quot;804&quot;&gt;
&lt;p data-end=&quot;838&quot; data-start=&quot;807&quot;&gt;&lt;strong data-end=&quot;836&quot; data-start=&quot;807&quot;&gt;Model and endpoint limits&lt;/strong&gt;&lt;/p&gt;
&lt;ul data-end=&quot;1068&quot; data-start=&quot;842&quot;&gt;
&lt;li data-end=&quot;892&quot; data-start=&quot;842&quot;&gt;
&lt;p data-end=&quot;892&quot; data-start=&quot;844&quot;&gt;Maximum number of deployments per model family&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;945&quot; data-start=&quot;896&quot;&gt;
&lt;p data-end=&quot;945&quot; data-start=&quot;898&quot;&gt;Maximum number of tokens per request/response&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1013&quot; data-start=&quot;949&quot;&gt;
&lt;p data-end=&quot;1013&quot; data-start=&quot;951&quot;&gt;Maximum context length (e.g., 8,000 tokens vs 32,000 tokens)&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1068&quot; data-start=&quot;1017&quot;&gt;
&lt;p data-end=&quot;1068&quot; data-start=&quot;1019&quot;&gt;Concurrent request limits and requests per minute&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1333&quot; data-start=&quot;1070&quot;&gt;
&lt;p data-end=&quot;1113&quot; data-start=&quot;1073&quot;&gt;&lt;strong data-end=&quot;1111&quot; data-start=&quot;1073&quot;&gt;Resource usage / throughput limits&lt;/strong&gt;&lt;/p&gt;
&lt;ul data-end=&quot;1333&quot; data-start=&quot;1117&quot;&gt;
&lt;li data-end=&quot;1168&quot; data-start=&quot;1117&quot;&gt;
&lt;p data-end=&quot;1168&quot; data-start=&quot;1119&quot;&gt;Requests per minute / second (RPS) per endpoint&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1249&quot; data-start=&quot;1172&quot;&gt;
&lt;p data-end=&quot;1249&quot; data-start=&quot;1174&quot;&gt;Token throughput limits (how many tokens you can send/receive per minute)&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1333&quot; data-start=&quot;1253&quot;&gt;
&lt;p data-end=&quot;1333&quot; data-start=&quot;1255&quot;&gt;Compute resource limits (you may be limited by the SKU or region you deployed)&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1547&quot; data-start=&quot;1335&quot;&gt;
&lt;p data-end=&quot;1376&quot; data-start=&quot;1338&quot;&gt;&lt;strong data-end=&quot;1374&quot; data-start=&quot;1338&quot;&gt;Subscription and regional quotas&lt;/strong&gt;&lt;/p&gt;
&lt;ul data-end=&quot;1547&quot; data-start=&quot;1380&quot;&gt;
&lt;li data-end=&quot;1436&quot; data-start=&quot;1380&quot;&gt;
&lt;p data-end=&quot;1436&quot; data-start=&quot;1382&quot;&gt;Maximum resources across your subscription or region&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1486&quot; data-start=&quot;1440&quot;&gt;
&lt;p data-end=&quot;1486&quot; data-start=&quot;1442&quot;&gt;Available SKUs/capacity may vary by region&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1547&quot; data-start=&quot;1490&quot;&gt;
&lt;p data-end=&quot;1547&quot; data-start=&quot;1492&quot;&gt;Limits based on pricing tier (e.g., free/trial vs paid)&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1765&quot; data-start=&quot;1549&quot;&gt;
&lt;p data-end=&quot;1583&quot; data-start=&quot;1552&quot;&gt;&lt;strong data-end=&quot;1581&quot; data-start=&quot;1552&quot;&gt;Data and retention limits&lt;/strong&gt;&lt;/p&gt;
&lt;ul data-end=&quot;1765&quot; data-start=&quot;1587&quot;&gt;
&lt;li data-end=&quot;1668&quot; data-start=&quot;1587&quot;&gt;
&lt;p data-end=&quot;1668&quot; data-start=&quot;1589&quot;&gt;Storage or data retention quotas for logs, embeddings, or retrieved documents&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1765&quot; data-start=&quot;1672&quot;&gt;
&lt;p data-end=&quot;1765&quot; data-start=&quot;1674&quot;&gt;Some quotas relate to input size or size of uploaded assets (for embeddings or fine-tuning)&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;hr data-end=&quot;1770&quot; data-start=&quot;1767&quot; /&gt;
&lt;h3 data-end=&quot;1816&quot; data-start=&quot;1772&quot;&gt;📋 Example Limits (as of Nov 2025)&lt;/h3&gt;
&lt;p data-end=&quot;1903&quot; data-start=&quot;1817&quot;&gt;Here are &lt;em data-end=&quot;1835&quot; data-start=&quot;1826&quot;&gt;typical&lt;/em&gt; limits (these may change — always check the official Azure docs):&lt;/p&gt;
&lt;ul data-end=&quot;2307&quot; data-start=&quot;1904&quot;&gt;
&lt;li data-end=&quot;1965&quot; data-start=&quot;1904&quot;&gt;
&lt;p data-end=&quot;1965&quot; data-start=&quot;1906&quot;&gt;Maximum context length: 32,000 tokens for advanced models&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;2027&quot; data-start=&quot;1966&quot;&gt;
&lt;p data-end=&quot;2027&quot; data-start=&quot;1968&quot;&gt;Maximum tokens per request: 8,000 tokens (input + output)&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;2084&quot; data-start=&quot;2028&quot;&gt;
&lt;p data-end=&quot;2084&quot; data-start=&quot;2030&quot;&gt;Requests per minute per deployment: ~60–120 requests&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;2157&quot; data-start=&quot;2085&quot;&gt;
&lt;p data-end=&quot;2157&quot; data-start=&quot;2087&quot;&gt;Concurrent deployments of the same model: may be limited (e.g., 2-5)&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;2234&quot; data-start=&quot;2158&quot;&gt;
&lt;p data-end=&quot;2234&quot; data-start=&quot;2160&quot;&gt;Subscription-level deployments per region: maybe 10 models in some tiers&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;2307&quot; data-start=&quot;2235&quot;&gt;
&lt;p data-end=&quot;2307&quot; data-start=&quot;2237&quot;&gt;Trial tier: Often restricted to 1 model, limited token quota, no SLA&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;/span&gt;&lt;div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEiI8sUnNn8mJaE-mh3SBjazA46kc7RP9Scedgifq67dzrg6CC4X5sftsIZE7iPuTqOfSuKdS_xCiGPlotoQJ_1XmUNxsypYrBHirW9kby_JUYt_p775IINQqj8OVwMoVQbtcR_JMGECVVooj1x4dUxndPXwim1edXpnQ2BXT4LfVvbiQIFsuT9083xYBjg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img data-original-height=&quot;746&quot; data-original-width=&quot;629&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEiI8sUnNn8mJaE-mh3SBjazA46kc7RP9Scedgifq67dzrg6CC4X5sftsIZE7iPuTqOfSuKdS_xCiGPlotoQJ_1XmUNxsypYrBHirW9kby_JUYt_p775IINQqj8OVwMoVQbtcR_JMGECVVooj1x4dUxndPXwim1edXpnQ2BXT4LfVvbiQIFsuT9083xYBjg=s16000&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;h2 class=&quot;heading-anchor&quot; id=&quot;gpt-5-series&quot; style=&quot;background-color: white; box-sizing: inherit; color: #161616; font-family: &amp;quot;Segoe UI&amp;quot;, &amp;quot;Segoe UI Variable Text&amp;quot;, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: clamp(1.59375rem, 18.7895px + 1.39803vw, 2.125rem); line-height: 1.3; margin-inline-start: -1.875rem; margin: 32px 0px 12px; outline-color: inherit; padding-inline-start: 1.875rem; padding: 0px;&quot;&gt;GPT-5 Series:&lt;/h2&gt;&lt;/div&gt;&lt;div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEimlf8KsZuPNOKH7YeJvmKSqTTIwSqL86hJ8QcRqBETcx3ykEiSGRjhs0LiaYKEm8ezKGZC-1NKn9yhOhIbN2O0WgyWDQ2MAPgCz5yfNGY2Aw8dx-2Y4P_WQDOWVVRFE4JBA6w-TgZD6yNNGgrVmJh6uRs7YFMHBrZE0k2e4V0ay9myvEnYtPuzzdaX7vM&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img data-original-height=&quot;145&quot; data-original-width=&quot;1084&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEimlf8KsZuPNOKH7YeJvmKSqTTIwSqL86hJ8QcRqBETcx3ykEiSGRjhs0LiaYKEm8ezKGZC-1NKn9yhOhIbN2O0WgyWDQ2MAPgCz5yfNGY2Aw8dx-2Y4P_WQDOWVVRFE4JBA6w-TgZD6yNNGgrVmJh6uRs7YFMHBrZE0k2e4V0ay9myvEnYtPuzzdaX7vM=s16000&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Detailed Limits List: &lt;a href=&quot;https://learn.microsoft.com/en-us/azure/ai-foundry/openai/quotas-limits?tabs=REST&quot; target=&quot;_blank&quot;&gt;Click Here&lt;/a&gt;&amp;nbsp;&lt;/div&gt;
&lt;hr data-end=&quot;2312&quot; data-start=&quot;2309&quot; /&gt;
&lt;h3 data-end=&quot;2356&quot; data-start=&quot;2314&quot;&gt;🔍 How to View &amp;amp; Monitor Your Quotas&lt;/h3&gt;
&lt;ol data-end=&quot;2724&quot; data-start=&quot;2357&quot;&gt;
&lt;li data-end=&quot;2428&quot; data-start=&quot;2357&quot;&gt;
&lt;p data-end=&quot;2428&quot; data-start=&quot;2360&quot;&gt;In the Azure Portal, navigate to your &lt;strong data-end=&quot;2425&quot; data-start=&quot;2398&quot;&gt;OpenAI Service resource&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;2510&quot; data-start=&quot;2429&quot;&gt;
&lt;p data-end=&quot;2510&quot; data-start=&quot;2432&quot;&gt;Go to &lt;strong data-end=&quot;2456&quot; data-start=&quot;2438&quot;&gt;Usage + quotas&lt;/strong&gt;—you’ll see current usage and remaining allocations.&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;2624&quot; data-start=&quot;2511&quot;&gt;
&lt;p data-end=&quot;2624&quot; data-start=&quot;2514&quot;&gt;Use &lt;strong data-end=&quot;2535&quot; data-start=&quot;2518&quot;&gt;Azure Monitor&lt;/strong&gt; or &lt;strong data-end=&quot;2563&quot; data-start=&quot;2539&quot;&gt;Application Insights&lt;/strong&gt; to track token usage, latency, errors, and request volume.&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;2724&quot; data-start=&quot;2625&quot;&gt;
&lt;p data-end=&quot;2724&quot; data-start=&quot;2628&quot;&gt;Set up &lt;strong data-end=&quot;2645&quot; data-start=&quot;2635&quot;&gt;alerts&lt;/strong&gt; for when you approach 80% of your quota so you can scale or request increases.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;hr data-end=&quot;2729&quot; data-start=&quot;2726&quot; /&gt;
&lt;h3 data-end=&quot;2769&quot; data-start=&quot;2731&quot;&gt;📈 What to Do If You Hit a Limit&lt;/h3&gt;
&lt;ul data-end=&quot;3303&quot; data-start=&quot;2770&quot;&gt;
&lt;li data-end=&quot;2846&quot; data-start=&quot;2770&quot;&gt;
&lt;p data-end=&quot;2846&quot; data-start=&quot;2772&quot;&gt;&lt;strong data-end=&quot;2797&quot; data-start=&quot;2772&quot;&gt;Scale up or scale out&lt;/strong&gt;: Use a larger SKU or deploy a second instance.&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;2989&quot; data-start=&quot;2847&quot;&gt;
&lt;p data-end=&quot;2989&quot; data-start=&quot;2849&quot;&gt;&lt;strong data-end=&quot;2877&quot; data-start=&quot;2849&quot;&gt;Request a quota increase&lt;/strong&gt;: In the Azure Portal, under &lt;strong data-end=&quot;2924&quot; data-start=&quot;2906&quot;&gt;Usage + quotas&lt;/strong&gt;, click &lt;strong data-end=&quot;2952&quot; data-start=&quot;2932&quot;&gt;Request increase&lt;/strong&gt; and provide your workload details.&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;3093&quot; data-start=&quot;2990&quot;&gt;
&lt;p data-end=&quot;3093&quot; data-start=&quot;2992&quot;&gt;&lt;strong data-end=&quot;3019&quot; data-start=&quot;2992&quot;&gt;Reduce your token usage&lt;/strong&gt;: Optimize your request prompts, minimize output tokens, batch requests.&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;3195&quot; data-start=&quot;3094&quot;&gt;
&lt;p data-end=&quot;3195&quot; data-start=&quot;3096&quot;&gt;&lt;strong data-end=&quot;3111&quot; data-start=&quot;3096&quot;&gt;Use caching&lt;/strong&gt;: For embeddings or common queries, cache results instead of re-calling the model.&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;3303&quot; data-start=&quot;3196&quot;&gt;
&lt;p data-end=&quot;3303&quot; data-start=&quot;3198&quot;&gt;&lt;strong data-end=&quot;3229&quot; data-start=&quot;3198&quot;&gt;Load-balance across regions&lt;/strong&gt; (if supported): Deploy in multiple regions if your application is global.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;3308&quot; data-start=&quot;3305&quot; /&gt;
&lt;h3 data-end=&quot;3333&quot; data-start=&quot;3310&quot;&gt;🧠 Best Practices&lt;/h3&gt;
&lt;ul data-end=&quot;3821&quot; data-start=&quot;3334&quot;&gt;
&lt;li data-end=&quot;3433&quot; data-start=&quot;3334&quot;&gt;
&lt;p data-end=&quot;3433&quot; data-start=&quot;3336&quot;&gt;Estimate your token usage early: tokens cost money, and high throughput can hit quotas quickly.&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;3525&quot; data-start=&quot;3434&quot;&gt;
&lt;p data-end=&quot;3525&quot; data-start=&quot;3436&quot;&gt;Use the &lt;strong data-end=&quot;3462&quot; data-start=&quot;3444&quot;&gt;smallest model&lt;/strong&gt; that meets your needs (faster / cheaper / less quota usage).&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;3615&quot; data-start=&quot;3526&quot;&gt;
&lt;p data-end=&quot;3615&quot; data-start=&quot;3528&quot;&gt;Monitor &lt;strong data-end=&quot;3563&quot; data-start=&quot;3536&quot;&gt;latency and error rates&lt;/strong&gt;—high errors may signal you’re hitting throttling.&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;3707&quot; data-start=&quot;3616&quot;&gt;
&lt;p data-end=&quot;3707&quot; data-start=&quot;3618&quot;&gt;Use &lt;strong data-end=&quot;3644&quot; data-start=&quot;3622&quot;&gt;SLA-compliant SKUs&lt;/strong&gt; for production workloads; trial quotas are more restrictive.&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;3821&quot; data-start=&quot;3708&quot;&gt;
&lt;p data-end=&quot;3821&quot; data-start=&quot;3710&quot;&gt;Document your quota status and include it in your architecture design so you don’t hit surprises in production.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;3826&quot; data-start=&quot;3823&quot; /&gt;
&lt;h3 data-end=&quot;3843&quot; data-start=&quot;3828&quot;&gt;✅ Summary&lt;/h3&gt;
&lt;p data-end=&quot;4115&quot; data-start=&quot;3844&quot;&gt;Quotas and limits are an integral part of using the Azure OpenAI Service effectively. They won’t stop you from building amazing experiences—but &lt;strong data-end=&quot;4054&quot; data-start=&quot;3988&quot;&gt;understanding them, monitoring them, and designing around them&lt;/strong&gt; will ensure your solution scales smoothly and predictably.&lt;/p&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script async src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot;&gt;&lt;/script&gt;
&lt;!-- Leaderboard Manas footer --&gt;
&lt;ins class=&quot;adsbygoogle&quot;
     style=&quot;display:inline-block;width:728px;height:90px&quot;
     data-ad-client=&quot;ca-pub-8906930571041974&quot;
     data-ad-slot=&quot;8147594448&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
(adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;&lt;/div&gt;</description><link>http://www.devopszones.com/2025/11/understanding-azure-openai-service.html</link><author>noreply@blogger.com (Manas Ranjan Tripathy)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEiI8sUnNn8mJaE-mh3SBjazA46kc7RP9Scedgifq67dzrg6CC4X5sftsIZE7iPuTqOfSuKdS_xCiGPlotoQJ_1XmUNxsypYrBHirW9kby_JUYt_p775IINQqj8OVwMoVQbtcR_JMGECVVooj1x4dUxndPXwim1edXpnQ2BXT4LfVvbiQIFsuT9083xYBjg=s72-c" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5873596342621039693.post-3009874514216842688</guid><pubDate>Fri, 19 Sep 2025 06:15:00 +0000</pubDate><atom:updated>2025-09-18T23:15:09.371-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Azure</category><category domain="http://www.blogger.com/atom/ns#">Devops</category><category domain="http://www.blogger.com/atom/ns#">How-to</category><title>How to get all resources used in a azure subscription</title><description>&lt;p&gt;&amp;nbsp;You can list &lt;strong&gt;all resources&lt;/strong&gt; in an Azure subscription in several ways—&lt;strong&gt;Azure Portal&lt;/strong&gt;, &lt;strong&gt;Azure CLI&lt;/strong&gt;, &lt;strong&gt;PowerShell&lt;/strong&gt;, or &lt;strong&gt;REST API&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;
Here’s a detailed guide for each approach:&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;✅ 1. &lt;strong&gt;Azure Portal (UI method)&lt;/strong&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Sign in to &lt;strong&gt;&lt;a href=&quot;https://portal.azure.com/&quot;&gt;Azure Portal&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Go to &lt;strong&gt;All resources&lt;/strong&gt; (left menu → &lt;em&gt;All services&lt;/em&gt; → search for “All resources”).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;At the top:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Filter by subscription&lt;/strong&gt; (if you have multiple).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Optionally filter by &lt;strong&gt;resource group&lt;/strong&gt;, &lt;strong&gt;location&lt;/strong&gt;, or &lt;strong&gt;type&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Download CSV&lt;/strong&gt; (at the top right) to export the list.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;👉 &lt;strong&gt;Result:&lt;/strong&gt; A spreadsheet with all resources across the selected subscription.&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;✅ 2. &lt;strong&gt;Azure CLI&lt;/strong&gt;&lt;/h2&gt;
&lt;h3&gt;a. Install &amp;amp; Log in&lt;/h3&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;az login
az account set --subscription &quot;&amp;lt;your-subscription-name-or-id&amp;gt;&quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;b. List all resources&lt;/h3&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;az resource list --output table
&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code inline=&quot;&quot;&gt;--output table&lt;/code&gt; → pretty table&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Other formats: &lt;code inline=&quot;&quot;&gt;json&lt;/code&gt;, &lt;code inline=&quot;&quot;&gt;jsonc&lt;/code&gt;, &lt;code inline=&quot;&quot;&gt;yaml&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;c. Filter or export&lt;/h3&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;# Filter by resource group
az resource list --resource-group MyRG --output table

# Export to a JSON file
az resource list --output json &amp;gt; all-resources.json
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;h2&gt;✅ 3. &lt;strong&gt;Azure PowerShell&lt;/strong&gt;&lt;/h2&gt;
&lt;h3&gt;a. Connect&lt;/h3&gt;
&lt;pre&gt;&lt;code class=&quot;language-powershell&quot;&gt;Connect-AzAccount
Set-AzContext -Subscription &quot;&amp;lt;your-subscription-id&amp;gt;&quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;b. List resources&lt;/h3&gt;
&lt;pre&gt;&lt;code class=&quot;language-powershell&quot;&gt;Get-AzResource | Format-Table
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;c. Export to CSV&lt;/h3&gt;
&lt;pre&gt;&lt;code class=&quot;language-powershell&quot;&gt;Get-AzResource | Export-Csv -Path .\all-resources.csv -NoTypeInformation
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;h2&gt;✅ 4. &lt;strong&gt;Azure Resource Graph (Recommended for Large Subscriptions)&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Faster and more scalable.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;In the &lt;strong&gt;Azure Portal&lt;/strong&gt;, search &lt;strong&gt;Resource Graph Explorer&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Run a Kusto Query:&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code class=&quot;language-kusto&quot;&gt;resources
| project name, type, location, resourceGroup, subscriptionId
| order by type asc
&lt;/code&gt;&lt;/pre&gt;
&lt;ol start=&quot;3&quot;&gt;
&lt;li&gt;
&lt;p&gt;Export results (CSV/JSON).&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;hr /&gt;
&lt;h2&gt;✅ 5. &lt;strong&gt;Azure REST API&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;For automation or custom apps:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-http&quot;&gt;GET https://management.azure.com/subscriptions/{subscriptionId}/resources?api-version=2021-04-01
Authorization: Bearer &amp;lt;token&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Use &lt;code inline=&quot;&quot;&gt;az account get-access-token&lt;/code&gt; to get a token.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h3&gt;🔹 Best Practice&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;For &lt;strong&gt;one-time inventory&lt;/strong&gt;, Azure CLI/Portal CSV export is simplest.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;For &lt;strong&gt;regular audits&lt;/strong&gt;, schedule a &lt;strong&gt;Resource Graph&lt;/strong&gt; query or use &lt;strong&gt;Azure Policy + Cost Management&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;For &lt;strong&gt;automation&lt;/strong&gt;, use &lt;strong&gt;REST API&lt;/strong&gt; or &lt;strong&gt;PowerShell&lt;/strong&gt; in a script.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;p&gt;💡 &lt;strong&gt;Tip:&lt;/strong&gt; If you have multiple subscriptions, run:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;az account list --output table
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;…then loop through each subscription to collect all resources.&lt;/p&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script async src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot;&gt;&lt;/script&gt;
&lt;!-- Leaderboard Manas footer --&gt;
&lt;ins class=&quot;adsbygoogle&quot;
     style=&quot;display:inline-block;width:728px;height:90px&quot;
     data-ad-client=&quot;ca-pub-8906930571041974&quot;
     data-ad-slot=&quot;8147594448&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
(adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;&lt;/div&gt;</description><link>http://www.devopszones.com/2025/09/how-to-get-all-resources-used-in-azure.html</link><author>noreply@blogger.com (Manas Ranjan Tripathy)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5873596342621039693.post-6565780377247811139</guid><pubDate>Wed, 17 Sep 2025 08:04:00 +0000</pubDate><atom:updated>2025-09-17T01:04:06.068-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">How-to</category><category domain="http://www.blogger.com/atom/ns#">python</category><title>How to get unique value from a column in a csv file</title><description>&lt;p&gt;&amp;nbsp;You can extract the &lt;strong&gt;unique values&lt;/strong&gt; from a CSV column in several ways depending on the tools you prefer. Here are the most common methods:&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;🐍 1. &lt;strong&gt;Python (pandas)&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;If you have Python installed, this is the easiest:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-python&quot;&gt;import pandas as pd

# Read CSV file
df = pd.read_csv(&quot;yourfile.csv&quot;)

# Replace &#39;ColumnName&#39; with the exact column header
unique_values = df[&quot;ColumnName&quot;].unique()

# Print as a list
print(unique_values)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;Save to another file:&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-python&quot;&gt;pd.Series(unique_values).to_csv(&quot;unique_values.csv&quot;, index=False)
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;h2&gt;🖥️ 2. &lt;strong&gt;Command line (Linux / macOS)&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;If the CSV is simple (no embedded commas/quotes):&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;cut -d&#39;,&#39; -f2 yourfile.csv | sort -u
&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code inline=&quot;&quot;&gt;-d&#39;,&#39;&lt;/code&gt; → delimiter is comma&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code inline=&quot;&quot;&gt;-f2&lt;/code&gt;   → second column (change to your column number)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code inline=&quot;&quot;&gt;sort -u&lt;/code&gt; → sort and remove duplicates.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;⚠️ If your CSV has quoted fields with commas inside, use a CSV-aware tool like &lt;strong&gt;csvkit&lt;/strong&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;csvcut -c &quot;ColumnName&quot; yourfile.csv | tail -n +2 | sort -u
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;h2&gt;📊 3. &lt;strong&gt;Excel / Google Sheets&lt;/strong&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Open the CSV in Excel/Sheets.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Select the column.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Go to &lt;strong&gt;Data → Remove Duplicates&lt;/strong&gt; (Excel) or &lt;strong&gt;Data → Data cleanup → Remove duplicates&lt;/strong&gt; (Google Sheets).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The remaining values are the unique ones.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;hr /&gt;
&lt;h3&gt;✅ Tip&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Always check the &lt;strong&gt;exact column header&lt;/strong&gt; (case-sensitive) when using pandas or csvcut.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;For very large files, command-line tools (&lt;code inline=&quot;&quot;&gt;csvkit&lt;/code&gt;, &lt;code inline=&quot;&quot;&gt;awk&lt;/code&gt;) are usually fastest.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Choose the method that fits the tools you already use.&lt;/p&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script async src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot;&gt;&lt;/script&gt;
&lt;!-- Leaderboard Manas footer --&gt;
&lt;ins class=&quot;adsbygoogle&quot;
     style=&quot;display:inline-block;width:728px;height:90px&quot;
     data-ad-client=&quot;ca-pub-8906930571041974&quot;
     data-ad-slot=&quot;8147594448&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
(adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;&lt;/div&gt;</description><link>http://www.devopszones.com/2025/09/how-to-get-unique-value-from-column-in.html</link><author>noreply@blogger.com (Manas Ranjan Tripathy)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5873596342621039693.post-327251548590401121</guid><pubDate>Thu, 04 Sep 2025 08:32:00 +0000</pubDate><atom:updated>2025-09-04T01:32:15.367-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">MacOS</category><title>Mac : ITDe-Filing-2025” is damaged and can’t be opened. You should eject the disk image</title><description>&lt;p&gt;&amp;nbsp;Yes 👍 this is a &lt;strong&gt;common Mac problem&lt;/strong&gt; with the AIS Utility &lt;code inline=&quot;&quot;&gt;.dmg&lt;/code&gt; file from the Income Tax site. macOS shows:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;“ITDe-Filing-2025 is damaged and can’t be opened. You should eject the disk image.”&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This doesn’t actually mean it’s damaged — it’s macOS &lt;strong&gt;Gatekeeper&lt;/strong&gt; blocking it because the app isn’t signed with Apple’s developer certificate.&lt;/p&gt;
&lt;hr /&gt;
&lt;h3&gt;✅ Fix 1: Allow the app via Security settings&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Download the &lt;code inline=&quot;&quot;&gt;.dmg&lt;/code&gt; file again (sometimes Safari corrupts it, use Chrome/Edge).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Open the &lt;code inline=&quot;&quot;&gt;.dmg&lt;/code&gt; and drag the &lt;strong&gt;ITDe-Filing-2025&lt;/strong&gt; app to &lt;strong&gt;Applications&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Go to &lt;strong&gt;System Preferences → Security &amp;amp; Privacy → General&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;At the bottom, you’ll see a message:&lt;br /&gt;
&lt;em&gt;“ITDe-Filing-2025 was blocked because it is not from an identified developer”&lt;/em&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Open Anyway&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Next time you launch, it should open fine.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;hr /&gt;
&lt;h3&gt;✅ Fix 2: Use Terminal to bypass Gatekeeper&lt;/h3&gt;
&lt;p&gt;If step 1 doesn’t show &lt;strong&gt;Open Anyway&lt;/strong&gt;, run this in &lt;strong&gt;Terminal&lt;/strong&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;xattr -cr /Applications/ITDe-Filing-2025.app
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Then run:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;open /Applications/ITDe-Filing-2025.app
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This removes the “quarantine” flag and forces macOS to allow it.&lt;/p&gt;
&lt;hr /&gt;
&lt;h3&gt;✅ Fix 3: Disable Gatekeeper temporarily (not recommended unless stuck)&lt;/h3&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;sudo spctl --master-disable
&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Then install &amp;amp; run the app.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;After installation, re-enable Gatekeeper:&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;sudo spctl --master-enable
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script async src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot;&gt;&lt;/script&gt;
&lt;!-- Leaderboard Manas footer --&gt;
&lt;ins class=&quot;adsbygoogle&quot;
     style=&quot;display:inline-block;width:728px;height:90px&quot;
     data-ad-client=&quot;ca-pub-8906930571041974&quot;
     data-ad-slot=&quot;8147594448&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
(adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;&lt;/div&gt;</description><link>http://www.devopszones.com/2025/09/mac-itde-filing-2025-is-damaged-and.html</link><author>noreply@blogger.com (Manas Ranjan Tripathy)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5873596342621039693.post-2008704202141651628</guid><pubDate>Tue, 19 Aug 2025 15:39:00 +0000</pubDate><atom:updated>2025-08-19T08:39:17.198-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Devops</category><category domain="http://www.blogger.com/atom/ns#">GenAI</category><category domain="http://www.blogger.com/atom/ns#">How-to</category><category domain="http://www.blogger.com/atom/ns#">mlops</category><title>How to run jupyter notebook?</title><description>&lt;p&gt;&lt;/p&gt;
&lt;h2&gt;⚡ Steps to Run Jupyter Notebook&lt;/h2&gt;
&lt;h3&gt;1. Install Python (if not already installed)&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Download &amp;amp; install from: &lt;a href=&quot;https://www.python.org/downloads/&quot;&gt;Python.org&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Make sure to check &lt;strong&gt;&quot;Add Python to PATH&quot;&lt;/strong&gt; during installation (important for Windows).&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h3&gt;2. Install Jupyter Notebook&lt;/h3&gt;
&lt;p&gt;Open a terminal (Command Prompt / PowerShell / Terminal on Mac/Linux) and run:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;pip install notebook
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;h3&gt;3. Launch Jupyter Notebook&lt;/h3&gt;
&lt;p&gt;Navigate to the folder where you saved your &lt;code inline=&quot;&quot;&gt;.ipynb&lt;/code&gt; files (like &lt;code inline=&quot;&quot;&gt;numpy_pandas_practice.ipynb&lt;/code&gt;) and run:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;jupyter notebook
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;👉 This will open Jupyter in your &lt;strong&gt;web browser&lt;/strong&gt; at &lt;code inline=&quot;&quot;&gt;http://localhost:8888&lt;/code&gt;.&lt;/p&gt;
&lt;hr /&gt;
&lt;h3&gt;4. Open Your Notebook&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;In the browser, click on your &lt;code inline=&quot;&quot;&gt;.ipynb&lt;/code&gt; file.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;It will open with &lt;strong&gt;cells&lt;/strong&gt; (code blocks + text).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Press &lt;strong&gt;Shift + Enter&lt;/strong&gt; to run a code cell.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h3&gt;5. Recommended (Better Option: JupyterLab or VS Code)&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;You can install &lt;strong&gt;JupyterLab&lt;/strong&gt; (modern interface):&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;pip install jupyterlab
jupyter lab
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;span style=&quot;font-family: monospace;&quot;&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEgC89exbIdIeppsPHCT3nsisD3n0M8eUuzgDWgekHoI72shQbfamVj52glgYzxfl5r9BKn6grh023nlk72YHrqYNJpYxZih0JoK5_KsYjXCAgEftoVEnDzaUeFlOVhaShKgVlioFkEAcaI-mKLVd98ZCd45rnAztcSgjWHZnnEcVJMiGT2cTjb6ybpAnVc&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img data-original-height=&quot;756&quot; data-original-width=&quot;1846&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEgC89exbIdIeppsPHCT3nsisD3n0M8eUuzgDWgekHoI72shQbfamVj52glgYzxfl5r9BKn6grh023nlk72YHrqYNJpYxZih0JoK5_KsYjXCAgEftoVEnDzaUeFlOVhaShKgVlioFkEAcaI-mKLVd98ZCd45rnAztcSgjWHZnnEcVJMiGT2cTjb6ybpAnVc=s16000&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;b&gt;Or use Visual Studio Code with the Jupyter extension (best if you already use VS Code).&lt;/b&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script async src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot;&gt;&lt;/script&gt;
&lt;!-- Leaderboard Manas footer --&gt;
&lt;ins class=&quot;adsbygoogle&quot;
     style=&quot;display:inline-block;width:728px;height:90px&quot;
     data-ad-client=&quot;ca-pub-8906930571041974&quot;
     data-ad-slot=&quot;8147594448&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
(adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;&lt;/div&gt;</description><link>http://www.devopszones.com/2025/08/how-to-run-jupyter-notebook.html</link><author>noreply@blogger.com (Manas Ranjan Tripathy)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEgC89exbIdIeppsPHCT3nsisD3n0M8eUuzgDWgekHoI72shQbfamVj52glgYzxfl5r9BKn6grh023nlk72YHrqYNJpYxZih0JoK5_KsYjXCAgEftoVEnDzaUeFlOVhaShKgVlioFkEAcaI-mKLVd98ZCd45rnAztcSgjWHZnnEcVJMiGT2cTjb6ybpAnVc=s72-c" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5873596342621039693.post-8963815100751110239</guid><pubDate>Wed, 06 Aug 2025 07:15:00 +0000</pubDate><atom:updated>2025-08-06T00:15:52.610-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">AWS</category><category domain="http://www.blogger.com/atom/ns#">Devops</category><category domain="http://www.blogger.com/atom/ns#">How-to</category><category domain="http://www.blogger.com/atom/ns#">SRE</category><title>What to monitor in bedrock and opensearch in aws?</title><description>&lt;p&gt;&amp;nbsp;Monitoring &lt;strong&gt;Amazon Bedrock&lt;/strong&gt; and &lt;strong&gt;Amazon OpenSearch Service&lt;/strong&gt; in AWS is crucial for ensuring performance, availability, and cost-effectiveness. Here&#39;s a breakdown of &lt;strong&gt;what to monitor&lt;/strong&gt; in each service:&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;🧠 Amazon Bedrock – What to Monitor&lt;/h2&gt;
&lt;p&gt;Since Bedrock is a &lt;strong&gt;fully managed service&lt;/strong&gt; for foundation models (FMs), you have limited but critical observability and monitoring options via &lt;strong&gt;CloudWatch&lt;/strong&gt;, &lt;strong&gt;CloudTrail&lt;/strong&gt;, and &lt;strong&gt;Service Quotas&lt;/strong&gt;.&lt;/p&gt;
&lt;h3&gt;✅ Key Metrics (via CloudWatch)&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Invocation Metrics&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code inline=&quot;&quot;&gt;Invocations&lt;/code&gt;: Total number of requests made to the model.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code inline=&quot;&quot;&gt;InvocationErrors&lt;/code&gt;: Failed invocation counts.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code inline=&quot;&quot;&gt;ModelLatency&lt;/code&gt;: Latency for successful invocations (in milliseconds).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code inline=&quot;&quot;&gt;ThrottledRequests&lt;/code&gt;: Requests rejected due to exceeding throttling limits.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code inline=&quot;&quot;&gt;ValidationErrors&lt;/code&gt;: Bad input/request payloads.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Throughput Metrics&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code inline=&quot;&quot;&gt;TokensIn&lt;/code&gt;: Number of input tokens used.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code inline=&quot;&quot;&gt;TokensOut&lt;/code&gt;: Number of output tokens generated.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code inline=&quot;&quot;&gt;TotalTokens&lt;/code&gt;: Sum of &lt;code inline=&quot;&quot;&gt;TokensIn&lt;/code&gt; + &lt;code inline=&quot;&quot;&gt;TokensOut&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Cost and Quota Monitoring&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Monitor &lt;code inline=&quot;&quot;&gt;TokensIn/Out&lt;/code&gt; to track &lt;strong&gt;usage-based costs&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Use &lt;code inline=&quot;&quot;&gt;Service Quotas&lt;/code&gt; to monitor limits on invocation rates or model-specific quotas.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;🔔 Alerts &amp;amp; Best Practices&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Alert on &lt;strong&gt;high latency&lt;/strong&gt; or &lt;strong&gt;invocation errors&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Set thresholds for &lt;strong&gt;monthly token usage&lt;/strong&gt; to control costs.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Use &lt;strong&gt;CloudTrail&lt;/strong&gt; to audit who is calling which model.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h2&gt;🔍 Amazon OpenSearch – What to Monitor&lt;/h2&gt;
&lt;p&gt;Amazon OpenSearch requires &lt;strong&gt;deeper observability&lt;/strong&gt; because you&#39;re managing a cluster. You should monitor &lt;strong&gt;cluster health&lt;/strong&gt;, &lt;strong&gt;performance&lt;/strong&gt;, &lt;strong&gt;security&lt;/strong&gt;, and &lt;strong&gt;resource usage&lt;/strong&gt;.&lt;/p&gt;
&lt;h3&gt;✅ Key Metrics (via CloudWatch / OpenSearch Dashboards)&lt;/h3&gt;
&lt;h4&gt;1. &lt;strong&gt;Cluster Health&lt;/strong&gt;&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code inline=&quot;&quot;&gt;ClusterStatus&lt;/code&gt;: Should be GREEN (YELLOW = replica shards missing; RED = primary shards missing).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code inline=&quot;&quot;&gt;NumberOfNodes&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code inline=&quot;&quot;&gt;ActivePrimaryShards&lt;/code&gt; / &lt;code inline=&quot;&quot;&gt;ActiveShards&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code inline=&quot;&quot;&gt;UnassignedShards&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;2. &lt;strong&gt;Search and Indexing Performance&lt;/strong&gt;&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code inline=&quot;&quot;&gt;SearchLatency&lt;/code&gt;: High latency can affect user experience.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code inline=&quot;&quot;&gt;SearchRate&lt;/code&gt;: Requests/sec.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code inline=&quot;&quot;&gt;IndexingLatency&lt;/code&gt;: Time to index documents.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code inline=&quot;&quot;&gt;IndexingRate&lt;/code&gt;: Documents indexed per second.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;3. &lt;strong&gt;Node/Instance Metrics&lt;/strong&gt;&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code inline=&quot;&quot;&gt;JVMMemoryPressure&lt;/code&gt;: JVM heap pressure; should ideally be &amp;lt; 75%.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code inline=&quot;&quot;&gt;CPUUtilization&lt;/code&gt;: High values indicate contention.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code inline=&quot;&quot;&gt;FreeStorageSpace&lt;/code&gt;: Monitor EBS disk usage.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code inline=&quot;&quot;&gt;InstanceHealth&lt;/code&gt;: To catch instance-level issues.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;4. &lt;strong&gt;Storage &amp;amp; IOPS&lt;/strong&gt;&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;EBS metrics like &lt;code inline=&quot;&quot;&gt;BurstBalance&lt;/code&gt;, &lt;code inline=&quot;&quot;&gt;VolumeReadOps&lt;/code&gt;, &lt;code inline=&quot;&quot;&gt;VolumeWriteOps&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;5. &lt;strong&gt;Slow Logs&lt;/strong&gt;&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Enable and analyze &lt;strong&gt;slow search&lt;/strong&gt; and &lt;strong&gt;slow indexing logs&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;6. &lt;strong&gt;Security Monitoring&lt;/strong&gt;&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Track failed logins or unauthorized access attempts.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Audit logs (via Cognito/IAM or custom integration).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Monitor fine-grained access control policies (if enabled).&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h2&gt;📈 Tools &amp;amp; Tips&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tool&lt;/th&gt;
&lt;th&gt;Use&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;CloudWatch Dashboards&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Custom dashboards for both Bedrock &amp;amp; OpenSearch&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS CloudTrail&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Monitor API usage for auditing&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;OpenSearch Dashboards&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Visualize logs, search metrics&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Service Quotas&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Set alarms for Bedrock limits&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS Cost Explorer&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Track token usage costs (Bedrock)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr /&gt;
&lt;h2&gt;🎯 Summary&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Category&lt;/th&gt;
&lt;th&gt;Bedrock&lt;/th&gt;
&lt;th&gt;OpenSearch&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Invocation Errors&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Latency&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Usage Quotas&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Token Consumption&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CPU &amp;amp; Memory&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;JVM Pressure&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Disk Space&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Indexing/Search Performance&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Security Events&lt;/td&gt;
&lt;td&gt;✅ (via IAM)&lt;/td&gt;
&lt;td&gt;✅ (with fine-grained auth)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;br /&gt;&lt;div&gt;&lt;p&gt;Here are the &lt;strong&gt;CloudWatch namespace names&lt;/strong&gt; for both &lt;strong&gt;Amazon Bedrock&lt;/strong&gt; and &lt;strong&gt;Amazon OpenSearch Service&lt;/strong&gt;:&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;🧠 &lt;strong&gt;Amazon Bedrock&lt;/strong&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;CloudWatch Namespace&lt;/strong&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;AWS/Bedrock
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Example Metrics in &lt;code inline=&quot;&quot;&gt;AWS/Bedrock&lt;/code&gt;:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code inline=&quot;&quot;&gt;Invocations&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code inline=&quot;&quot;&gt;InvocationErrors&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code inline=&quot;&quot;&gt;ModelLatency&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code inline=&quot;&quot;&gt;TokensIn&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code inline=&quot;&quot;&gt;TokensOut&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h2&gt;🔍 &lt;strong&gt;Amazon OpenSearch Service&lt;/strong&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;CloudWatch Namespace&lt;/strong&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;AWS/ES
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;(Note: AWS retained &lt;code inline=&quot;&quot;&gt;ES&lt;/code&gt; from the older &quot;Elasticsearch Service&quot; name.)&lt;/em&gt;&lt;/p&gt;
&lt;h3&gt;Example Metrics in &lt;code inline=&quot;&quot;&gt;AWS/ES&lt;/code&gt;:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code inline=&quot;&quot;&gt;ClusterStatus.green&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code inline=&quot;&quot;&gt;ClusterStatus.red&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code inline=&quot;&quot;&gt;JVMMemoryPressure&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code inline=&quot;&quot;&gt;CPUUtilization&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code inline=&quot;&quot;&gt;FreeStorageSpace&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code inline=&quot;&quot;&gt;SearchLatency&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code inline=&quot;&quot;&gt;IndexingRate&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script async src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot;&gt;&lt;/script&gt;
&lt;!-- Leaderboard Manas footer --&gt;
&lt;ins class=&quot;adsbygoogle&quot;
     style=&quot;display:inline-block;width:728px;height:90px&quot;
     data-ad-client=&quot;ca-pub-8906930571041974&quot;
     data-ad-slot=&quot;8147594448&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
(adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;&lt;/div&gt;</description><link>http://www.devopszones.com/2025/08/what-to-monitor-in-bedrock-and.html</link><author>noreply@blogger.com (Manas Ranjan Tripathy)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5873596342621039693.post-4551395474594004671</guid><pubDate>Wed, 30 Jul 2025 14:02:00 +0000</pubDate><atom:updated>2025-07-30T07:02:29.799-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">cloud</category><category domain="http://www.blogger.com/atom/ns#">GenAI</category><category domain="http://www.blogger.com/atom/ns#">Generative AI</category><category domain="http://www.blogger.com/atom/ns#">How-to</category><title>What and How we should monitor in Amazon Q business</title><description>&lt;p&gt;&amp;nbsp;To &lt;strong&gt;monitor Amazon Q Business&lt;/strong&gt;, which integrates generative AI with enterprise data to answer questions and assist in tasks, you should focus on both &lt;strong&gt;application-level metrics&lt;/strong&gt; and &lt;strong&gt;user interaction monitoring&lt;/strong&gt; to ensure &lt;strong&gt;performance, security, accuracy, and adoption&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style=&quot;font-size: large;&quot;&gt;How to monitor&lt;/span&gt;&lt;/strong&gt;: Use&amp;nbsp;&lt;strong&gt;CloudWatch and Cloudtrails.&lt;/strong&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;🔍 What You Should Monitor in Amazon Q Business&lt;/h2&gt;
&lt;h3&gt;1. &lt;strong&gt;Usage Metrics&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Track how and when your employees are using Amazon Q.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;User adoption&lt;/strong&gt;: Number of active users per day/week/month.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Session count &amp;amp; duration&lt;/strong&gt;: How often and how long users interact with Q.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Query volume&lt;/strong&gt;: Number of questions or commands submitted.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;blockquote&gt;
&lt;/blockquote&gt;
&lt;hr /&gt;
&lt;h3&gt;2. &lt;strong&gt;Accuracy and Relevance of Answers&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Ensure Q is responding accurately using your enterprise content.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Feedback on answers&lt;/strong&gt;: Upvotes/downvotes or thumbs up/down.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Hallucination rate&lt;/strong&gt;: How often does it give incorrect or made-up answers?&lt;/li&gt;&lt;/ul&gt;
&lt;hr /&gt;
&lt;h3&gt;3. &lt;strong&gt;Content and Indexing Health&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Q relies on your enterprise data indexed in Amazon Q Connectors.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Document ingestion status&lt;/strong&gt;: Any indexing failures?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Connector health&lt;/strong&gt;: Success/failure of sync jobs.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;hr /&gt;
&lt;h3&gt;4. &lt;strong&gt;Security and Compliance Monitoring&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Ensure Q respects data access controls.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Access violations&lt;/strong&gt;: Users seeing data they shouldn’t.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Audit logs&lt;/strong&gt;: Who accessed what, when, and from where.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Role &amp;amp; permission changes&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;How to monitor&lt;/strong&gt;:&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Use &lt;strong&gt;CloudTrail logs&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h3&gt;5. &lt;strong&gt;Performance and Latency&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Ensure queries are answered quickly and reliably.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Response time&lt;/strong&gt;: Time to first token, full response time.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Error rate&lt;/strong&gt;: Timeouts, failures, server errors.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;hr /&gt;
&lt;h3&gt;6. &lt;strong&gt;Integration Health&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Monitor how Amazon Q integrates with internal apps like Jira, SharePoint, Salesforce, etc.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;API call success rate&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Rate limiting or throttling issues&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;blockquote&gt;
&lt;/blockquote&gt;
&lt;hr /&gt;
&lt;h3&gt;7. &lt;strong&gt;Cost Monitoring&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Track and manage expenses related to Amazon Q usage.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Usage-based cost tracking&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Data storage costs&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Connector sync and indexing costs&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;hr /&gt;
&lt;h2&gt;⚙️ How to Set Up Monitoring&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Area&lt;/th&gt;
&lt;th&gt;Tool/Service&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Logs &amp;amp; Metrics&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Amazon CloudWatch&lt;/strong&gt;, &lt;strong&gt;CloudTrail&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Visual Dashboards&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Amazon QuickSight&lt;/strong&gt;, &lt;strong&gt;Grafana&lt;/strong&gt;, or &lt;strong&gt;Athena on S3 logs&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Alerting&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;CloudWatch Alarms&lt;/strong&gt;, &lt;strong&gt;SNS Notifications&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr /&gt;
&lt;h2&gt;✅ Alarms - Some examples&lt;/h2&gt;&lt;h2&gt;&lt;ul style=&quot;font-size: medium; font-weight: 400;&quot;&gt;&lt;li style=&quot;margin-top: 4px;&quot;&gt;&lt;p data-renderer-start-pos=&quot;1100&quot; style=&quot;font-family: &amp;quot;Atlassian Sans&amp;quot;, ui-sans-serif, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Ubuntu, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 14px; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: 1.714; margin: 0px; padding: 0px;&quot;&gt;If &lt;code class=&quot;_ca0qyh40 _u5f3m5ip _n3tdyh40 _19bvm5ip _2rko1sit _11c81u0j _1reo1wug _18m91wug _1dqoglyw _1e0c1nu9 _bfhktkvp _16d9qvcn _syaz1fxt _vwz41kw7 _1i4q1hna _o5721jtm&quot; data-renderer-mark=&quot;true&quot; style=&quot;-webkit-box-decoration-break: clone; background-color: rgba(5, 21, 36, 0.06); border-radius: 3px; border-style: none; box-decoration-break: clone; color: #292a2e; display: inline; font-family: ui-monospace, Menlo, &amp;quot;Segoe UI Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, monospace; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 12.25px; font-stretch: 100%; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 2px 0.5ch 2px 0.5ch; white-space-collapse: preserve;&quot;&gt;HallucinatedChatMessages&lt;/code&gt; count is greater than 5.&lt;/p&gt;&lt;/li&gt;&lt;li style=&quot;margin-top: 4px;&quot;&gt;&lt;p data-renderer-start-pos=&quot;1156&quot; style=&quot;font-family: &amp;quot;Atlassian Sans&amp;quot;, ui-sans-serif, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Ubuntu, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 14px; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: 1.714; margin: 0px; padding: 0px;&quot;&gt;If &lt;code class=&quot;_ca0qyh40 _u5f3m5ip _n3tdyh40 _19bvm5ip _2rko1sit _11c81u0j _1reo1wug _18m91wug _1dqoglyw _1e0c1nu9 _bfhktkvp _16d9qvcn _syaz1fxt _vwz41kw7 _1i4q1hna _o5721jtm&quot; data-renderer-mark=&quot;true&quot; style=&quot;-webkit-box-decoration-break: clone; background-color: rgba(5, 21, 36, 0.06); border-radius: 3px; border-style: none; box-decoration-break: clone; color: #292a2e; display: inline; font-family: ui-monospace, Menlo, &amp;quot;Segoe UI Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, monospace; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 12.25px; font-stretch: 100%; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 2px 0.5ch 2px 0.5ch; white-space-collapse: preserve;&quot;&gt;Latency&lt;/code&gt;count is greater than 30 ms.&lt;/p&gt;&lt;/li&gt;&lt;li style=&quot;margin-top: 4px;&quot;&gt;&lt;p data-renderer-start-pos=&quot;1198&quot; style=&quot;font-family: &amp;quot;Atlassian Sans&amp;quot;, ui-sans-serif, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Ubuntu, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 14px; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: 1.714; margin: 0px; padding: 0px;&quot;&gt;If &lt;code class=&quot;_ca0qyh40 _u5f3m5ip _n3tdyh40 _19bvm5ip _2rko1sit _11c81u0j _1reo1wug _18m91wug _1dqoglyw _1e0c1nu9 _bfhktkvp _16d9qvcn _syaz1fxt _vwz41kw7 _1i4q1hna _o5721jtm&quot; data-renderer-mark=&quot;true&quot; style=&quot;-webkit-box-decoration-break: clone; background-color: rgba(5, 21, 36, 0.06); border-radius: 3px; border-style: none; box-decoration-break: clone; color: #292a2e; display: inline; font-family: ui-monospace, Menlo, &amp;quot;Segoe UI Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, monospace; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 12.25px; font-stretch: 100%; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: inherit; overflow-wrap: break-word; overflow: auto; padding: 2px 0.5ch 2px 0.5ch; white-space-collapse: preserve;&quot;&gt;ThumbsDownCount&lt;/code&gt; count is greater than 5.&lt;/p&gt;&lt;/li&gt;&lt;li style=&quot;margin-top: 4px;&quot;&gt;&lt;p data-renderer-start-pos=&quot;1245&quot; style=&quot;font-family: &amp;quot;Atlassian Sans&amp;quot;, ui-sans-serif, -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI&amp;quot;, Ubuntu, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 14px; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: 1.714; margin: 0px; padding: 0px;&quot;&gt;If The number of failed API operation calls is greater than 5&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/h2&gt;&lt;h2&gt;✅ Best Practices&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Enable &lt;strong&gt;logging&lt;/strong&gt; for all user interactions.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Enforce &lt;strong&gt;RBAC and permission boundaries&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Regularly &lt;strong&gt;audit data sources&lt;/strong&gt; and connector syncs.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Gather &lt;strong&gt;user feedback&lt;/strong&gt; to improve model tuning.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Perform &lt;strong&gt;security reviews&lt;/strong&gt; of all integrated data sources.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script async src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot;&gt;&lt;/script&gt;
&lt;!-- Leaderboard Manas footer --&gt;
&lt;ins class=&quot;adsbygoogle&quot;
     style=&quot;display:inline-block;width:728px;height:90px&quot;
     data-ad-client=&quot;ca-pub-8906930571041974&quot;
     data-ad-slot=&quot;8147594448&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
(adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;&lt;/div&gt;</description><link>http://www.devopszones.com/2025/07/what-and-how-we-should-monitor-in.html</link><author>noreply@blogger.com (Manas Ranjan Tripathy)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5873596342621039693.post-490862599957455648</guid><pubDate>Mon, 21 Jul 2025 15:20:00 +0000</pubDate><atom:updated>2025-07-21T08:20:52.629-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Devops</category><category domain="http://www.blogger.com/atom/ns#">How-to</category><title>How to convert amd64 docker image to multi-arch </title><description>&lt;p&gt;&amp;nbsp;To convert an existing &lt;code inline=&quot;&quot;&gt;amd64&lt;/code&gt; Docker image into a &lt;strong&gt;multi-architecture (multiarch)&lt;/strong&gt; image that supports platforms like &lt;code inline=&quot;&quot;&gt;linux/amd64&lt;/code&gt; and &lt;code inline=&quot;&quot;&gt;linux/arm64&lt;/code&gt;, you need to use &lt;strong&gt;&lt;code inline=&quot;&quot;&gt;docker buildx&lt;/code&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;hr /&gt;
&lt;h3&gt;✅ Steps to Create a Multi-Arch Docker Image&lt;/h3&gt;
&lt;h4&gt;&lt;strong&gt;1. Enable experimental features and create a buildx builder&lt;/strong&gt;&lt;/h4&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;docker buildx create --use --name multiarch-builder
docker buildx inspect --bootstrap
&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;
&lt;p&gt;✅ This ensures you can build images for multiple platforms in one go.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr /&gt;
&lt;h4&gt;&lt;strong&gt;2. Build and push a multiarch image&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;If you&#39;re pushing to a registry (e.g., Docker Hub or ECR):&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;docker buildx build \
  --platform linux/amd64,linux/arm64 \
  -t &amp;lt;your-registry&amp;gt;/&amp;lt;image-name&amp;gt;:&amp;lt;tag&amp;gt; \
  --push .
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Example:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;docker buildx build \
  --platform linux/amd64,linux/arm64 \
  -t myuser/myapp:latest \
  --push .
&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;
&lt;p&gt;🧠 &lt;code inline=&quot;&quot;&gt;--push&lt;/code&gt; is required for multiarch images since they’re built in a remote context.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr /&gt;
&lt;h4&gt;&lt;strong&gt;3. (Optional) Test locally&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;To load for local testing (only works for one platform at a time):&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;docker buildx build --platform linux/amd64 -t myimage:local --load .
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;h3&gt;✅ Verify Multi-Arch Support&lt;/h3&gt;
&lt;p&gt;After building and pushing, inspect the image:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;docker buildx imagetools inspect &amp;lt;your-registry&amp;gt;/&amp;lt;image-name&amp;gt;:&amp;lt;tag&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Expected output should include something like:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-json&quot;&gt;&quot;manifests&quot;: [
  {
    &quot;platform&quot;: {
      &quot;architecture&quot;: &quot;amd64&quot;,
      &quot;os&quot;: &quot;linux&quot;
    },
    ...
  },
  {
    &quot;platform&quot;: {
      &quot;architecture&quot;: &quot;arm64&quot;,
      &quot;os&quot;: &quot;linux&quot;
    },
    ...
  }
]
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;h3&gt;📌 Notes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;You must be &lt;strong&gt;logged into your registry&lt;/strong&gt; (e.g., Docker Hub) to push.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;You &lt;strong&gt;must use &lt;code inline=&quot;&quot;&gt;buildx&lt;/code&gt; and &lt;code inline=&quot;&quot;&gt;--push&lt;/code&gt;&lt;/strong&gt; to generate multi-platform manifests.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The Dockerfile itself must &lt;strong&gt;not include architecture-specific binaries&lt;/strong&gt; unless you&#39;re handling them with conditional logic (e.g., downloading binaries for the right &lt;code inline=&quot;&quot;&gt;TARGETARCH&lt;/code&gt;).&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script async src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot;&gt;&lt;/script&gt;
&lt;!-- Leaderboard Manas footer --&gt;
&lt;ins class=&quot;adsbygoogle&quot;
     style=&quot;display:inline-block;width:728px;height:90px&quot;
     data-ad-client=&quot;ca-pub-8906930571041974&quot;
     data-ad-slot=&quot;8147594448&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
(adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;&lt;/div&gt;</description><link>http://www.devopszones.com/2025/07/how-to-convert-amd64-docker-image-to.html</link><author>noreply@blogger.com (Manas Ranjan Tripathy)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5873596342621039693.post-8910380595755952344</guid><pubDate>Wed, 16 Jul 2025 07:49:00 +0000</pubDate><atom:updated>2025-07-16T00:49:00.121-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">cloud</category><category domain="http://www.blogger.com/atom/ns#">Devops</category><category domain="http://www.blogger.com/atom/ns#">devsecops</category><category domain="http://www.blogger.com/atom/ns#">GCP</category><category domain="http://www.blogger.com/atom/ns#">How-to</category><title>How to use Extract log labels in GCP notifications</title><description>&lt;p&gt;&amp;nbsp;If&amp;nbsp;&lt;span style=&quot;color: #1b1c1d; font-family: &amp;quot;Google Sans Text&amp;quot;, sans-serif;&quot;&gt;You&#39;re looking to enrich your Cloud Logging alerts with specific information extracted from your log entries. This is a powerful feature that makes your notifications much more informative and actionable.&lt;/span&gt;&lt;/p&gt;&lt;div _ngcontent-ng-c837734481=&quot;&quot; class=&quot;markdown markdown-main-panel enable-updated-hr-color&quot; dir=&quot;ltr&quot; id=&quot;model-response-message-contentr_fcba65f001ec3b21&quot; style=&quot;--animation-duration: 400ms; --fade-animation-function: linear; animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; color: #1b1c1d; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-family: &amp;quot;Google Sans Text&amp;quot;, sans-serif !important; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;p style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;There are two main ways to extract log labels for use in notifications in GCP:&lt;/p&gt;&lt;ol start=&quot;1&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding-inline-start: 32px; padding: 0px 0px 0px 28px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;li style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;p style=&quot;line-height: 1.15 !important; margin-top: 0px !important; padding-bottom: 0px; padding-top: 0px;&quot;&gt;&lt;b&gt;Using Log-based Alerts&lt;/b&gt; (the simpler and more direct method for most cases):&lt;/p&gt;&lt;p style=&quot;line-height: 1.15 !important; margin-top: 0px !important; padding-bottom: 0px; padding-top: 0px;&quot;&gt;This is the modern approach and generally preferred for creating alerts directly from log patterns. It allows you to define &quot;label extractors&quot; directly within the alert policy.&lt;/p&gt;&lt;/li&gt;&lt;li style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;p style=&quot;line-height: 1.15 !important; margin-top: 0px !important; padding-bottom: 0px; padding-top: 0px;&quot;&gt;&lt;b&gt;Using Log-based Metrics with Labels &lt;/b&gt;(for more complex aggregations or dashboarding):&lt;/p&gt;&lt;p style=&quot;line-height: 1.15 !important; margin-top: 0px !important; padding-bottom: 0px; padding-top: 0px;&quot;&gt;This method involves creating a log-based metric first, defining labels on that metric, and then creating an alert policy based on the metric.1 While effective, it adds an extra layer of abstraction.&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;Let&#39;s focus on &lt;b style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;Method 1: Using Log-based Alerts&lt;/b&gt; as it&#39;s most often used.&lt;/p&gt;&lt;p style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;/p&gt;&lt;h3 style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-family: &amp;quot;Google Sans&amp;quot;, sans-serif !important; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;Method 1: Using Log-based Alerts to Extract Labels&lt;/h3&gt;&lt;p style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;This method allows you to define a query for your logs and then, as part of the alert creation, specify which fields from the matching log entries you want to extract as labels. These extracted labels can then be referenced in your notification&#39;s documentation field.&lt;/p&gt;&lt;p style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;b style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;Steps:&lt;/b&gt;&lt;/p&gt;&lt;ol start=&quot;1&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding-inline-start: 32px; padding: 0px 0px 0px 28px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;li style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;p style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;b style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;Go to Logs Explorer:&lt;/b&gt;&lt;/p&gt;&lt;ul style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding-inline-start: 32px; padding: 0px 0px 0px 27px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;li style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;p style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;In the Google Cloud Console, navigate to &lt;b style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;Logging &amp;gt; Logs Explorer&lt;/b&gt;.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;p style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;b style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;Build Your Log Query:&lt;/b&gt;&lt;/p&gt;&lt;ul style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding-inline-start: 32px; padding: 0px 0px 0px 27px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;li style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;p style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;Craft a query that precisely matches the log entries you want to alert on. For example, if you want to be alerted on Cloud Armor &lt;code style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(233, 238, 246); border: 0px none rgb(87, 91, 95); clear: none; clip: auto; color: #575b5f; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-family: &amp;quot;Google Sans Text&amp;quot;, sans-serif !important; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(87, 91, 95) none 0px; overlay: none; padding: 1px 6px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;DENY&lt;/code&gt; events with &lt;code style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(233, 238, 246); border: 0px none rgb(87, 91, 95); clear: none; clip: auto; color: #575b5f; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-family: &amp;quot;Google Sans Text&amp;quot;, sans-serif !important; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(87, 91, 95) none 0px; overlay: none; padding: 1px 6px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;body_denied_by_security_policy&lt;/code&gt;:&lt;/p&gt;&lt;response-element class=&quot;&quot; ng-version=&quot;0.0.0-PLACEHOLDER&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;code-block _nghost-ng-c4142113402=&quot;&quot; class=&quot;ng-tns-c4142113402-51 ng-star-inserted&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;!----&gt;&lt;!----&gt;&lt;div _ngcontent-ng-c4142113402=&quot;&quot; class=&quot;code-block ng-tns-c4142113402-51 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation&quot; jslog=&quot;223238;track:impression;BardVeMetadataKey:[[&amp;quot;r_fcba65f001ec3b21&amp;quot;,&amp;quot;c_f97ba60ac12882b1&amp;quot;,null,&amp;quot;rc_029f8595aa7e3446&amp;quot;,null,null,&amp;quot;en&amp;quot;,null,1,null,null,1,0]]&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: 0px; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: relative; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;!----&gt;&lt;div _ngcontent-ng-c4142113402=&quot;&quot; class=&quot;formatted-code-block-internal-container ng-tns-c4142113402-51&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(240, 244, 249); border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;div _ngcontent-ng-c4142113402=&quot;&quot; class=&quot;animated-opacity ng-tns-c4142113402-51&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;pre _ngcontent-ng-c4142113402=&quot;&quot; class=&quot;ng-tns-c4142113402-51&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-family: &amp;quot;Google Sans Text&amp;quot;, sans-serif !important; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;code _ngcontent-ng-c4142113402=&quot;&quot; class=&quot;code-container formatted ng-tns-c4142113402-51 no-decoration-radius&quot; data-test-id=&quot;code-content&quot; role=&quot;text&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); border: 0px none rgb(87, 91, 95); clear: none; clip: auto; color: #575b5f; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: block; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-family: &amp;quot;Google Sans Text&amp;quot;, sans-serif !important; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 14px; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(87, 91, 95) none 0px; overlay: none; padding: 16px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;resource.type=&quot;http_load_balancer&quot;
jsonPayload.enforcedSecurityPolicy.outcome=&quot;DENY&quot;
jsonPayload.enforcedSecurityPolicy.statusDetails=&quot;denied_by_security_policy&quot;
&lt;/code&gt;&lt;/pre&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;/code-block&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;/response-element&gt;&lt;/li&gt;&lt;li style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;p style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;Run the query to ensure it returns the expected logs.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;p style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;b style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;Create Alert from Query:&lt;/b&gt;&lt;/p&gt;&lt;ul style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding-inline-start: 32px; padding: 0px 0px 0px 27px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;li style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;p style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;span class=&quot;citation-6&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;In the &lt;/span&gt;&lt;b style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;Query results&lt;/b&gt;&lt;span class=&quot;citation-6&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt; toolbar, click &lt;/span&gt;&lt;b style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;Actions&lt;/b&gt;&lt;span class=&quot;citation-6&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt; (three vertical dots) and select &lt;/span&gt;&lt;b style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;Create alert&lt;/b&gt;&lt;span class=&quot;citation-6 citation-end-6&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;.&lt;source-footnote _nghost-ng-c2701546091=&quot;&quot; ng-version=&quot;0.0.0-PLACEHOLDER&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255); border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;sup _ngcontent-ng-c2701546091=&quot;&quot; class=&quot;superscript&quot; data-turn-source-index=&quot;2&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-color: transparent !important; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(87, 91, 95); clear: none; clip: auto; color: #575b5f; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline-flex; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-size: 16px !important; gap: normal; hyphens: manual; inset: -10px 2px 10px -2px; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: -6px; margin-right: -6px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(87, 91, 95) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: relative; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;2&lt;/sup&gt;&lt;/source-footnote&gt;&lt;/span&gt;&lt;sources-carousel-inline _nghost-ng-c125512479=&quot;&quot; ng-version=&quot;0.0.0-PLACEHOLDER&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;!----&gt;&lt;source-inline-chips _ngcontent-ng-c125512479=&quot;&quot; _nghost-ng-c182090728=&quot;&quot; class=&quot;ng-star-inserted&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;source-inline-chip _ngcontent-ng-c182090728=&quot;&quot; _nghost-ng-c3980661967=&quot;&quot; class=&quot;ng-star-inserted&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: 0px; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: relative; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;/source-inline-chip&gt;&lt;/source-inline-chips&gt;&lt;/sources-carousel-inline&gt;&lt;/p&gt;&lt;div _ngcontent-ng-c3980661967=&quot;&quot; class=&quot;source-inline-chip-container ng-star-inserted&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline-flex; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 4px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;button _ngcontent-ng-c3980661967=&quot;&quot; cdkoverlayorigin=&quot;&quot; class=&quot;button ng-star-inserted&quot; jslog=&quot;262206;track:generic_click,impression&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(240, 244, 249); border-color: rgb(87, 91, 95); border-style: none; border-width: 0px; clear: none; clip: auto; color: #575b5f; columns: auto; contain: none; container: none; content: normal; cursor: pointer; cx: 0px; cy: 0px; d: none; direction: ltr; display: flex; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-family: &amp;quot;Google Sans Text&amp;quot;, sans-serif !important; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 13.3333px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; font-weight: normal; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 2px; margin-right: 2px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(87, 91, 95) none 0px; overlay: none; padding: 1px 6px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;mat-icon _ngcontent-ng-c3980661967=&quot;&quot; aria-hidden=&quot;true&quot; class=&quot;mat-icon notranslate symbol gds-icon-s google-symbols mat-ligature-font mat-icon-no-color&quot; data-mat-icon-name=&quot;link&quot; data-mat-icon-type=&quot;font&quot; fonticon=&quot;link&quot; role=&quot;img&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto no-repeat scroll padding-box border-box rgba(0, 0, 0, 0); border: 0px none rgb(87, 91, 95); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: pointer; cx: 0px; cy: 0px; d: none; direction: ltr; display: block; fill: rgb(87, 91, 95); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(87, 91, 95) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: matrix(0.707107, -0.707107, 0.707107, 0.707107, 0, 0); transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;/mat-icon&gt;&lt;/button&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;/div&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;p style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;b style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;Configure Alert Details:&lt;/b&gt;&lt;/p&gt;&lt;ul style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding-inline-start: 32px; padding: 0px 0px 0px 27px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;li style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;p style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;b style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;Alert name:&lt;/b&gt; Give your alert a meaningful name (e.g., &quot;Cloud Armor Body Deny Alert&quot;).&lt;/p&gt;&lt;/li&gt;&lt;li style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;p style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;b style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;Severity:&lt;/b&gt; Choose an appropriate severity level.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;p style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;b style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;Choose Logs to Include (your query will be pre-filled):&lt;/b&gt;&lt;/p&gt;&lt;ul style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding-inline-start: 32px; padding: 0px 0px 0px 27px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;li style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;p style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;Review the pre-filled &quot;Log query&quot; and &quot;Logs query preview&quot;.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;p style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;b style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;Extract Log Labels (This is the key step!):&lt;/b&gt;&lt;/p&gt;&lt;ul style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding-inline-start: 32px; padding: 0px 0px 0px 27px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;li style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;p style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;Under &quot;Logs query preview&quot;, you&#39;ll see a section called &lt;b style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&quot;Extract log labels (Optional)&quot;&lt;/b&gt;. Click on this.&lt;/p&gt;&lt;/li&gt;&lt;li style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;p style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;Click &lt;b style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;Add label&lt;/b&gt;.&lt;/p&gt;&lt;/li&gt;&lt;li style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;p style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;b style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;Display Name:&lt;/b&gt; This is the name you&#39;ll use to reference the label in your notification. Choose something descriptive (e.g., &lt;code style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(233, 238, 246); border: 0px none rgb(87, 91, 95); clear: none; clip: auto; color: #575b5f; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-family: &amp;quot;Google Sans Text&amp;quot;, sans-serif !important; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(87, 91, 95) none 0px; overlay: none; padding: 1px 6px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;rule_id&lt;/code&gt;, &lt;code style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(233, 238, 246); border: 0px none rgb(87, 91, 95); clear: none; clip: auto; color: #575b5f; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-family: &amp;quot;Google Sans Text&amp;quot;, sans-serif !important; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(87, 91, 95) none 0px; overlay: none; padding: 1px 6px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;source_ip&lt;/code&gt;, &lt;code style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(233, 238, 246); border: 0px none rgb(87, 91, 95); clear: none; clip: auto; color: #575b5f; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-family: &amp;quot;Google Sans Text&amp;quot;, sans-serif !important; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(87, 91, 95) none 0px; overlay: none; padding: 1px 6px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;request_path&lt;/code&gt;).&lt;/p&gt;&lt;/li&gt;&lt;li style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;p style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;b style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;Log field name:&lt;/b&gt; This is the path to the field in your log entry that contains the value you want to extract.&lt;/p&gt;&lt;ul style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding-inline-start: 32px; padding: 0px 0px 0px 27px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;li style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;p style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;span class=&quot;citation-5&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;For example, if you want the specific Cloud Armor rule ID that triggered the block, you&#39;d typically use &lt;/span&gt;&lt;code style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(233, 238, 246); border: 0px none rgb(87, 91, 95); clear: none; clip: auto; color: #575b5f; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-family: &amp;quot;Google Sans Text&amp;quot;, sans-serif !important; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(87, 91, 95) none 0px; overlay: none; padding: 1px 6px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;span class=&quot;citation-5&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); border: 0px none rgb(87, 91, 95); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(87, 91, 95) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;jsonPayload.enforcedSecurityPolicy.preconfiguredExprIds[0]&lt;/span&gt;&lt;/code&gt;&lt;span class=&quot;citation-5 citation-end-5&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt; (assuming you want the first ID if there are multiple).&lt;source-footnote _nghost-ng-c2701546091=&quot;&quot; ng-version=&quot;0.0.0-PLACEHOLDER&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255); border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;sup _ngcontent-ng-c2701546091=&quot;&quot; class=&quot;superscript&quot; data-turn-source-index=&quot;3&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-color: transparent !important; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(87, 91, 95); clear: none; clip: auto; color: #575b5f; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline-flex; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-size: 16px !important; gap: normal; hyphens: manual; inset: -10px 2px 10px -2px; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: -6px; margin-right: -6px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(87, 91, 95) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: relative; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;3&lt;/sup&gt;&lt;/source-footnote&gt;&lt;/span&gt;&lt;sources-carousel-inline _nghost-ng-c125512479=&quot;&quot; ng-version=&quot;0.0.0-PLACEHOLDER&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;!----&gt;&lt;source-inline-chips _ngcontent-ng-c125512479=&quot;&quot; _nghost-ng-c182090728=&quot;&quot; class=&quot;ng-star-inserted&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;source-inline-chip _ngcontent-ng-c182090728=&quot;&quot; _nghost-ng-c3980661967=&quot;&quot; class=&quot;ng-star-inserted&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: 0px; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: relative; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;/source-inline-chip&gt;&lt;/source-inline-chips&gt;&lt;/sources-carousel-inline&gt;&lt;/p&gt;&lt;div _ngcontent-ng-c3980661967=&quot;&quot; class=&quot;source-inline-chip-container ng-star-inserted&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline-flex; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 4px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;button _ngcontent-ng-c3980661967=&quot;&quot; cdkoverlayorigin=&quot;&quot; class=&quot;button ng-star-inserted&quot; jslog=&quot;262206;track:generic_click,impression&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(240, 244, 249); border-color: rgb(87, 91, 95); border-style: none; border-width: 0px; clear: none; clip: auto; color: #575b5f; columns: auto; contain: none; container: none; content: normal; cursor: pointer; cx: 0px; cy: 0px; d: none; direction: ltr; display: flex; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-family: &amp;quot;Google Sans Text&amp;quot;, sans-serif !important; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 13.3333px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; font-weight: normal; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 2px; margin-right: 2px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(87, 91, 95) none 0px; overlay: none; padding: 1px 6px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;mat-icon _ngcontent-ng-c3980661967=&quot;&quot; aria-hidden=&quot;true&quot; class=&quot;mat-icon notranslate symbol gds-icon-s google-symbols mat-ligature-font mat-icon-no-color&quot; data-mat-icon-name=&quot;link&quot; data-mat-icon-type=&quot;font&quot; fonticon=&quot;link&quot; role=&quot;img&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto no-repeat scroll padding-box border-box rgba(0, 0, 0, 0); border: 0px none rgb(87, 91, 95); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: pointer; cx: 0px; cy: 0px; d: none; direction: ltr; display: block; fill: rgb(87, 91, 95); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(87, 91, 95) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: matrix(0.707107, -0.707107, 0.707107, 0.707107, 0, 0); transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;/mat-icon&gt;&lt;/button&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;/div&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;p style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;For the source IP, it might be &lt;code style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(233, 238, 246); border: 0px none rgb(87, 91, 95); clear: none; clip: auto; color: #575b5f; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-family: &amp;quot;Google Sans Text&amp;quot;, sans-serif !important; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(87, 91, 95) none 0px; overlay: none; padding: 1px 6px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;jsonPayload.remoteIp&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;&lt;li style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;p style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;For the request path, it could be &lt;code style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(233, 238, 246); border: 0px none rgb(87, 91, 95); clear: none; clip: auto; color: #575b5f; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-family: &amp;quot;Google Sans Text&amp;quot;, sans-serif !important; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(87, 91, 95) none 0px; overlay: none; padding: 1px 6px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;httpRequest.requestUrl&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;&lt;li style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;p style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;b style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;Tip:&lt;/b&gt; To find the exact field names, expand a relevant log entry in Logs Explorer and click &quot;Expand nested fields&quot; to see the full JSON structure.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;p style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;span class=&quot;citation-4&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;/span&gt;&lt;b style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;Regular Expression (Optional but often useful):&lt;/b&gt;&lt;span class=&quot;citation-4&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt; If the field contains more than just the value you need, you can use a regular expression with a capture group &lt;/span&gt;&lt;code style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(233, 238, 246); border: 0px none rgb(87, 91, 95); clear: none; clip: auto; color: #575b5f; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-family: &amp;quot;Google Sans Text&amp;quot;, sans-serif !important; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(87, 91, 95) none 0px; overlay: none; padding: 1px 6px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;span class=&quot;citation-4&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); border: 0px none rgb(87, 91, 95); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(87, 91, 95) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;()&lt;/span&gt;&lt;/code&gt;&lt;span class=&quot;citation-4 citation-end-4&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt; to extract a specific part.&lt;source-footnote _nghost-ng-c2701546091=&quot;&quot; ng-version=&quot;0.0.0-PLACEHOLDER&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255); border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;sup _ngcontent-ng-c2701546091=&quot;&quot; class=&quot;superscript&quot; data-turn-source-index=&quot;4&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-color: transparent !important; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(87, 91, 95); clear: none; clip: auto; color: #575b5f; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline-flex; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-size: 16px !important; gap: normal; hyphens: manual; inset: -10px 2px 10px -2px; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: -6px; margin-right: -6px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(87, 91, 95) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: relative; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;4&lt;/sup&gt;&lt;/source-footnote&gt;&lt;/span&gt; If the field&#39;s entire content is what you want, you can often leave this blank or use &lt;code style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(233, 238, 246); border: 0px none rgb(87, 91, 95); clear: none; clip: auto; color: #575b5f; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-family: &amp;quot;Google Sans Text&amp;quot;, sans-serif !important; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(87, 91, 95) none 0px; overlay: none; padding: 1px 6px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;(.*)&lt;/code&gt;.&lt;sources-carousel-inline _nghost-ng-c125512479=&quot;&quot; ng-version=&quot;0.0.0-PLACEHOLDER&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;!----&gt;&lt;source-inline-chips _ngcontent-ng-c125512479=&quot;&quot; _nghost-ng-c182090728=&quot;&quot; class=&quot;ng-star-inserted&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;source-inline-chip _ngcontent-ng-c182090728=&quot;&quot; _nghost-ng-c3980661967=&quot;&quot; class=&quot;ng-star-inserted&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: 0px; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: relative; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;/source-inline-chip&gt;&lt;/source-inline-chips&gt;&lt;/sources-carousel-inline&gt;&lt;/p&gt;&lt;div _ngcontent-ng-c3980661967=&quot;&quot; class=&quot;source-inline-chip-container ng-star-inserted&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline-flex; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 4px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;button _ngcontent-ng-c3980661967=&quot;&quot; cdkoverlayorigin=&quot;&quot; class=&quot;button ng-star-inserted&quot; jslog=&quot;262206;track:generic_click,impression&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(240, 244, 249); border-color: rgb(87, 91, 95); border-style: none; border-width: 0px; clear: none; clip: auto; color: #575b5f; columns: auto; contain: none; container: none; content: normal; cursor: pointer; cx: 0px; cy: 0px; d: none; direction: ltr; display: flex; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-family: &amp;quot;Google Sans Text&amp;quot;, sans-serif !important; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 13.3333px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; font-weight: normal; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 2px; margin-right: 2px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(87, 91, 95) none 0px; overlay: none; padding: 1px 6px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;mat-icon _ngcontent-ng-c3980661967=&quot;&quot; aria-hidden=&quot;true&quot; class=&quot;mat-icon notranslate symbol gds-icon-s google-symbols mat-ligature-font mat-icon-no-color&quot; data-mat-icon-name=&quot;link&quot; data-mat-icon-type=&quot;font&quot; fonticon=&quot;link&quot; role=&quot;img&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto no-repeat scroll padding-box border-box rgba(0, 0, 0, 0); border: 0px none rgb(87, 91, 95); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: pointer; cx: 0px; cy: 0px; d: none; direction: ltr; display: block; fill: rgb(87, 91, 95); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(87, 91, 95) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: matrix(0.707107, -0.707107, 0.707107, 0.707107, 0, 0); transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;/mat-icon&gt;&lt;/button&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;/div&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;p&gt;&lt;/p&gt;&lt;ul style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding-inline-start: 32px; padding: 0px 0px 0px 27px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;li style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;p style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;For &lt;code style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(233, 238, 246); border: 0px none rgb(87, 91, 95); clear: none; clip: auto; color: #575b5f; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-family: &amp;quot;Google Sans Text&amp;quot;, sans-serif !important; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(87, 91, 95) none 0px; overlay: none; padding: 1px 6px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;preconfiguredExprIds[0]&lt;/code&gt;, you might just use &lt;code style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(233, 238, 246); border: 0px none rgb(87, 91, 95); clear: none; clip: auto; color: #575b5f; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-family: &amp;quot;Google Sans Text&amp;quot;, sans-serif !important; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(87, 91, 95) none 0px; overlay: none; padding: 1px 6px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;(.*)&lt;/code&gt; if the field just contains the ID. If it&#39;s a list, you might need to iterate or extract one. For simplicity, if it&#39;s typically a single ID, just referencing the field might work.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;p style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;b style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;Add multiple labels&lt;/b&gt; for all the relevant pieces of information you want in your alert.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;p style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;b style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;Set Notification Frequency and Autoclose:&lt;/b&gt;&lt;/p&gt;&lt;ul style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding-inline-start: 32px; padding: 0px 0px 0px 27px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;li style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;p style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;Configure how often you want to be notified and when incidents should automatically close.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;p style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;b style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;Specify Notification Channels:&lt;/b&gt;&lt;/p&gt;&lt;ul style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding-inline-start: 32px; padding: 0px 0px 0px 27px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;li style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;p style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;Choose the notification channels (e.g., Email, SMS, Slack, PagerDuty) where you want to receive the alerts. You&#39;ll need to have these channels pre-configured in Cloud Monitoring.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;p style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;b style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;Add Documentation (where you use your extracted labels!):&lt;/b&gt;&lt;/p&gt;&lt;ul style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding-inline-start: 32px; padding: 0px 0px 0px 27px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;li style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;p style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;This is the section where you can customize the content of your notification.&lt;/p&gt;&lt;/li&gt;&lt;li style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;p style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;Use Markdown formatting and reference your extracted labels using the syntax &lt;code style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(233, 238, 246); border: 0px none rgb(87, 91, 95); clear: none; clip: auto; color: #575b5f; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-family: &amp;quot;Google Sans Text&amp;quot;, sans-serif !important; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(87, 91, 95) none 0px; overlay: none; padding: 1px 6px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;${log.extracted_label.YOUR_DISPLAY_NAME}&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;&lt;li style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;p style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;b style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;Example Documentation:&lt;/b&gt;&lt;/p&gt;&lt;response-element class=&quot;&quot; ng-version=&quot;0.0.0-PLACEHOLDER&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;code-block _nghost-ng-c4142113402=&quot;&quot; class=&quot;ng-tns-c4142113402-52 ng-star-inserted&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;!----&gt;&lt;!----&gt;&lt;div _ngcontent-ng-c4142113402=&quot;&quot; class=&quot;code-block ng-tns-c4142113402-52 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation&quot; jslog=&quot;223238;track:impression;BardVeMetadataKey:[[&amp;quot;r_fcba65f001ec3b21&amp;quot;,&amp;quot;c_f97ba60ac12882b1&amp;quot;,null,&amp;quot;rc_029f8595aa7e3446&amp;quot;,null,null,&amp;quot;en&amp;quot;,null,1,null,null,1,0]]&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: 0px; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: relative; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;div _ngcontent-ng-c4142113402=&quot;&quot; class=&quot;code-block-decoration header-formatted gds-title-s ng-tns-c4142113402-52 ng-star-inserted&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(240, 244, 249); border: 0px none rgb(87, 91, 95); clear: none; clip: auto; color: #575b5f; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: flex; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 2px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(87, 91, 95) none 0px; overlay: none; padding: 8px 8px 8px 16px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;span _ngcontent-ng-c4142113402=&quot;&quot; class=&quot;ng-tns-c4142113402-52&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); border: 0px none rgb(87, 91, 95); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: block; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(87, 91, 95) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;Markdown&lt;/span&gt;&lt;div _ngcontent-ng-c4142113402=&quot;&quot; class=&quot;buttons ng-tns-c4142113402-52 ng-star-inserted&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); border: 0px none rgb(87, 91, 95); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(87, 91, 95) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;button _ngcontent-ng-c4142113402=&quot;&quot; aria-label=&quot;Copy code&quot; class=&quot;mdc-icon-button mat-mdc-icon-button mat-mdc-button-base mat-mdc-tooltip-trigger copy-button ng-tns-c4142113402-52 mat-unthemed ng-star-inserted&quot; jslog=&quot;179062;track:generic_click,impression;BardVeMetadataKey:[[&amp;quot;r_fcba65f001ec3b21&amp;quot;,&amp;quot;c_f97ba60ac12882b1&amp;quot;,null,&amp;quot;rc_029f8595aa7e3446&amp;quot;,null,null,&amp;quot;en&amp;quot;,null,1,null,null,1,0]];mutable:true&quot; mat-icon-button=&quot;&quot; mat-ripple-loader-centered=&quot;&quot; mat-ripple-loader-class-name=&quot;mat-mdc-button-ripple&quot; mattooltip=&quot;Copy code&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border-color: rgb(68, 71, 70); border-style: none; border-width: 0px; clear: none; clip: auto; color: #444746; columns: auto; contain: none; container: none; content: normal; cursor: pointer; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(68, 71, 70); filter: none; flex: 0 0 auto; float: none; font-family: &amp;quot;Google Sans Text&amp;quot;, sans-serif !important; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 24px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; font-weight: normal; gap: normal; hyphens: manual; inset: 0px; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: -4px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(68, 71, 70) none 0px; overlay: none; padding: 8px; page: auto; perspective: none; position: relative; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: matrix(0.8, 0, 0, 0.8, 0, 0); transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;span class=&quot;mat-mdc-button-persistent-ripple mdc-icon-button__ripple&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); border: 0px none rgb(68, 71, 70); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: pointer; cx: 0px; cy: 0px; d: none; direction: ltr; display: block; fill: rgb(68, 71, 70); filter: none; flex: 0 1 auto; float: none; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; gap: normal; hyphens: manual; inset: 0px; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(68, 71, 70) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: absolute; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;/span&gt;&lt;mat-icon _ngcontent-ng-c4142113402=&quot;&quot; aria-hidden=&quot;true&quot; class=&quot;mat-icon notranslate google-symbols mat-ligature-font mat-icon-no-color&quot; data-mat-icon-name=&quot;content_copy&quot; data-mat-icon-type=&quot;font&quot; fonticon=&quot;content_copy&quot; role=&quot;img&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto no-repeat scroll padding-box border-box rgba(0, 0, 0, 0); border: 0px none rgb(68, 71, 70); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: pointer; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline-block; fill: rgb(68, 71, 70); filter: none; flex: 0 0 auto; float: none; gap: normal; hyphens: manual; inset: 0px; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(68, 71, 70) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: relative; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;/mat-icon&gt;&lt;span class=&quot;mat-focus-indicator&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); border: 0px none rgb(68, 71, 70); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: pointer; cx: 0px; cy: 0px; d: none; direction: ltr; display: block; fill: rgb(68, 71, 70); filter: none; flex: 0 1 auto; float: none; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; gap: normal; hyphens: manual; inset: 0px; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(68, 71, 70) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: absolute; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mat-mdc-button-touch-target&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); border: 0px none rgb(68, 71, 70); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: pointer; cx: 0px; cy: 0px; d: none; direction: ltr; display: block; fill: rgb(68, 71, 70); filter: none; flex: 0 1 auto; float: none; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; gap: normal; hyphens: manual; inset: 20px -28px -28px 20px; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(68, 71, 70) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: absolute; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: matrix(1, 0, 0, 1, -24, -24); transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mat-ripple mat-mdc-button-ripple&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); border: 0px none rgb(68, 71, 70); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: pointer; cx: 0px; cy: 0px; d: none; direction: ltr; display: block; fill: rgb(68, 71, 70); filter: none; flex: 0 1 auto; float: none; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; gap: normal; hyphens: manual; inset: 0px; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(68, 71, 70) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: absolute; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;/span&gt;&lt;/button&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;/div&gt;&lt;!----&gt;&lt;/div&gt;&lt;!----&gt;&lt;div _ngcontent-ng-c4142113402=&quot;&quot; class=&quot;formatted-code-block-internal-container ng-tns-c4142113402-52&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(240, 244, 249); border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;div _ngcontent-ng-c4142113402=&quot;&quot; class=&quot;animated-opacity ng-tns-c4142113402-52&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;pre _ngcontent-ng-c4142113402=&quot;&quot; class=&quot;ng-tns-c4142113402-52&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-family: &amp;quot;Google Sans Text&amp;quot;, sans-serif !important; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;code _ngcontent-ng-c4142113402=&quot;&quot; class=&quot;code-container formatted ng-tns-c4142113402-52&quot; data-test-id=&quot;code-content&quot; role=&quot;text&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); border: 0px none rgb(87, 91, 95); clear: none; clip: auto; color: #575b5f; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: block; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-family: &amp;quot;Google Sans Text&amp;quot;, sans-serif !important; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 14px; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(87, 91, 95) none 0px; overlay: none; padding: 16px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;span class=&quot;hljs-section&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); border: 0px none rgb(87, 91, 95); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(87, 91, 95) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;### Cloud Armor Body Deny Alert&lt;/span&gt;

A request was denied by Cloud Armor due to a suspicious pattern in the request body.

&lt;span class=&quot;hljs-strong&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); border: 0px none rgb(87, 91, 95); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; font-weight: 700; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(87, 91, 95) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;**Details:**&lt;/span&gt;
&lt;span class=&quot;hljs-bullet&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); border: 0px none rgb(217, 48, 37); clear: none; clip: auto; color: #d93025; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(217, 48, 37) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;hljs-strong&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); border: 0px none rgb(87, 91, 95); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; font-weight: 700; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(87, 91, 95) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;**Rule ID:**&lt;/span&gt; ${log.extracted&lt;span class=&quot;hljs-emphasis&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); border: 0px none rgb(87, 91, 95); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-style: italic; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(87, 91, 95) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;_label.rule_&lt;/span&gt;id}
&lt;span class=&quot;hljs-bullet&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); border: 0px none rgb(217, 48, 37); clear: none; clip: auto; color: #d93025; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(217, 48, 37) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;hljs-strong&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); border: 0px none rgb(87, 91, 95); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; font-weight: 700; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(87, 91, 95) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;**Source IP:**&lt;/span&gt; ${log.extracted&lt;span class=&quot;hljs-emphasis&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); border: 0px none rgb(87, 91, 95); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-style: italic; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(87, 91, 95) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;_label.source_&lt;/span&gt;ip}
&lt;span class=&quot;hljs-bullet&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); border: 0px none rgb(217, 48, 37); clear: none; clip: auto; color: #d93025; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(217, 48, 37) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;hljs-strong&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); border: 0px none rgb(87, 91, 95); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; font-weight: 700; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(87, 91, 95) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;**Request URL:**&lt;/span&gt; ${log.extracted&lt;span class=&quot;hljs-emphasis&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); border: 0px none rgb(87, 91, 95); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-style: italic; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(87, 91, 95) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;_label.request_&lt;/span&gt;url}
&lt;span class=&quot;hljs-bullet&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); border: 0px none rgb(217, 48, 37); clear: none; clip: auto; color: #d93025; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(217, 48, 37) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;hljs-strong&quot; style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); border: 0px none rgb(87, 91, 95); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; font-weight: 700; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(87, 91, 95) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;**Severity:**&lt;/span&gt; ${log.severity}

Please investigate the traffic from this IP address.
&lt;/code&gt;&lt;/pre&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;/code-block&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;/response-element&gt;&lt;ul style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding-inline-start: 32px; padding: 0px 0px 0px 27px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;li style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;p style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;b style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;Note on available variables:&lt;/b&gt; You can use both your custom extracted labels (&lt;code style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(233, 238, 246); border: 0px none rgb(87, 91, 95); clear: none; clip: auto; color: #575b5f; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-family: &amp;quot;Google Sans Text&amp;quot;, sans-serif !important; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(87, 91, 95) none 0px; overlay: none; padding: 1px 6px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;${log.extracted_label.YOUR_DISPLAY_NAME}&lt;/code&gt;) and standard log entry fields (&lt;code style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(233, 238, 246); border: 0px none rgb(87, 91, 95); clear: none; clip: auto; color: #575b5f; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-family: &amp;quot;Google Sans Text&amp;quot;, sans-serif !important; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(87, 91, 95) none 0px; overlay: none; padding: 1px 6px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;${log.severity}&lt;/code&gt;, &lt;code style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(233, 238, 246); border: 0px none rgb(87, 91, 95); clear: none; clip: auto; color: #575b5f; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-family: &amp;quot;Google Sans Text&amp;quot;, sans-serif !important; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(87, 91, 95) none 0px; overlay: none; padding: 1px 6px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;${log.resource.type}&lt;/code&gt;, etc.) in the documentation.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;p style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;b style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;Create Policy:&lt;/b&gt;&lt;/p&gt;&lt;ul style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding-inline-start: 32px; padding: 0px 0px 0px 27px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;li style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;p style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;Review all settings and click &lt;b style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;Create Policy&lt;/b&gt;.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;b style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;Key Considerations:&lt;/b&gt;&lt;/p&gt;&lt;ul style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding-inline-start: 32px; padding: 0px 0px 0px 27px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;li style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;p style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;b style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;RE2 Regular Expression Syntax:&lt;/b&gt; Cloud Logging uses RE2 syntax for regular expressions. Make sure your expressions are valid.&lt;/p&gt;&lt;/li&gt;&lt;li style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;p style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;b style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;Case Sensitivity:&lt;/b&gt; Field names in log entries are case-sensitive.&lt;/p&gt;&lt;/li&gt;&lt;li style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;p style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;b style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;Arrays:&lt;/b&gt; If a field is an array (like &lt;code style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(233, 238, 246); border: 0px none rgb(87, 91, 95); clear: none; clip: auto; color: #575b5f; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-family: &amp;quot;Google Sans Text&amp;quot;, sans-serif !important; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(87, 91, 95) none 0px; overlay: none; padding: 1px 6px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;preconfiguredExprIds&lt;/code&gt; often is), you might need to reference a specific element (e.g., &lt;code style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(233, 238, 246); border: 0px none rgb(87, 91, 95); clear: none; clip: auto; color: #575b5f; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-family: &amp;quot;Google Sans Text&amp;quot;, sans-serif !important; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(87, 91, 95) none 0px; overlay: none; padding: 1px 6px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;preconfiguredExprIds[0]&lt;/code&gt;) or use more advanced regex if you want to concatenate or process all elements. For a simple &lt;code style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(233, 238, 246); border: 0px none rgb(87, 91, 95); clear: none; clip: auto; color: #575b5f; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; font-family: &amp;quot;Google Sans Text&amp;quot;, sans-serif !important; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(87, 91, 95) none 0px; overlay: none; padding: 1px 6px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;body_denied_by_security_policy&lt;/code&gt; scenario, often the first element is sufficient.&lt;/p&gt;&lt;/li&gt;&lt;li style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;p style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;b style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;Testing:&lt;/b&gt; Always test your alerts thoroughly by generating matching log entries to ensure the labels are extracted correctly and the notifications arrive as expected with the correct information.&lt;/p&gt;&lt;/li&gt;&lt;li style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;p style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px 0px 0px 4px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;&lt;b style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; display: inline; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;Limits:&lt;/b&gt; There are limits on the number of extracted labels you can define per log-based alert.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style=&quot;animation: 0s ease 0s 1 normal none running none; appearance: none; background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto; border: 0px none rgb(27, 28, 29); clear: none; clip: auto; columns: auto; contain: none; container: none; content: normal; cursor: auto; cx: 0px; cy: 0px; d: none; direction: ltr; fill: rgb(0, 0, 0); filter: none; flex: 0 1 auto; float: none; gap: normal; hyphens: manual; inset: auto; interactivity: auto; isolation: auto; line-height: 1.15 !important; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; marker: none; mask: none; offset: normal; opacity: 1; order: 0; outline: rgb(27, 28, 29) none 0px; overlay: none; padding: 0px; page: auto; perspective: none; position: static; quotes: auto; r: 0px; resize: none; rotate: none; rx: auto; ry: auto; scale: none; speak: normal; stroke: none; transform: none; transition: all; translate: none; visibility: visible; x: 0px; y: 0px; zoom: 1;&quot;&gt;By following these steps, you can create highly informative Cloud Logging alerts that leverage extracted log labels to provide immediate context and aid in faster incident response.&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script async src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot;&gt;&lt;/script&gt;
&lt;!-- Leaderboard Manas footer --&gt;
&lt;ins class=&quot;adsbygoogle&quot;
     style=&quot;display:inline-block;width:728px;height:90px&quot;
     data-ad-client=&quot;ca-pub-8906930571041974&quot;
     data-ad-slot=&quot;8147594448&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
(adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;&lt;/div&gt;</description><link>http://www.devopszones.com/2025/07/how-to-use-extract-log-labels-in-gcp.html</link><author>noreply@blogger.com (Manas Ranjan Tripathy)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5873596342621039693.post-610394770092312984</guid><pubDate>Mon, 14 Jul 2025 07:28:00 +0000</pubDate><atom:updated>2025-07-14T00:28:00.120-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">cloud</category><category domain="http://www.blogger.com/atom/ns#">Devops</category><category domain="http://www.blogger.com/atom/ns#">GCP</category><category domain="http://www.blogger.com/atom/ns#">How-to</category><title>How to troubleshoot GCP Cloud Armor Errors</title><description>&lt;p&gt;Sometimes you may be experiencing intermittent blocking and passing of traffic with a preconfigured rule in&amp;nbsp; GCP Cloud Armor.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;code&gt;For example, evaluatePreconfiguredExpr(&#39;php-stable&#39;)&lt;/code&gt; rule in&amp;nbsp; where some requests get a 403 (Forbidden) while others pass. This is a common scenario when dealing with WAF rules, and there are several potential reasons for this behavior:&lt;/p&gt;&lt;p&gt;&lt;b&gt;1. False Positives:&lt;/b&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;b&gt;Legitimate PHP Code/Parameters:&lt;/b&gt; The &lt;code&gt;php-stable&lt;/code&gt; rule set contains numerous signatures designed to detect common PHP vulnerabilities. Sometimes, legitimate requests might contain patterns that coincidentally match these signatures, leading to a false positive block.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;b&gt;Dynamic Content:&lt;/b&gt; If your application generates dynamic content or accepts user input, the exact content of a request can vary. A slight change in a parameter value or a different combination of inputs might trigger a signature in one instance but not another.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;b&gt;Sensitivity Level:&lt;/b&gt; Cloud Armor preconfigured WAF rules can often be configured with different sensitivity levels (e.g., 1 to 4). A higher sensitivity level means more aggressive detection and a higher chance of false positives. If the rule is set to a high sensitivity, it might be too strict for your application&#39;s normal traffic.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;p&gt;&lt;b&gt;Logging and Debugging (Crucial Step!):&lt;/b&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;b&gt;Enable Verbose Logging:&lt;/b&gt; This is the most important step to diagnose the issue. Cloud Armor logs (available in Cloud Logging under &lt;code&gt;http_load_balancer&lt;/code&gt; resource type) can provide detailed information about &lt;i&gt;why&lt;/i&gt; a request was blocked, including the specific rule ID and the part of the request that triggered it.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;To enable verbose logging: &lt;code&gt;gcloud compute security-policies update [CLOUD_ARMOR_POLICY_NAME] --log-level=VERBOSE&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;b&gt;Analyze Logs:&lt;/b&gt; Look for log entries with &lt;code&gt;outcome: &quot;DENY&quot;&lt;/code&gt; and examine the &lt;code&gt;enforcedSecurityPolicy&lt;/code&gt; object. This object will show:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;configuredAction&lt;/code&gt;: The action taken (e.g., &quot;DENY&quot;).&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;name&lt;/code&gt;: The name of your Cloud Armor security policy.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;outcome&lt;/code&gt;: The final outcome.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code&gt;preconfiguredExprIds&lt;/code&gt; or &lt;code&gt;signature_id&lt;/code&gt;: This is critical. It will tell you the specific OWASP CRS rule ID that caused the block within the &lt;code&gt;php-stable&lt;/code&gt; set.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;b&gt;Preview Mode:&lt;/b&gt; Before applying any changes, use Cloud Armor&#39;s &quot;preview mode&quot; for your rules. This allows you to see what traffic &lt;i&gt;would&lt;/i&gt; be blocked without actually enforcing the block, helping you identify false positives.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;b&gt;Troubleshooting Steps:&lt;/b&gt;&lt;/p&gt;&lt;ol start=&quot;1&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;b&gt;Enable Verbose Logging for your Cloud Armor policy.&lt;/b&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;b&gt;Reproduce the issue:&lt;/b&gt; Make repeated requests that intermittently get blocked.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;b&gt;Go to Cloud Logging&lt;/b&gt; and filter for logs from your HTTP(S) Load Balancer (&lt;code&gt;resource.type=&quot;http_load_balancer&quot;&lt;/code&gt;) and look for entries where &lt;code&gt;statusDetails&lt;/code&gt; indicates &lt;code&gt;denied_by_security_policy&lt;/code&gt; or where &lt;code&gt;jsonPayload.enforcedSecurityPolicy.outcome&lt;/code&gt; is &quot;DENY&quot;.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;b&gt;Examine the logs carefully&lt;/b&gt; to identify the &lt;code&gt;preconfiguredExprIds&lt;/code&gt; (or signature ID) that are causing the blocks.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;b&gt;Identify the problematic rule(s):&lt;/b&gt; Once you have the specific rule ID(s) that are causing the false positives, you have a few options:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;b&gt;Exclude the specific rule ID(s):&lt;/b&gt; If a certain part of your legitimate traffic consistently triggers a specific signature, you can exclude that signature from the &lt;code&gt;php-stable&lt;/code&gt; rule set for your policy. This is generally preferred over disabling the entire &lt;code&gt;php-stable&lt;/code&gt; rule.&lt;/p&gt;&lt;response-element class=&quot;&quot; ng-version=&quot;0.0.0-PLACEHOLDER&quot;&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;code-block _nghost-ng-c4142113402=&quot;&quot; class=&quot;ng-tns-c4142113402-23 ng-star-inserted&quot;&gt;&lt;!----&gt;&lt;!----&gt;&lt;div _ngcontent-ng-c4142113402=&quot;&quot; class=&quot;code-block ng-tns-c4142113402-23 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation&quot; jslog=&quot;223238;track:impression;BardVeMetadataKey:[[&amp;quot;r_fd9d14b29dec3866&amp;quot;,&amp;quot;c_f97ba60ac12882b1&amp;quot;,null,&amp;quot;rc_c0a02aea727c3a5d&amp;quot;,null,null,&amp;quot;en&amp;quot;,null,1,null,null,1,0]]&quot;&gt;&lt;div _ngcontent-ng-c4142113402=&quot;&quot; class=&quot;code-block-decoration header-formatted gds-title-s ng-tns-c4142113402-23 ng-star-inserted&quot;&gt;&lt;br /&gt;&lt;div _ngcontent-ng-c4142113402=&quot;&quot; class=&quot;buttons ng-tns-c4142113402-23 ng-star-inserted&quot;&gt;&lt;button _ngcontent-ng-c4142113402=&quot;&quot; aria-label=&quot;Copy code&quot; class=&quot;mdc-icon-button mat-mdc-icon-button mat-mdc-button-base mat-mdc-tooltip-trigger copy-button ng-tns-c4142113402-23 mat-unthemed ng-star-inserted&quot; jslog=&quot;179062;track:generic_click,impression;BardVeMetadataKey:[[&amp;quot;r_fd9d14b29dec3866&amp;quot;,&amp;quot;c_f97ba60ac12882b1&amp;quot;,null,&amp;quot;rc_c0a02aea727c3a5d&amp;quot;,null,null,&amp;quot;en&amp;quot;,null,1,null,null,1,0]];mutable:true&quot; mat-icon-button=&quot;&quot; mat-ripple-loader-centered=&quot;&quot; mat-ripple-loader-class-name=&quot;mat-mdc-button-ripple&quot; mat-ripple-loader-uninitialized=&quot;&quot; mattooltip=&quot;Copy code&quot;&gt;&lt;span class=&quot;mat-mdc-button-persistent-ripple mdc-icon-button__ripple&quot;&gt;&lt;/span&gt;&lt;mat-icon _ngcontent-ng-c4142113402=&quot;&quot; aria-hidden=&quot;true&quot; class=&quot;mat-icon notranslate google-symbols mat-ligature-font mat-icon-no-color&quot; data-mat-icon-name=&quot;content_copy&quot; data-mat-icon-type=&quot;font&quot; fonticon=&quot;content_copy&quot; role=&quot;img&quot;&gt;&lt;/mat-icon&gt;&lt;span class=&quot;mat-focus-indicator&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mat-mdc-button-touch-target&quot;&gt;&lt;/span&gt;&lt;/button&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;/div&gt;&lt;!----&gt;&lt;/div&gt;&lt;!----&gt;&lt;div _ngcontent-ng-c4142113402=&quot;&quot; class=&quot;formatted-code-block-internal-container ng-tns-c4142113402-23&quot;&gt;&lt;div _ngcontent-ng-c4142113402=&quot;&quot; class=&quot;animated-opacity ng-tns-c4142113402-23&quot;&gt;&lt;pre _ngcontent-ng-c4142113402=&quot;&quot; class=&quot;ng-tns-c4142113402-23&quot;&gt;&lt;code _ngcontent-ng-c4142113402=&quot;&quot; class=&quot;code-container formatted ng-tns-c4142113402-23&quot; data-test-id=&quot;code-content&quot; role=&quot;text&quot;&gt;gcloud compute security-policies rules update [PRIORITY] \
    --security-policy [POLICY_NAME] \
    --expression &lt;span class=&quot;hljs-string&quot;&gt;&quot;evaluatePreconfiguredExpr(&#39;php-stable&#39;, [&#39;owasp-crs-v030001-idXXXXX-php&#39;])&quot;&lt;/span&gt; \
    --action &lt;span class=&quot;hljs-string&quot;&gt;&quot;deny-403&quot;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;/code-block&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;/response-element&gt;&lt;p&gt;(Replace &lt;code&gt;[PRIORITY]&lt;/code&gt;, &lt;code&gt;[POLICY_NAME]&lt;/code&gt;, and &lt;code&gt;idXXXXX-php&lt;/code&gt; with your actual values and the identified rule ID).&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;b&gt;Adjust Sensitivity (if applicable):&lt;/b&gt; If the rule allows it, you might consider lowering the sensitivity for the &lt;code&gt;php-stable&lt;/code&gt; rule. However, this should be done with caution as it might reduce overall protection.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;b&gt;Create Request Exclusions:&lt;/b&gt; If the false positive is tied to a specific URL path or a header, you can create an exclusion within the rule to prevent it from being evaluated for those specific conditions.&lt;/p&gt;&lt;response-element class=&quot;&quot; ng-version=&quot;0.0.0-PLACEHOLDER&quot;&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;code-block _nghost-ng-c4142113402=&quot;&quot; class=&quot;ng-tns-c4142113402-24 ng-star-inserted&quot;&gt;&lt;!----&gt;&lt;!----&gt;&lt;div _ngcontent-ng-c4142113402=&quot;&quot; class=&quot;code-block ng-tns-c4142113402-24 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation&quot; jslog=&quot;223238;track:impression;BardVeMetadataKey:[[&amp;quot;r_fd9d14b29dec3866&amp;quot;,&amp;quot;c_f97ba60ac12882b1&amp;quot;,null,&amp;quot;rc_c0a02aea727c3a5d&amp;quot;,null,null,&amp;quot;en&amp;quot;,null,1,null,null,1,0]]&quot;&gt;&lt;div _ngcontent-ng-c4142113402=&quot;&quot; class=&quot;code-block-decoration header-formatted gds-title-s ng-tns-c4142113402-24 ng-star-inserted&quot;&gt;&lt;br /&gt;&lt;div _ngcontent-ng-c4142113402=&quot;&quot; class=&quot;buttons ng-tns-c4142113402-24 ng-star-inserted&quot;&gt;&lt;button _ngcontent-ng-c4142113402=&quot;&quot; aria-label=&quot;Copy code&quot; class=&quot;mdc-icon-button mat-mdc-icon-button mat-mdc-button-base mat-mdc-tooltip-trigger copy-button ng-tns-c4142113402-24 mat-unthemed ng-star-inserted&quot; jslog=&quot;179062;track:generic_click,impression;BardVeMetadataKey:[[&amp;quot;r_fd9d14b29dec3866&amp;quot;,&amp;quot;c_f97ba60ac12882b1&amp;quot;,null,&amp;quot;rc_c0a02aea727c3a5d&amp;quot;,null,null,&amp;quot;en&amp;quot;,null,1,null,null,1,0]];mutable:true&quot; mat-icon-button=&quot;&quot; mat-ripple-loader-centered=&quot;&quot; mat-ripple-loader-class-name=&quot;mat-mdc-button-ripple&quot; mat-ripple-loader-uninitialized=&quot;&quot; mattooltip=&quot;Copy code&quot;&gt;&lt;span class=&quot;mat-mdc-button-persistent-ripple mdc-icon-button__ripple&quot;&gt;&lt;/span&gt;&lt;mat-icon _ngcontent-ng-c4142113402=&quot;&quot; aria-hidden=&quot;true&quot; class=&quot;mat-icon notranslate google-symbols mat-ligature-font mat-icon-no-color&quot; data-mat-icon-name=&quot;content_copy&quot; data-mat-icon-type=&quot;font&quot; fonticon=&quot;content_copy&quot; role=&quot;img&quot;&gt;&lt;/mat-icon&gt;&lt;span class=&quot;mat-focus-indicator&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mat-mdc-button-touch-target&quot;&gt;&lt;/span&gt;&lt;/button&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;/div&gt;&lt;!----&gt;&lt;/div&gt;&lt;!----&gt;&lt;div _ngcontent-ng-c4142113402=&quot;&quot; class=&quot;formatted-code-block-internal-container ng-tns-c4142113402-24&quot;&gt;&lt;div _ngcontent-ng-c4142113402=&quot;&quot; class=&quot;animated-opacity ng-tns-c4142113402-24&quot;&gt;&lt;pre _ngcontent-ng-c4142113402=&quot;&quot; class=&quot;ng-tns-c4142113402-24&quot;&gt;&lt;code _ngcontent-ng-c4142113402=&quot;&quot; class=&quot;code-container formatted ng-tns-c4142113402-24&quot; data-test-id=&quot;code-content&quot; role=&quot;text&quot;&gt;gcloud compute security-policies rules update [PRIORITY] \
    --security-policy [POLICY_NAME] \
    --expression &lt;span class=&quot;hljs-string&quot;&gt;&quot;evaluatePreconfiguredExpr(&#39;php-stable&#39;)&quot;&lt;/span&gt; \
    --action &lt;span class=&quot;hljs-string&quot;&gt;&quot;deny-403&quot;&lt;/span&gt; \
    --preconfigured-waf-config-exclusions=&lt;span class=&quot;hljs-string&quot;&gt;&quot;requestHeadersToExclude=[{op:EQUALS, value: &#39;User-Agent&#39;, targetRuleIds: [&#39;owasp-crs-v030001-id941180-xss&#39;]}]&quot;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;/code-block&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;/response-element&gt;&lt;p&gt;This example shows excluding a header, but you can also exclude request URIs, query parameters, or request fields.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;b&gt;Test in Preview Mode:&lt;/b&gt; Always test your exclusions or sensitivity changes in preview mode first to ensure they resolve the issue without opening up new vulnerabilities.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;b&gt;Review Rule Priority:&lt;/b&gt; Cloud Armor rules are evaluated in order of priority (lower number = higher priority). Ensure that any allow rules you might have are at a higher priority than your &lt;code&gt;deny&lt;/code&gt; rules to prevent unintended blocks.&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script async src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot;&gt;&lt;/script&gt;
&lt;!-- Leaderboard Manas footer --&gt;
&lt;ins class=&quot;adsbygoogle&quot;
     style=&quot;display:inline-block;width:728px;height:90px&quot;
     data-ad-client=&quot;ca-pub-8906930571041974&quot;
     data-ad-slot=&quot;8147594448&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
(adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;&lt;/div&gt;</description><link>http://www.devopszones.com/2025/07/how-to-troubleshoot-gcp-cloud-armor.html</link><author>noreply@blogger.com (Manas Ranjan Tripathy)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5873596342621039693.post-6720258932856611587</guid><pubDate>Fri, 11 Jul 2025 16:15:00 +0000</pubDate><atom:updated>2025-07-11T09:15:00.126-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">aiops</category><category domain="http://www.blogger.com/atom/ns#">cloud</category><category domain="http://www.blogger.com/atom/ns#">GenAI</category><title>What Metrics Will Be Used to Evaluate the AI Model?</title><description>&lt;h2 style=&quot;text-align: left;&quot;&gt;🤖 What Metrics Will Be Used to Evaluate the AI Model?&lt;/h2&gt;
&lt;p&gt;In the world of artificial intelligence and machine learning, building a model is just half the job — the other half is &lt;strong&gt;evaluating its performance&lt;/strong&gt;. Whether you&#39;re developing a chatbot, a recommendation engine, or a fraud detection system, using the &lt;strong&gt;right metrics&lt;/strong&gt; to assess your model is critical.&lt;/p&gt;
&lt;p&gt;But how do you choose the right metric? Let&#39;s explore!&lt;/p&gt;
&lt;hr /&gt;
&lt;h3&gt;🧠 Why Are Evaluation Metrics Important?&lt;/h3&gt;
&lt;p&gt;Evaluation metrics help answer questions like:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;How accurate is my model?&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Is it making fair and reliable predictions?&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Does it perform well on real-world data, not just training data?&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Can it generalize to unseen examples?&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These metrics ensure your model is not only smart but also &lt;strong&gt;robust, ethical, and production-ready&lt;/strong&gt;.&lt;/p&gt;
&lt;hr /&gt;
&lt;h3&gt;📊 Common Metrics Based on Problem Type&lt;/h3&gt;
&lt;h4&gt;1. &lt;strong&gt;Classification Models&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;Used when the output is a label or class (e.g., spam vs not spam).&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Metric&lt;/th&gt;
&lt;th&gt;What It Measures&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Accuracy&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;% of correct predictions&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Precision&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;How many predicted positives are actually positive&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Recall (Sensitivity)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;How many actual positives were captured&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;F1 Score&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Harmonic mean of Precision and Recall&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;ROC-AUC&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Trade-off between true positives and false positives&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Use case:&lt;/strong&gt; Email spam detection, image classification, sentiment analysis&lt;/p&gt;
&lt;hr /&gt;
&lt;h4&gt;2. &lt;strong&gt;Regression Models&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;Used when predicting a continuous value (e.g., housing prices).&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Metric&lt;/th&gt;
&lt;th&gt;What It Measures&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Mean Absolute Error (MAE)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Average of absolute errors&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Mean Squared Error (MSE)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Average of squared errors&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Root Mean Squared Error (RMSE)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Square root of MSE (same units as target)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;R-squared (R²)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;How well the model explains the variance&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Use case:&lt;/strong&gt; Forecasting sales, temperature prediction, price estimation&lt;/p&gt;
&lt;hr /&gt;
&lt;h4&gt;3. &lt;strong&gt;Clustering Models&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;Unsupervised learning models that group data (e.g., customer segmentation).&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Metric&lt;/th&gt;
&lt;th&gt;What It Measures&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Silhouette Score&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;How similar an object is to its own cluster vs others&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Davies-Bouldin Index&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Average similarity between clusters&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Inertia&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Within-cluster sum-of-squares (lower is better)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Use case:&lt;/strong&gt; Customer segmentation, document clustering, anomaly detection&lt;/p&gt;
&lt;hr /&gt;
&lt;h4&gt;4. &lt;strong&gt;Natural Language Processing (NLP) Models&lt;/strong&gt;&lt;/h4&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Metric&lt;/th&gt;
&lt;th&gt;What It Measures&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;BLEU / ROUGE&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Similarity to reference text (for translations/summaries)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Perplexity&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;How well a language model predicts sample text&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Accuracy / F1&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;For classification-based NLP like intent detection&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Use case:&lt;/strong&gt; Chatbots, summarization, translation&lt;/p&gt;
&lt;hr /&gt;
&lt;h4&gt;5. &lt;strong&gt;Computer Vision Models&lt;/strong&gt;&lt;/h4&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Metric&lt;/th&gt;
&lt;th&gt;What It Measures&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;IoU (Intersection over Union)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Accuracy of object detection boxes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;mAP (mean Average Precision)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Precision/Recall across classes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Top-k Accuracy&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Whether correct class is in top k predictions&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Use case:&lt;/strong&gt; Image classification, object detection, facial recognition&lt;/p&gt;
&lt;hr /&gt;
&lt;h3&gt;✅ Choosing the Right Metric&lt;/h3&gt;
&lt;p&gt;Pick the metric that matches your goal:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Business-focused?&lt;/strong&gt; Use metrics that impact KPIs (e.g., F1 score in fraud detection).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Imbalanced data?&lt;/strong&gt; Don’t rely on accuracy — use Precision/Recall or AUC.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Customer-facing models?&lt;/strong&gt; Ensure fairness and explainability, not just performance.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h3&gt;🚀 Bonus: Production-Level Metrics&lt;/h3&gt;
&lt;p&gt;Once deployed, monitor &lt;strong&gt;live performance&lt;/strong&gt; using:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Latency&lt;/strong&gt; – Time to make a prediction&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Throughput&lt;/strong&gt; – Number of predictions per second&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Drift detection&lt;/strong&gt; – Detect changes in input or output data distribution&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Model confidence&lt;/strong&gt; – Are predictions becoming uncertain over time?&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h3&gt;🎯 Final Thoughts&lt;/h3&gt;
&lt;p&gt;Metrics are the compass for your AI journey. The right ones guide you toward success, while the wrong ones can lead you astray. Always evaluate your models in context, test for edge cases, and keep monitoring them post-deployment.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;A good model isn’t just accurate — it’s trusted, explainable, and built for the real world.&lt;/strong&gt;&lt;/p&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script async src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot;&gt;&lt;/script&gt;
&lt;!-- Leaderboard Manas footer --&gt;
&lt;ins class=&quot;adsbygoogle&quot;
     style=&quot;display:inline-block;width:728px;height:90px&quot;
     data-ad-client=&quot;ca-pub-8906930571041974&quot;
     data-ad-slot=&quot;8147594448&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
(adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;&lt;/div&gt;</description><link>http://www.devopszones.com/2025/07/what-metrics-will-be-used-to-evaluate.html</link><author>noreply@blogger.com (Manas Ranjan Tripathy)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5873596342621039693.post-7809605008780592830</guid><pubDate>Thu, 10 Jul 2025 15:53:00 +0000</pubDate><atom:updated>2025-07-10T08:53:00.120-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">How-to</category><title>Keep Laptop Active (Mouse Jiggler) </title><description>&lt;p&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;&amp;nbsp;To simulate activity on your laptop even when your mouse/keyboard is idle, you can use a &lt;strong&gt;Python script&lt;/strong&gt; that &lt;strong&gt;moves the mouse cursor slightly at intervals&lt;/strong&gt;—this tricks your operating system into thinking you&#39;re still active.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;Here&#39;s a simple cross-platform solution using Python and the &lt;code inline=&quot;&quot;&gt;pyautogui&lt;/code&gt; library.&lt;/span&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h3&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;✅ Python Script: Keep Laptop Active (Mouse Jiggler)&lt;/span&gt;&lt;/h3&gt;
&lt;h4&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;📦 Prerequisites (install once):&lt;/span&gt;&lt;/h4&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;pip install pyautogui
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;🧠 Python Code:&lt;/span&gt;&lt;/h4&gt;
&lt;pre&gt;&lt;code class=&quot;language-python&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;import pyautogui
import time

print(&quot;Simulating activity. Press Ctrl+C to stop.&quot;)

try:
    while True:
        pyautogui.move(1, 0, duration=0.1)  # Move 1 pixel to the right
        pyautogui.move(-1, 0, duration=0.1) # Move back
        time.sleep(30)  # Repeat every 30 seconds
except KeyboardInterrupt:
    print(&quot;\nStopped simulation.&quot;)
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;h3&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;💡 Notes:&lt;/span&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;You can change the &lt;code inline=&quot;&quot;&gt;time.sleep(30)&lt;/code&gt; value to adjust the interval.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;Movements are minimal (±1 pixel) and usually invisible to the user.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;This works on Windows, macOS, and Linux.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h3&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;❗ Alternatives:&lt;/span&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;&lt;strong&gt;Windows:&lt;/strong&gt; Use tools like &lt;a href=&quot;https://github.com/arkane-systems/mousejiggler&quot;&gt;Mouse Jiggler&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;&lt;strong&gt;macOS:&lt;/strong&gt; Use &lt;code inline=&quot;&quot;&gt;caffeinate&lt;/code&gt; command to prevent sleep:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;caffeinate -d -i -m -s
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;&lt;strong&gt;Linux:&lt;/strong&gt; Use &lt;code inline=&quot;&quot;&gt;xdotool&lt;/code&gt; to simulate input (needs GUI/X11).&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script async src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot;&gt;&lt;/script&gt;
&lt;!-- Leaderboard Manas footer --&gt;
&lt;ins class=&quot;adsbygoogle&quot;
     style=&quot;display:inline-block;width:728px;height:90px&quot;
     data-ad-client=&quot;ca-pub-8906930571041974&quot;
     data-ad-slot=&quot;8147594448&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
(adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;&lt;/div&gt;</description><link>http://www.devopszones.com/2025/07/keep-laptop-active-mouse-jiggler.html</link><author>noreply@blogger.com (Manas Ranjan Tripathy)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5873596342621039693.post-1708005374364931479</guid><pubDate>Tue, 08 Jul 2025 15:53:00 +0000</pubDate><atom:updated>2025-07-08T08:53:03.342-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">aiops</category><category domain="http://www.blogger.com/atom/ns#">cloud</category><category domain="http://www.blogger.com/atom/ns#">Devops</category><category domain="http://www.blogger.com/atom/ns#">mlops</category><title>Implementing AIOps and MLOps in Cloud Operations</title><description>&lt;p&gt;🚀 &lt;strong&gt;Implementing AIOps and MLOps in Cloud Operations&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Cloud-native environments have transformed how businesses build and operate digital systems. However, with scale comes complexity. That’s where &lt;strong&gt;AIOps&lt;/strong&gt; (Artificial Intelligence for IT Operations) and &lt;strong&gt;MLOps&lt;/strong&gt; (Machine Learning Operations) come in — two practices that are changing the way modern DevOps and IT teams operate in the cloud.&lt;/p&gt;
&lt;hr /&gt;
&lt;h3&gt;🔍 Why Do You Need AIOps &amp;amp; MLOps?&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;AIOps&lt;/strong&gt; applies artificial intelligence and machine learning to automate and enhance IT operations.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;MLOps&lt;/strong&gt; ensures that machine learning models are reliably developed, deployed, monitored, and retrained in production.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Together, they bridge &lt;strong&gt;data science&lt;/strong&gt; and &lt;strong&gt;IT operations&lt;/strong&gt;, offering smarter, more scalable ways to manage cloud environments.&lt;/p&gt;
&lt;hr /&gt;
&lt;h3&gt;🧠 &lt;strong&gt;AIOps in Action&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Here’s how you can implement AIOps in your cloud operations workflow:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Step&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;1. Data Collection&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Collect telemetry from logs, metrics, and events using CloudWatch, Azure Monitor, or Prometheus.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;2. Correlation &amp;amp; Filtering&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Use ML models to correlate alerts, reduce noise, and highlight only meaningful events.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;3. Anomaly Detection&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Detect deviations in CPU, memory, latency, and traffic patterns before issues impact users.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;4. Predictive Insights&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Anticipate outages or failures and proactively notify engineers or scale systems.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;5. Automated Remediation&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Use Lambda, AWS SSM, or Ansible to auto-restart services or scale resources.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Popular AIOps platforms: &lt;strong&gt;Dynatrace, Moogsoft, BigPanda, AWS DevOps Guru&lt;/strong&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h3&gt;🤖 &lt;strong&gt;Implementing MLOps in the Cloud&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;MLOps standardizes and automates the entire ML lifecycle:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Step&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;1. Model Development&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Use tools like SageMaker, Azure ML, or Vertex AI to train models.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;2. Version Control&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Manage data and model versions using Git, MLflow, or DVC.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;3. CI/CD Pipelines&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Automate training, testing, and deployment using Jenkins, GitHub Actions, or Kubeflow.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;4. Model Deployment&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Host models as APIs using containers or serverless endpoints.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;5. Monitoring&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Track accuracy, drift, latency, and failure rates using Prometheus + Grafana or built-in dashboards.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;6. Continuous Training&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Retrain models automatically when data or accuracy shifts.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr /&gt;
&lt;h3&gt;🔧 Sample Architecture&lt;/h3&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Here&#39;s how MLOps and AIOps can be woven into cloud infrastructure:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Cloud Logs &amp;amp; Metrics --&amp;gt; AIOps Engine --&amp;gt; Correlation &amp;amp; Alerting --&amp;gt; Auto Remediation
                    \
                     --&amp;gt; ML Pipelines --&amp;gt; Model Deployment --&amp;gt; Monitoring &amp;amp; Drift Detection
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEid6ITtl5KbvPCKKqcMFyni9m1ijorCtHyb6d91VpTVt1eM2roPr5PfAKxyuztURglVle3OYnbQbp1o_8f9mJa1OJYY80TJkKy95KT5I5h20gWLWPpcqdllXpi_RpZNpV9h9BLoje2jEMS4Tk4l64lhcY_iNtMAwTuzXoOC1QlkaF1tKlSPsWUyd_7Bk-4&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;MLops and AIops in Action&quot; data-original-height=&quot;482&quot; data-original-width=&quot;605&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEid6ITtl5KbvPCKKqcMFyni9m1ijorCtHyb6d91VpTVt1eM2roPr5PfAKxyuztURglVle3OYnbQbp1o_8f9mJa1OJYY80TJkKy95KT5I5h20gWLWPpcqdllXpi_RpZNpV9h9BLoje2jEMS4Tk4l64lhcY_iNtMAwTuzXoOC1QlkaF1tKlSPsWUyd_7Bk-4=s16000&quot; title=&quot;MLops and AIops in Action&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/h3&gt;&lt;h3&gt;🔄 AIOps + MLOps = Smart Operations&lt;/h3&gt;
&lt;p&gt;Together, these approaches allow your cloud operations to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Resolve issues faster through automation&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Make data-driven decisions using predictive analytics&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Ensure high availability and performance of ML systems&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Eliminate manual toil and focus on innovation&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h3&gt;✅ Getting Started&lt;/h3&gt;
&lt;p&gt;Here are some tools to kick-start your journey:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tool&lt;/th&gt;
&lt;th&gt;Use Case&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS DevOps Guru&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;AIOps insights and anomaly detection&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;SageMaker Pipelines&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;End-to-end ML workflows&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Prometheus + Grafana&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Monitoring and alerting&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Kubeflow&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Scalable MLOps on Kubernetes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Moogsoft / BigPanda&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Event correlation and incident management&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr /&gt;
&lt;h3&gt;💬 Final Thoughts&lt;/h3&gt;
&lt;p&gt;As organizations grow in data and complexity, &lt;strong&gt;AIOps and MLOps&lt;/strong&gt; are no longer optional — they are essential. They help teams move from reactive to &lt;strong&gt;proactive and predictive operations&lt;/strong&gt;, ensuring system reliability and optimal business outcomes.&lt;/p&gt;
&lt;p&gt;By embracing these practices, you’re not just modernizing your operations — you&#39;re preparing your organization for the AI-powered future.&lt;/p&gt;
&lt;br /&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script async src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot;&gt;&lt;/script&gt;
&lt;!-- Leaderboard Manas footer --&gt;
&lt;ins class=&quot;adsbygoogle&quot;
     style=&quot;display:inline-block;width:728px;height:90px&quot;
     data-ad-client=&quot;ca-pub-8906930571041974&quot;
     data-ad-slot=&quot;8147594448&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
(adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;&lt;/div&gt;</description><link>http://www.devopszones.com/2025/07/implementing-aiops-and-mlops-in-cloud.html</link><author>noreply@blogger.com (Manas Ranjan Tripathy)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEid6ITtl5KbvPCKKqcMFyni9m1ijorCtHyb6d91VpTVt1eM2roPr5PfAKxyuztURglVle3OYnbQbp1o_8f9mJa1OJYY80TJkKy95KT5I5h20gWLWPpcqdllXpi_RpZNpV9h9BLoje2jEMS4Tk4l64lhcY_iNtMAwTuzXoOC1QlkaF1tKlSPsWUyd_7Bk-4=s72-c" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5873596342621039693.post-4933148730093862827</guid><pubDate>Tue, 17 Jun 2025 13:38:00 +0000</pubDate><atom:updated>2025-06-17T06:38:35.114-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">MacOS</category><title>Why Files on macOS Network Shares May Be Hidden — and How to Fix It</title><description>&lt;h2&gt;Why Files on macOS Network Shares May Be Hidden — and How to Fix It&lt;/h2&gt;

&lt;p&gt;If you&#39;re working with &lt;strong&gt;network shares&lt;/strong&gt; on macOS (such as SMB, NFS, or AFP) and notice that files appear to be missing or hidden, don’t panic — this is a common scenario with a few easy fixes.&lt;/p&gt;

&lt;h3&gt;1️⃣ Files Starting with a Dot (.)&lt;/h3&gt;
&lt;p&gt;Files like &lt;code&gt;.env&lt;/code&gt; or &lt;code&gt;.DS_Store&lt;/code&gt; are considered hidden by default on macOS.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;To show them in Finder:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Press &lt;code&gt;Command ⌘ + Shift + .&lt;/code&gt; (period)&lt;/li&gt;
  &lt;li&gt;This toggles hidden files on or off&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;2️⃣ Hidden Flag Set on File&lt;/h3&gt;
&lt;p&gt;macOS allows marking any file as hidden, regardless of its name.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;To check and remove the hidden flag:&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;ls -lO /Volumes/YourShare
chflags nohidden /Volumes/YourShare/filename.txt&lt;/code&gt;&lt;/pre&gt;

&lt;h3&gt;3️⃣ Temporary or Lock Files Created by Applications&lt;/h3&gt;
&lt;p&gt;Apps like Microsoft Word or LibreOffice often create hidden lock or temp files:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;code&gt;.~lock.filename.docx#&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;filename.txt~&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These files are usually deleted automatically or can be safely removed after the app is closed.&lt;/p&gt;

&lt;h3&gt;4️⃣ Permissions Prevent File Visibility&lt;/h3&gt;
&lt;p&gt;Even if a file exists, you might not have the right permissions to view it.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;ls -la /Volumes/YourShare&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;If you see no permissions (e.g., &lt;code&gt;----------&lt;/code&gt;), fix it if you have admin rights:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sudo chmod u+r /Volumes/YourShare/filename.txt&lt;/code&gt;&lt;/pre&gt;

&lt;h3&gt;5️⃣ Finder or Network Share Caching&lt;/h3&gt;
&lt;p&gt;Finder and network clients sometimes cache file listings, leading to “missing” files.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Fix:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Unmount and remount the drive&lt;/li&gt;
  &lt;li&gt;Use Terminal: &lt;code&gt;ls -la&lt;/code&gt; to check for hidden files&lt;/li&gt;
  &lt;li&gt;Try restarting your Mac if the issue persists&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;6️⃣ Application Filters&lt;/h3&gt;
&lt;p&gt;Some file dialogs filter file types. Files may be hidden unless matched by extension.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Workaround:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Use “Go to Folder…” in Finder (&lt;code&gt;Cmd + Shift + G&lt;/code&gt;)&lt;/li&gt;
  &lt;li&gt;Enter the full path manually&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;🧪 Example Debug Workflow&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;cd /Volumes/ShareName
ls -la
chflags nohidden config.env
open .
&lt;/code&gt;&lt;/pre&gt;

&lt;h3&gt;✅ Summary&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Use ⌘+Shift+.&lt;/strong&gt; to reveal dotfiles&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Check file flags&lt;/strong&gt; using &lt;code&gt;chflags&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Correct permissions&lt;/strong&gt; with &lt;code&gt;chmod&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Unmount/remount&lt;/strong&gt; network shares if needed&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;By understanding these behaviors, you can avoid confusion and ensure you have full access to files across your macOS network environments.&lt;/p&gt;

&lt;hr /&gt;
&lt;p&gt;&lt;em&gt;Have questions or tips to share? Drop them in the comments below!&lt;/em&gt;&lt;/p&gt;
&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script async src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot;&gt;&lt;/script&gt;
&lt;!-- Leaderboard Manas footer --&gt;
&lt;ins class=&quot;adsbygoogle&quot;
     style=&quot;display:inline-block;width:728px;height:90px&quot;
     data-ad-client=&quot;ca-pub-8906930571041974&quot;
     data-ad-slot=&quot;8147594448&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
(adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;&lt;/div&gt;</description><link>http://www.devopszones.com/2025/06/why-files-on-macos-network-shares-may.html</link><author>noreply@blogger.com (Manas Ranjan Tripathy)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5873596342621039693.post-4433178085194539591</guid><pubDate>Mon, 16 Jun 2025 06:31:00 +0000</pubDate><atom:updated>2025-06-15T23:31:05.355-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Devops</category><category domain="http://www.blogger.com/atom/ns#">mariaDB</category><category domain="http://www.blogger.com/atom/ns#">MySQL</category><title>MySQL: You do not have the SUPER privilege and binary logging is enabled</title><description>&lt;p data-end=&quot;10&quot; data-start=&quot;0&quot;&gt;The error:&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;106&quot; data-start=&quot;12&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;overflow-y-auto p-4&quot; dir=&quot;ltr&quot;&gt;&lt;code class=&quot;whitespace-pre!&quot;&gt;query failed: [&lt;span class=&quot;hljs-number&quot;&gt;1419&lt;/span&gt;] You &lt;span class=&quot;hljs-keyword&quot;&gt;do&lt;/span&gt; &lt;span class=&quot;hljs-built_in&quot;&gt;not&lt;/span&gt; have the SUPER privilege &lt;span class=&quot;hljs-built_in&quot;&gt;and&lt;/span&gt; &lt;span class=&quot;hljs-keyword&quot;&gt;binary&lt;/span&gt; logging &lt;span class=&quot;hljs-built_in&quot;&gt;is&lt;/span&gt; enabled
&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end=&quot;251&quot; data-start=&quot;108&quot;&gt;occurs in &lt;strong data-end=&quot;135&quot; data-start=&quot;118&quot;&gt;MySQL/MariaDB&lt;/strong&gt; when executing a query that uses functions like &lt;code data-end=&quot;201&quot; data-start=&quot;184&quot;&gt;CREATE FUNCTION&lt;/code&gt; without required privileges under binary logging.&lt;/p&gt;
&lt;hr data-end=&quot;256&quot; data-start=&quot;253&quot; /&gt;
&lt;h2 data-end=&quot;279&quot; data-start=&quot;258&quot;&gt;❓ Why This Happens&lt;/h2&gt;
&lt;p data-end=&quot;351&quot; data-start=&quot;281&quot;&gt;When &lt;strong data-end=&quot;304&quot; data-start=&quot;286&quot;&gt;binary logging&lt;/strong&gt; (&lt;code data-end=&quot;315&quot; data-start=&quot;306&quot;&gt;log_bin&lt;/code&gt;) is enabled, MySQL requires either:&lt;/p&gt;
&lt;ul data-end=&quot;509&quot; data-start=&quot;353&quot;&gt;
&lt;li data-end=&quot;391&quot; data-start=&quot;353&quot;&gt;
&lt;p data-end=&quot;391&quot; data-start=&quot;355&quot;&gt;&lt;code data-end=&quot;362&quot; data-start=&quot;355&quot;&gt;SUPER&lt;/code&gt; privilege (deprecated), or&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;509&quot; data-start=&quot;392&quot;&gt;
&lt;p data-end=&quot;509&quot; data-start=&quot;394&quot;&gt;&lt;code data-end=&quot;427&quot; data-start=&quot;394&quot;&gt;SET @func_is_deterministic = 1;&lt;/code&gt; or other specific flags&lt;br data-end=&quot;454&quot; data-start=&quot;451&quot; /&gt;
to &lt;strong data-end=&quot;484&quot; data-start=&quot;457&quot;&gt;create stored functions&lt;/strong&gt;, for replication safety.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;615&quot; data-start=&quot;511&quot;&gt;Zabbix uses &lt;code data-end=&quot;540&quot; data-start=&quot;523&quot;&gt;CREATE FUNCTION&lt;/code&gt; for some database items during upgrade — and fails without this privilege.&lt;/p&gt;
&lt;hr data-end=&quot;620&quot; data-start=&quot;617&quot; /&gt;
&lt;h2 data-end=&quot;636&quot; data-start=&quot;622&quot;&gt;✅ Solutions&lt;/h2&gt;
&lt;h3 data-end=&quot;720&quot; data-start=&quot;638&quot;&gt;🔧 Option 1: Temporarily Disable Binary Logging (Recommended for Upgrade Only)&lt;/h3&gt;
&lt;p data-end=&quot;768&quot; data-start=&quot;722&quot;&gt;Edit &lt;code data-end=&quot;735&quot; data-start=&quot;727&quot;&gt;my.cnf&lt;/code&gt; or &lt;code data-end=&quot;747&quot; data-start=&quot;739&quot;&gt;my.ini&lt;/code&gt; (MySQL config file):&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;801&quot; data-start=&quot;770&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;overflow-y-auto p-4&quot; dir=&quot;ltr&quot;&gt;&lt;code class=&quot;whitespace-pre! language-ini&quot;&gt;&lt;span class=&quot;hljs-section&quot;&gt;[mysqld]&lt;/span&gt;
&lt;span class=&quot;hljs-attr&quot;&gt;log_bin&lt;/span&gt; = &lt;span class=&quot;hljs-number&quot;&gt;0&lt;/span&gt;
&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end=&quot;822&quot; data-start=&quot;803&quot;&gt;Then restart MySQL:&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;863&quot; data-start=&quot;823&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;overflow-y-auto p-4&quot; dir=&quot;ltr&quot;&gt;&lt;code class=&quot;whitespace-pre! language-bash&quot;&gt;sudo systemctl restart mysql
&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end=&quot;935&quot; data-start=&quot;865&quot;&gt;✅ Now run the Zabbix upgrade, then re-enable binary logging afterward.&lt;/p&gt;
&lt;hr data-end=&quot;940&quot; data-start=&quot;937&quot; /&gt;
&lt;h3 data-end=&quot;1020&quot; data-start=&quot;942&quot;&gt;🔐 Option 2: Create Functions With Proper SQL_MODE and Set Characteristics&lt;/h3&gt;
&lt;p data-end=&quot;1072&quot; data-start=&quot;1022&quot;&gt;If disabling binary logging is not an option, run:&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;1131&quot; data-start=&quot;1073&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;overflow-y-auto p-4&quot; dir=&quot;ltr&quot;&gt;&lt;code class=&quot;whitespace-pre! language-sql&quot;&gt;&lt;span class=&quot;hljs-keyword&quot;&gt;SET&lt;/span&gt; &lt;span class=&quot;hljs-keyword&quot;&gt;GLOBAL&lt;/span&gt; log_bin_trust_function_creators &lt;span class=&quot;hljs-operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;hljs-number&quot;&gt;1&lt;/span&gt;;
&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end=&quot;1160&quot; data-start=&quot;1133&quot;&gt;Then run the upgrade again.&lt;/p&gt;
&lt;p data-end=&quot;1287&quot; data-start=&quot;1162&quot;&gt;This allows creation of stored functions without needing &lt;code data-end=&quot;1226&quot; data-start=&quot;1219&quot;&gt;SUPER&lt;/code&gt; if you trust your application (like Zabbix) to do it safely.&lt;/p&gt;
&lt;blockquote data-end=&quot;1375&quot; data-start=&quot;1289&quot;&gt;
&lt;p data-end=&quot;1375&quot; data-start=&quot;1291&quot;&gt;⚠️ Note: You need &lt;code data-end=&quot;1316&quot; data-start=&quot;1309&quot;&gt;SUPER&lt;/code&gt; or &lt;code data-end=&quot;1344&quot; data-start=&quot;1320&quot;&gt;SYSTEM_VARIABLES_ADMIN&lt;/code&gt; privilege to run that command.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-end=&quot;1400&quot; data-start=&quot;1377&quot;&gt;To make this permanent:&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;1456&quot; data-start=&quot;1401&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;overflow-y-auto p-4&quot; dir=&quot;ltr&quot;&gt;&lt;code class=&quot;whitespace-pre! language-ini&quot;&gt;&lt;span class=&quot;hljs-section&quot;&gt;[mysqld]&lt;/span&gt;
&lt;span class=&quot;hljs-attr&quot;&gt;log_bin_trust_function_creators&lt;/span&gt; = &lt;span class=&quot;hljs-number&quot;&gt;1&lt;/span&gt;
&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end=&quot;1476&quot; data-start=&quot;1457&quot;&gt;Then restart MySQL.&lt;/p&gt;
&lt;hr data-end=&quot;1481&quot; data-start=&quot;1478&quot; /&gt;
&lt;h3 data-end=&quot;1506&quot; data-start=&quot;1483&quot;&gt;🧠 Why This Matters&lt;/h3&gt;
&lt;p data-end=&quot;1684&quot; data-start=&quot;1508&quot;&gt;The &lt;code data-end=&quot;1519&quot; data-start=&quot;1512&quot;&gt;SUPER&lt;/code&gt; privilege was deprecated for security. Zabbix expects to run &lt;code data-end=&quot;1598&quot; data-start=&quot;1581&quot;&gt;CREATE FUNCTION&lt;/code&gt;, so binary logging policies block this unless the server trusts the function creator.&lt;/p&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script async src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot;&gt;&lt;/script&gt;
&lt;!-- Leaderboard Manas footer --&gt;
&lt;ins class=&quot;adsbygoogle&quot;
     style=&quot;display:inline-block;width:728px;height:90px&quot;
     data-ad-client=&quot;ca-pub-8906930571041974&quot;
     data-ad-slot=&quot;8147594448&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
(adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;&lt;/div&gt;</description><link>http://www.devopszones.com/2025/06/mysql-you-do-not-have-super-privilege.html</link><author>noreply@blogger.com (Manas Ranjan Tripathy)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5873596342621039693.post-3435512224183893509</guid><pubDate>Sun, 15 Jun 2025 02:30:00 +0000</pubDate><atom:updated>2025-06-14T19:30:00.120-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Devops</category><category domain="http://www.blogger.com/atom/ns#">Monitoring</category><category domain="http://www.blogger.com/atom/ns#">SRE</category><title>Monitoring vs Observability</title><description>&lt;h2&gt;Monitoring vs Observability&lt;/h2&gt;

&lt;p&gt;Understanding the difference between &lt;strong&gt;Monitoring&lt;/strong&gt; and &lt;strong&gt;Observability&lt;/strong&gt; is crucial in modern DevOps and Site Reliability Engineering (SRE) practices.&lt;/p&gt;

&lt;table border=&quot;1&quot; cellpadding=&quot;10&quot; cellspacing=&quot;0&quot; style=&quot;border-collapse: collapse; width: 100%;&quot;&gt;
  &lt;thead style=&quot;background-color: #f2f2f2;&quot;&gt;
    &lt;tr&gt;
      &lt;th&gt;Aspect&lt;/th&gt;
      &lt;th&gt;Monitoring&lt;/th&gt;
      &lt;th&gt;Observability&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;strong&gt;Definition&lt;/strong&gt;&lt;/td&gt;
      &lt;td&gt;Collecting and visualizing predefined metrics&lt;/td&gt;
      &lt;td&gt;Understanding internal system state from external outputs&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;strong&gt;Focus&lt;/strong&gt;&lt;/td&gt;
      &lt;td&gt;Known issues&lt;/td&gt;
      &lt;td&gt;Unknown unknowns&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;strong&gt;Data Sources&lt;/strong&gt;&lt;/td&gt;
      &lt;td&gt;Metrics, logs, alerts&lt;/td&gt;
      &lt;td&gt;Metrics, logs, traces, events&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;strong&gt;Questions Answered&lt;/strong&gt;&lt;/td&gt;
      &lt;td&gt;&quot;Is the system working?&quot;&lt;/td&gt;
      &lt;td&gt;&quot;Why is the system behaving this way?&quot;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;strong&gt;Approach&lt;/strong&gt;&lt;/td&gt;
      &lt;td&gt;Reactive (alerts on failures)&lt;/td&gt;
      &lt;td&gt;Proactive + diagnostic&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;strong&gt;Use Case&lt;/strong&gt;&lt;/td&gt;
      &lt;td&gt;Detect outages, track resource usage&lt;/td&gt;
      &lt;td&gt;Debug complex, distributed systems&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;strong&gt;Tools&lt;/strong&gt;&lt;/td&gt;
      &lt;td&gt;Zabbix, Nagios, CloudWatch&lt;/td&gt;
      &lt;td&gt;Prometheus, Grafana, Jaeger, OpenTelemetry, ELK stack&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;strong&gt;Depth&lt;/strong&gt;&lt;/td&gt;
      &lt;td&gt;Surface-level system health&lt;/td&gt;
      &lt;td&gt;Deep insight into system behavior and relationships&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;h3&gt;🔍 Summary&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Monitoring&lt;/strong&gt; tells you &lt;em&gt;what&lt;/em&gt; is broken.&lt;br&gt;
&lt;strong&gt;Observability&lt;/strong&gt; helps you understand &lt;em&gt;why&lt;/em&gt; it’s broken.&lt;/p&gt;

&lt;p style=&quot;font-style: italic; color: #555;&quot;&gt;Developing observability builds on your monitoring foundation — but gives you superpowers to debug, optimize, and evolve modern systems.&lt;/p&gt;
&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script async src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot;&gt;&lt;/script&gt;
&lt;!-- Leaderboard Manas footer --&gt;
&lt;ins class=&quot;adsbygoogle&quot;
     style=&quot;display:inline-block;width:728px;height:90px&quot;
     data-ad-client=&quot;ca-pub-8906930571041974&quot;
     data-ad-slot=&quot;8147594448&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
(adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;&lt;/div&gt;</description><link>http://www.devopszones.com/2025/06/monitoring-vs-observability.html</link><author>noreply@blogger.com (Manas Ranjan Tripathy)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5873596342621039693.post-8527133198328257094</guid><pubDate>Sat, 14 Jun 2025 13:00:00 +0000</pubDate><atom:updated>2025-06-14T06:00:33.360-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">MacOS</category><category domain="http://www.blogger.com/atom/ns#">Windows</category><title>Step-by-Step Guide: Access Windows Share from Mac</title><description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;h3 data-end=&quot;254&quot; data-start=&quot;204&quot;&gt;🖥️ 1. &lt;strong data-end=&quot;254&quot; data-start=&quot;215&quot;&gt;Ensure Windows is Ready for Sharing&lt;/strong&gt;&lt;/h3&gt;
&lt;h4 data-end=&quot;282&quot; data-start=&quot;256&quot;&gt;🔧 On the Windows PC:&lt;/h4&gt;
&lt;ol data-end=&quot;946&quot; data-start=&quot;283&quot;&gt;
&lt;li data-end=&quot;545&quot; data-start=&quot;283&quot;&gt;
&lt;p data-end=&quot;310&quot; data-start=&quot;286&quot;&gt;&lt;strong data-end=&quot;310&quot; data-start=&quot;286&quot;&gt;Enable File Sharing:&lt;/strong&gt;&lt;/p&gt;
&lt;ul data-end=&quot;545&quot; data-start=&quot;314&quot;&gt;
&lt;li data-end=&quot;396&quot; data-start=&quot;314&quot;&gt;
&lt;p data-end=&quot;396&quot; data-start=&quot;316&quot;&gt;Go to &lt;strong data-end=&quot;396&quot; data-start=&quot;322&quot;&gt;Control Panel &amp;gt; Network and Sharing Center &amp;gt; Advanced sharing settings&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;545&quot; data-start=&quot;400&quot;&gt;
&lt;p data-end=&quot;409&quot; data-start=&quot;402&quot;&gt;Enable:&lt;/p&gt;
&lt;ul data-end=&quot;545&quot; data-start=&quot;415&quot;&gt;
&lt;li data-end=&quot;449&quot; data-start=&quot;415&quot;&gt;
&lt;p data-end=&quot;449&quot; data-start=&quot;417&quot;&gt;✔️ &lt;strong data-end=&quot;449&quot; data-start=&quot;420&quot;&gt;Turn on network discovery&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;496&quot; data-start=&quot;455&quot;&gt;
&lt;p data-end=&quot;496&quot; data-start=&quot;457&quot;&gt;✔️ &lt;strong data-end=&quot;496&quot; data-start=&quot;460&quot;&gt;Turn on file and printer sharing&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;545&quot; data-start=&quot;502&quot;&gt;
&lt;p data-end=&quot;545&quot; data-start=&quot;504&quot;&gt;✔️ &lt;strong data-end=&quot;545&quot; data-start=&quot;507&quot;&gt;Turn on password protected sharing&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-end=&quot;790&quot; data-start=&quot;547&quot;&gt;
&lt;p data-end=&quot;569&quot; data-start=&quot;550&quot;&gt;&lt;strong data-end=&quot;569&quot; data-start=&quot;550&quot;&gt;Share a Folder:&lt;/strong&gt;&lt;/p&gt;
&lt;ul data-end=&quot;790&quot; data-start=&quot;573&quot;&gt;
&lt;li data-end=&quot;615&quot; data-start=&quot;573&quot;&gt;
&lt;p data-end=&quot;615&quot; data-start=&quot;575&quot;&gt;Right-click on a folder → &lt;strong data-end=&quot;615&quot; data-start=&quot;601&quot;&gt;Properties&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;661&quot; data-start=&quot;619&quot;&gt;
&lt;p data-end=&quot;661&quot; data-start=&quot;621&quot;&gt;Go to &lt;strong data-end=&quot;661&quot; data-start=&quot;627&quot;&gt;Sharing tab &amp;gt; Advanced Sharing&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;697&quot; data-start=&quot;665&quot;&gt;
&lt;p data-end=&quot;697&quot; data-start=&quot;667&quot;&gt;Check ✔️ &lt;strong data-end=&quot;697&quot; data-start=&quot;676&quot;&gt;Share this folder&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;790&quot; data-start=&quot;701&quot;&gt;
&lt;p data-end=&quot;790&quot; data-start=&quot;703&quot;&gt;Click &lt;strong data-end=&quot;724&quot; data-start=&quot;709&quot;&gt;Permissions&lt;/strong&gt; → Add &quot;Everyone&quot; or a specific user and set &lt;strong data-end=&quot;783&quot; data-start=&quot;769&quot;&gt;Read/Write&lt;/strong&gt; access&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-end=&quot;946&quot; data-start=&quot;792&quot;&gt;
&lt;p data-end=&quot;834&quot; data-start=&quot;795&quot;&gt;&lt;strong data-end=&quot;834&quot; data-start=&quot;795&quot;&gt;Create a User :&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;&lt;ul data-end=&quot;946&quot; data-start=&quot;838&quot;&gt;
&lt;li data-end=&quot;893&quot; data-start=&quot;838&quot;&gt;
&lt;p data-end=&quot;893&quot; data-start=&quot;840&quot;&gt;Create a local user with a password (e.g., &lt;code data-end=&quot;892&quot; data-start=&quot;883&quot;&gt;macuser&lt;/code&gt;)&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;946&quot; data-start=&quot;897&quot;&gt;
&lt;p data-end=&quot;946&quot; data-start=&quot;899&quot;&gt;Grant this user permission to the shared folder&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ol&gt;&lt;div&gt;&lt;li data-end=&quot;1362&quot; data-start=&quot;1142&quot;&gt;&lt;p data-end=&quot;1180&quot; data-start=&quot;1145&quot;&gt;&lt;strong data-end=&quot;1180&quot; data-start=&quot;1145&quot;&gt;&amp;nbsp; &amp;nbsp; 4. Ensure Your Account Has Access:&lt;/strong&gt;&lt;/p&gt;
&lt;ul data-end=&quot;1362&quot; data-start=&quot;1184&quot;&gt;
&lt;li data-end=&quot;1362&quot; data-start=&quot;1184&quot;&gt;
&lt;p data-end=&quot;1261&quot; data-start=&quot;1186&quot;&gt;Make sure the user account you&#39;re logging in with is allowed on the folder:&lt;/p&gt;
&lt;ul data-end=&quot;1362&quot; data-start=&quot;1267&quot;&gt;
&lt;li data-end=&quot;1312&quot; data-start=&quot;1267&quot;&gt;
&lt;p data-end=&quot;1312&quot; data-start=&quot;1269&quot;&gt;Right-click → &lt;strong data-end=&quot;1312&quot; data-start=&quot;1283&quot;&gt;Properties &amp;gt; Security tab&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1362&quot; data-start=&quot;1318&quot;&gt;
&lt;p data-end=&quot;1362&quot; data-start=&quot;1320&quot;&gt;Add your user → Grant Read or Full Control&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1517&quot; data-start=&quot;1364&quot;&gt;
&lt;p data-end=&quot;1402&quot; data-start=&quot;1367&quot;&gt;&lt;strong data-end=&quot;1402&quot; data-start=&quot;1367&quot;&gt;5.&amp;nbsp; &amp;nbsp;Confirm the User Has a Password&lt;/strong&gt;&lt;/p&gt;
&lt;ul data-end=&quot;1517&quot; data-start=&quot;1406&quot;&gt;
&lt;li data-end=&quot;1484&quot; data-start=&quot;1406&quot;&gt;
&lt;p data-end=&quot;1484&quot; data-start=&quot;1408&quot;&gt;macOS &lt;strong data-end=&quot;1424&quot; data-start=&quot;1414&quot;&gt;cannot&lt;/strong&gt; authenticate to a Windows account with a &lt;strong data-end=&quot;1484&quot; data-start=&quot;1466&quot;&gt;blank password&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1517&quot; data-start=&quot;1488&quot;&gt;
&lt;p data-end=&quot;1517&quot; data-start=&quot;1490&quot;&gt;Set a password for the user&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/div&gt;&lt;div&gt;&lt;h3 data-end=&quot;1551&quot; data-start=&quot;1524&quot;&gt;🍎 On &lt;strong data-end=&quot;1550&quot; data-start=&quot;1534&quot;&gt;Mac (Client)&lt;/strong&gt;:&lt;/h3&gt;
&lt;ol data-end=&quot;1916&quot; data-start=&quot;1553&quot;&gt;
&lt;li data-end=&quot;1604&quot; data-start=&quot;1553&quot;&gt;
&lt;p data-end=&quot;1604&quot; data-start=&quot;1556&quot;&gt;Press &lt;code data-end=&quot;1569&quot; data-start=&quot;1562&quot;&gt;⌘ + K&lt;/code&gt; in Finder (Go &amp;gt; Connect to Server)&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1679&quot; data-start=&quot;1606&quot;&gt;
&lt;p data-end=&quot;1629&quot; data-start=&quot;1609&quot;&gt;Enter SMB path like:&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;1679&quot; data-start=&quot;1633&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-2xl border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none rounded-t-2xl&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;overflow-y-auto p-4&quot; dir=&quot;ltr&quot;&gt;&lt;code class=&quot;whitespace-pre!&quot;&gt;smb:&lt;span class=&quot;hljs-comment&quot;&gt;//192.168.1.100/SharedFolder&lt;/span&gt;
&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1916&quot; data-start=&quot;1681&quot;&gt;
&lt;p data-end=&quot;1714&quot; data-start=&quot;1684&quot;&gt;When prompted for credentials:&lt;/p&gt;
&lt;ul data-end=&quot;1806&quot; data-start=&quot;1718&quot;&gt;
&lt;li data-end=&quot;1760&quot; data-start=&quot;1718&quot;&gt;
&lt;p data-end=&quot;1760&quot; data-start=&quot;1720&quot;&gt;&lt;strong data-end=&quot;1733&quot; data-start=&quot;1720&quot;&gt;Username:&lt;/strong&gt; &lt;code data-end=&quot;1760&quot; data-start=&quot;1734&quot;&gt;WINDOWS_PC_NAME\username&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1806&quot; data-start=&quot;1764&quot;&gt;
&lt;p data-end=&quot;1806&quot; data-start=&quot;1766&quot;&gt;&lt;strong data-end=&quot;1779&quot; data-start=&quot;1766&quot;&gt;Password:&lt;/strong&gt; Your Windows user password&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;1916&quot; data-start=&quot;1811&quot;&gt;✅ Use the actual computer name or IP address. Do &lt;strong data-end=&quot;1867&quot; data-start=&quot;1860&quot;&gt;not&lt;/strong&gt; enter just the username or your Mac credentials.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;hr data-end=&quot;1921&quot; data-start=&quot;1918&quot; /&gt;
&lt;h2 data-end=&quot;1966&quot; data-start=&quot;1923&quot;&gt;💡 Optional: Automate or Save Connection&lt;/h2&gt;
&lt;ul data-end=&quot;2159&quot; data-start=&quot;1967&quot;&gt;
&lt;li data-end=&quot;2159&quot; data-start=&quot;1967&quot;&gt;
&lt;p data-end=&quot;2001&quot; data-start=&quot;1969&quot;&gt;After successful login, you can:&lt;/p&gt;
&lt;ul data-end=&quot;2159&quot; data-start=&quot;2004&quot;&gt;
&lt;li data-end=&quot;2052&quot; data-start=&quot;2004&quot;&gt;
&lt;p data-end=&quot;2052&quot; data-start=&quot;2006&quot;&gt;Drag the shared folder into &lt;strong data-end=&quot;2052&quot; data-start=&quot;2034&quot;&gt;Finder sidebar&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;2159&quot; data-start=&quot;2055&quot;&gt;
&lt;p data-end=&quot;2159&quot; data-start=&quot;2057&quot;&gt;Go to &lt;strong data-end=&quot;2116&quot; data-start=&quot;2063&quot;&gt;System Preferences &amp;gt; Users &amp;amp; Groups &amp;gt; Login Items&lt;/strong&gt; and add the mount to auto-connect at login&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script async src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot;&gt;&lt;/script&gt;
&lt;!-- Leaderboard Manas footer --&gt;
&lt;ins class=&quot;adsbygoogle&quot;
     style=&quot;display:inline-block;width:728px;height:90px&quot;
     data-ad-client=&quot;ca-pub-8906930571041974&quot;
     data-ad-slot=&quot;8147594448&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
(adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;&lt;/div&gt;</description><link>http://www.devopszones.com/2025/06/step-by-step-guide-access-windows-share.html</link><author>noreply@blogger.com (Manas Ranjan Tripathy)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5873596342621039693.post-818173629250535228</guid><pubDate>Sat, 14 Jun 2025 02:30:00 +0000</pubDate><atom:updated>2025-06-13T19:30:00.252-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Devops</category><category domain="http://www.blogger.com/atom/ns#">devsecops</category><category domain="http://www.blogger.com/atom/ns#">DNS</category><title>How to Move Google Cloud DNS Entries Between Two Projects</title><description>&lt;h2&gt;🚀 How to Move Google Cloud DNS Entries Between Two Projects&lt;/h2&gt;

&lt;p&gt;When managing multiple Google Cloud projects, you may encounter the need to &lt;strong&gt;move Cloud DNS records&lt;/strong&gt; (like A, CNAME, TXT, MX records) from one project to another — typically during migrations, consolidations, or reorganizations.&lt;/p&gt;

&lt;p&gt;This blog explains how to safely and effectively move your &lt;strong&gt;Google Cloud DNS entries&lt;/strong&gt; between two projects.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3&gt;📌 Why DNS Entries Are Project-Specific&lt;/h3&gt;

&lt;p&gt;Google Cloud DNS zones and records are bound to the project where they are created. There&#39;s &lt;strong&gt;no direct &quot;move&quot; button&lt;/strong&gt;. Instead, you’ll need to:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Export DNS records from the source project&lt;/li&gt;
  &lt;li&gt;Create a DNS zone in the destination project&lt;/li&gt;
  &lt;li&gt;Import the records into the new zone&lt;/li&gt;
  &lt;li&gt;Update domain registrar (if needed)&lt;/li&gt;
&lt;/ol&gt;

&lt;hr /&gt;

&lt;h3&gt;🔧 Step-by-Step Guide&lt;/h3&gt;

&lt;h4&gt;Step 1: Export DNS Records from the Source Project&lt;/h4&gt;

&lt;p&gt;Use &lt;code&gt;gcloud&lt;/code&gt; to export all resource records from the DNS zone.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;# Set source project
gcloud config set project SOURCE_PROJECT_ID

# Export records to a file
gcloud dns record-sets export exported-dns.yaml \
  --zone=SOURCE_DNS_ZONE \
  --zone-file-format
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;This generates a file like &lt;code&gt;exported-dns.yaml&lt;/code&gt; containing all the DNS entries (except SOA and NS records).&lt;/p&gt;&lt;p&gt;#############################################################################&lt;/p&gt;&lt;p&gt;&lt;b&gt;Another Approach:&amp;nbsp;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;If at all the above said approach doesn&#39;t work, then follow this alternative approach:&lt;/p&gt;&lt;p style=&quot;--_pr-img-mb: 0; --theme-background-attachment: auto; --theme-background-color: hsl(0,0%,100%); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 27; --theme-base-primary-color-l: 48%; --theme-base-primary-color-s: 89%; --theme-body-font-color: hsl(210,8%,5%); --theme-body-font-family: -apple-system,BlinkMacSystemFont,&amp;quot;Segoe UI Adjusted&amp;quot;,&amp;quot;Segoe UI&amp;quot;,&amp;quot;Liberation Sans&amp;quot;,sans-serif; --theme-button-active-background-color: initial; --theme-button-color: initial; --theme-button-hover-background-color: initial; --theme-button-hover-color: initial; --theme-button-outlined-border-color: initial; --theme-button-outlined-selected-border-color: initial; --theme-button-primary-active-background-color: initial; --theme-button-primary-active-color: initial; --theme-button-primary-background-color: initial; --theme-button-primary-color: initial; --theme-button-primary-hover-background-color: initial; --theme-button-primary-hover-color: initial; --theme-button-primary-selected-background-color: initial; --theme-button-primary-selected-color: initial; --theme-button-selected-background-color: initial; --theme-button-selected-color: initial; --theme-content-background-color: hsl(0,0%,100%); --theme-content-border-color: hsl(210,8%,85%); --theme-footer-background-border-top: 0; --theme-footer-background-color: hsl(210,8%,5%); --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: hsl(210,8%,25%); --theme-footer-link-color-hover: hsl(210,8%,90%); --theme-footer-link-color: hsl(210,9%,75%); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: hsl(210,9%,75%); --theme-footer-title-color: hsl(210,8%,80%); --theme-header-background-border-bottom: 0; --theme-header-background-color: hsl(27, 89%, 48%); --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: hsl(27, 89%, 48%); --theme-header-sponsored-color: hsla(0,0%,100%,0.4); --theme-link-color-hover: initial; --theme-link-color-visited: initial; --theme-link-color: initial; --theme-post-body-font-family: -apple-system,BlinkMacSystemFont,&amp;quot;Segoe UI Adjusted&amp;quot;,&amp;quot;Segoe UI&amp;quot;,&amp;quot;Liberation Sans&amp;quot;,sans-serif; --theme-post-owner-background-color: hsl(210,80%,96%); --theme-post-owner-new-background-color: hsl(210,80%,91%); --theme-post-title-color-hover: var(--theme-link-color-hover); --theme-post-title-color-visited: var(--theme-link-color-visited); --theme-post-title-color: var(--theme-link-color); --theme-post-title-font-family: -apple-system,BlinkMacSystemFont,&amp;quot;Segoe UI Adjusted&amp;quot;,&amp;quot;Segoe UI&amp;quot;,&amp;quot;Liberation Sans&amp;quot;,sans-serif; --theme-primary-custom-100: hsl(27, 89%, calc(48% + ((100% - 48%) * .9))); --theme-primary-custom-200: hsl(27, 89%, calc(48% + ((100% - 48%) * .75))); --theme-primary-custom-300: hsl(27, 89%, calc(48% + ((100% - 48%) * .5))); --theme-primary-custom-400: hsl(27, 89%, 48%); --theme-primary-custom-500: hsl(27, 89%, calc(48% + (48% * -.3))); --theme-primary-custom-600: hsl(27, 89%, calc(48% + (48% * -.6))); --theme-primary-custom: hsl(27, 89%, 48%); --theme-topbar-bottom-border: 1px solid hsl(210,8%,85%); background-color: white; border: 0px; box-sizing: inherit; clear: both; color: #0c0d0e; font-family: -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI Adjusted&amp;quot;, &amp;quot;Segoe UI&amp;quot;, &amp;quot;Liberation Sans&amp;quot;, sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-size: 15px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-emoji: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px 0px 1.1em; padding: 0px; vertical-align: baseline;&quot;&gt;Export your record sets:&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;span style=&quot;background-color: white; color: #3b4045; font-family: inherit; font-size: 15px; font-style: inherit; font-variant-caps: inherit; font-variant-ligatures: inherit; font-weight: inherit;&quot;&gt;gcloud dns record-sets export&amp;nbsp;&lt;/span&gt;exported-dns.yaml&lt;span style=&quot;background-color: white; color: #3b4045; font-family: inherit; font-size: 15px; font-style: inherit; font-variant-caps: inherit; font-variant-ligatures: inherit; font-weight: inherit;&quot;&gt;&amp;nbsp;--zone $YOUR_ZONE --project project-a&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;--_pr-img-mb: 0; --theme-background-attachment: auto; --theme-background-color: hsl(0,0%,100%); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 27; --theme-base-primary-color-l: 48%; --theme-base-primary-color-s: 89%; --theme-body-font-color: hsl(210,8%,5%); --theme-body-font-family: -apple-system,BlinkMacSystemFont,&amp;quot;Segoe UI Adjusted&amp;quot;,&amp;quot;Segoe UI&amp;quot;,&amp;quot;Liberation Sans&amp;quot;,sans-serif; --theme-button-active-background-color: initial; --theme-button-color: initial; --theme-button-hover-background-color: initial; --theme-button-hover-color: initial; --theme-button-outlined-border-color: initial; --theme-button-outlined-selected-border-color: initial; --theme-button-primary-active-background-color: initial; --theme-button-primary-active-color: initial; --theme-button-primary-background-color: initial; --theme-button-primary-color: initial; --theme-button-primary-hover-background-color: initial; --theme-button-primary-hover-color: initial; --theme-button-primary-selected-background-color: initial; --theme-button-primary-selected-color: initial; --theme-button-selected-background-color: initial; --theme-button-selected-color: initial; --theme-content-background-color: hsl(0,0%,100%); --theme-content-border-color: hsl(210,8%,85%); --theme-footer-background-border-top: 0; --theme-footer-background-color: hsl(210,8%,5%); --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: hsl(210,8%,25%); --theme-footer-link-color-hover: hsl(210,8%,90%); --theme-footer-link-color: hsl(210,9%,75%); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: hsl(210,9%,75%); --theme-footer-title-color: hsl(210,8%,80%); --theme-header-background-border-bottom: 0; --theme-header-background-color: hsl(27, 89%, 48%); --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: hsl(27, 89%, 48%); --theme-header-sponsored-color: hsla(0,0%,100%,0.4); --theme-link-color-hover: initial; --theme-link-color-visited: initial; --theme-link-color: initial; --theme-post-body-font-family: -apple-system,BlinkMacSystemFont,&amp;quot;Segoe UI Adjusted&amp;quot;,&amp;quot;Segoe UI&amp;quot;,&amp;quot;Liberation Sans&amp;quot;,sans-serif; --theme-post-owner-background-color: hsl(210,80%,96%); --theme-post-owner-new-background-color: hsl(210,80%,91%); --theme-post-title-color-hover: var(--theme-link-color-hover); --theme-post-title-color-visited: var(--theme-link-color-visited); --theme-post-title-color: var(--theme-link-color); --theme-post-title-font-family: -apple-system,BlinkMacSystemFont,&amp;quot;Segoe UI Adjusted&amp;quot;,&amp;quot;Segoe UI&amp;quot;,&amp;quot;Liberation Sans&amp;quot;,sans-serif; --theme-primary-custom-100: hsl(27, 89%, calc(48% + ((100% - 48%) * .9))); --theme-primary-custom-200: hsl(27, 89%, calc(48% + ((100% - 48%) * .75))); --theme-primary-custom-300: hsl(27, 89%, calc(48% + ((100% - 48%) * .5))); --theme-primary-custom-400: hsl(27, 89%, 48%); --theme-primary-custom-500: hsl(27, 89%, calc(48% + (48% * -.3))); --theme-primary-custom-600: hsl(27, 89%, calc(48% + (48% * -.6))); --theme-primary-custom: hsl(27, 89%, 48%); --theme-topbar-bottom-border: 1px solid hsl(210,8%,85%); background-color: white; border: 0px; box-sizing: inherit; clear: both; color: #0c0d0e; font-family: -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI Adjusted&amp;quot;, &amp;quot;Segoe UI&amp;quot;, &amp;quot;Liberation Sans&amp;quot;, sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-size: 15px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-emoji: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px 0px 1.1em; padding: 0px; vertical-align: baseline;&quot;&gt;Create a managed zone in&amp;nbsp;&lt;strong style=&quot;--theme-background-attachment: auto; --theme-background-color: hsl(0,0%,100%); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 27; --theme-base-primary-color-l: 48%; --theme-base-primary-color-s: 89%; --theme-body-font-color: hsl(210,8%,5%); --theme-body-font-family: -apple-system,BlinkMacSystemFont,&amp;quot;Segoe UI Adjusted&amp;quot;,&amp;quot;Segoe UI&amp;quot;,&amp;quot;Liberation Sans&amp;quot;,sans-serif; --theme-button-active-background-color: initial; --theme-button-color: initial; --theme-button-hover-background-color: initial; --theme-button-hover-color: initial; --theme-button-outlined-border-color: initial; --theme-button-outlined-selected-border-color: initial; --theme-button-primary-active-background-color: initial; --theme-button-primary-active-color: initial; --theme-button-primary-background-color: initial; --theme-button-primary-color: initial; --theme-button-primary-hover-background-color: initial; --theme-button-primary-hover-color: initial; --theme-button-primary-selected-background-color: initial; --theme-button-primary-selected-color: initial; --theme-button-selected-background-color: initial; --theme-button-selected-color: initial; --theme-content-background-color: hsl(0,0%,100%); --theme-content-border-color: hsl(210,8%,85%); --theme-footer-background-border-top: 0; --theme-footer-background-color: hsl(210,8%,5%); --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: hsl(210,8%,25%); --theme-footer-link-color-hover: hsl(210,8%,90%); --theme-footer-link-color: hsl(210,9%,75%); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: hsl(210,9%,75%); --theme-footer-title-color: hsl(210,8%,80%); --theme-header-background-border-bottom: 0; --theme-header-background-color: hsl(27, 89%, 48%); --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: hsl(27, 89%, 48%); --theme-header-sponsored-color: hsla(0,0%,100%,0.4); --theme-link-color-hover: initial; --theme-link-color-visited: initial; --theme-link-color: initial; --theme-post-body-font-family: -apple-system,BlinkMacSystemFont,&amp;quot;Segoe UI Adjusted&amp;quot;,&amp;quot;Segoe UI&amp;quot;,&amp;quot;Liberation Sans&amp;quot;,sans-serif; --theme-post-owner-background-color: hsl(210,80%,96%); --theme-post-owner-new-background-color: hsl(210,80%,91%); --theme-post-title-color-hover: var(--theme-link-color-hover); --theme-post-title-color-visited: var(--theme-link-color-visited); --theme-post-title-color: var(--theme-link-color); --theme-post-title-font-family: -apple-system,BlinkMacSystemFont,&amp;quot;Segoe UI Adjusted&amp;quot;,&amp;quot;Segoe UI&amp;quot;,&amp;quot;Liberation Sans&amp;quot;,sans-serif; --theme-primary-custom-100: hsl(27, 89%, calc(48% + ((100% - 48%) * .9))); --theme-primary-custom-200: hsl(27, 89%, calc(48% + ((100% - 48%) * .75))); --theme-primary-custom-300: hsl(27, 89%, calc(48% + ((100% - 48%) * .5))); --theme-primary-custom-400: hsl(27, 89%, 48%); --theme-primary-custom-500: hsl(27, 89%, calc(48% + (48% * -.3))); --theme-primary-custom-600: hsl(27, 89%, calc(48% + (48% * -.6))); --theme-primary-custom: hsl(27, 89%, 48%); --theme-topbar-bottom-border: 1px solid hsl(210,8%,85%); border: 0px; box-sizing: inherit; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: bold; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;project-b&lt;/strong&gt;&lt;/p&gt;&lt;blockquote style=&quot;--_pr-img-mb: 0; --theme-background-attachment: auto; --theme-background-color: hsl(0,0%,100%); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 27; --theme-base-primary-color-l: 48%; --theme-base-primary-color-s: 89%; --theme-body-font-color: hsl(210,8%,5%); --theme-body-font-family: -apple-system,BlinkMacSystemFont,&amp;quot;Segoe UI Adjusted&amp;quot;,&amp;quot;Segoe UI&amp;quot;,&amp;quot;Liberation Sans&amp;quot;,sans-serif; --theme-button-active-background-color: initial; --theme-button-color: initial; --theme-button-hover-background-color: initial; --theme-button-hover-color: initial; --theme-button-outlined-border-color: initial; --theme-button-outlined-selected-border-color: initial; --theme-button-primary-active-background-color: initial; --theme-button-primary-active-color: initial; --theme-button-primary-background-color: initial; --theme-button-primary-color: initial; --theme-button-primary-hover-background-color: initial; --theme-button-primary-hover-color: initial; --theme-button-primary-selected-background-color: initial; --theme-button-primary-selected-color: initial; --theme-button-selected-background-color: initial; --theme-button-selected-color: initial; --theme-content-background-color: hsl(0,0%,100%); --theme-content-border-color: hsl(210,8%,85%); --theme-footer-background-border-top: 0; --theme-footer-background-color: hsl(210,8%,5%); --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: hsl(210,8%,25%); --theme-footer-link-color-hover: hsl(210,8%,90%); --theme-footer-link-color: hsl(210,9%,75%); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: hsl(210,9%,75%); --theme-footer-title-color: hsl(210,8%,80%); --theme-header-background-border-bottom: 0; --theme-header-background-color: hsl(27, 89%, 48%); --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: hsl(27, 89%, 48%); --theme-header-sponsored-color: hsla(0,0%,100%,0.4); --theme-link-color-hover: initial; --theme-link-color-visited: initial; --theme-link-color: initial; --theme-post-body-font-family: -apple-system,BlinkMacSystemFont,&amp;quot;Segoe UI Adjusted&amp;quot;,&amp;quot;Segoe UI&amp;quot;,&amp;quot;Liberation Sans&amp;quot;,sans-serif; --theme-post-owner-background-color: hsl(210,80%,96%); --theme-post-owner-new-background-color: hsl(210,80%,91%); --theme-post-title-color-hover: var(--theme-link-color-hover); --theme-post-title-color-visited: var(--theme-link-color-visited); --theme-post-title-color: var(--theme-link-color); --theme-post-title-font-family: -apple-system,BlinkMacSystemFont,&amp;quot;Segoe UI Adjusted&amp;quot;,&amp;quot;Segoe UI&amp;quot;,&amp;quot;Liberation Sans&amp;quot;,sans-serif; --theme-primary-custom-100: hsl(27, 89%, calc(48% + ((100% - 48%) * .9))); --theme-primary-custom-200: hsl(27, 89%, calc(48% + ((100% - 48%) * .75))); --theme-primary-custom-300: hsl(27, 89%, calc(48% + ((100% - 48%) * .5))); --theme-primary-custom-400: hsl(27, 89%, 48%); --theme-primary-custom-500: hsl(27, 89%, calc(48% + (48% * -.3))); --theme-primary-custom-600: hsl(27, 89%, calc(48% + (48% * -.6))); --theme-primary-custom: hsl(27, 89%, 48%); --theme-topbar-bottom-border: 1px solid hsl(210,8%,85%); background-color: white; border: 0px; box-sizing: inherit; color: #3b4045; font-family: -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI Adjusted&amp;quot;, &amp;quot;Segoe UI&amp;quot;, &amp;quot;Liberation Sans&amp;quot;, sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-size: 15px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-emoji: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px 15px 16.5px; padding: 0.8em 0.8em 0.8em 1em; position: relative; quotes: none; vertical-align: baseline;&quot;&gt;&lt;p style=&quot;--_pr-img-mb: 0; --theme-background-attachment: auto; --theme-background-color: hsl(0,0%,100%); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 27; --theme-base-primary-color-l: 48%; --theme-base-primary-color-s: 89%; --theme-body-font-color: hsl(210,8%,5%); --theme-body-font-family: -apple-system,BlinkMacSystemFont,&amp;quot;Segoe UI Adjusted&amp;quot;,&amp;quot;Segoe UI&amp;quot;,&amp;quot;Liberation Sans&amp;quot;,sans-serif; --theme-button-active-background-color: initial; --theme-button-color: initial; --theme-button-hover-background-color: initial; --theme-button-hover-color: initial; --theme-button-outlined-border-color: initial; --theme-button-outlined-selected-border-color: initial; --theme-button-primary-active-background-color: initial; --theme-button-primary-active-color: initial; --theme-button-primary-background-color: initial; --theme-button-primary-color: initial; --theme-button-primary-hover-background-color: initial; --theme-button-primary-hover-color: initial; --theme-button-primary-selected-background-color: initial; --theme-button-primary-selected-color: initial; --theme-button-selected-background-color: initial; --theme-button-selected-color: initial; --theme-content-background-color: hsl(0,0%,100%); --theme-content-border-color: hsl(210,8%,85%); --theme-footer-background-border-top: 0; --theme-footer-background-color: hsl(210,8%,5%); --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: hsl(210,8%,25%); --theme-footer-link-color-hover: hsl(210,8%,90%); --theme-footer-link-color: hsl(210,9%,75%); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: hsl(210,9%,75%); --theme-footer-title-color: hsl(210,8%,80%); --theme-header-background-border-bottom: 0; --theme-header-background-color: hsl(27, 89%, 48%); --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: hsl(27, 89%, 48%); --theme-header-sponsored-color: hsla(0,0%,100%,0.4); --theme-link-color-hover: initial; --theme-link-color-visited: initial; --theme-link-color: initial; --theme-post-body-font-family: -apple-system,BlinkMacSystemFont,&amp;quot;Segoe UI Adjusted&amp;quot;,&amp;quot;Segoe UI&amp;quot;,&amp;quot;Liberation Sans&amp;quot;,sans-serif; --theme-post-owner-background-color: hsl(210,80%,96%); --theme-post-owner-new-background-color: hsl(210,80%,91%); --theme-post-title-color-hover: var(--theme-link-color-hover); --theme-post-title-color-visited: var(--theme-link-color-visited); --theme-post-title-color: var(--theme-link-color); --theme-post-title-font-family: -apple-system,BlinkMacSystemFont,&amp;quot;Segoe UI Adjusted&amp;quot;,&amp;quot;Segoe UI&amp;quot;,&amp;quot;Liberation Sans&amp;quot;,sans-serif; --theme-primary-custom-100: hsl(27, 89%, calc(48% + ((100% - 48%) * .9))); --theme-primary-custom-200: hsl(27, 89%, calc(48% + ((100% - 48%) * .75))); --theme-primary-custom-300: hsl(27, 89%, calc(48% + ((100% - 48%) * .5))); --theme-primary-custom-400: hsl(27, 89%, 48%); --theme-primary-custom-500: hsl(27, 89%, calc(48% + (48% * -.3))); --theme-primary-custom-600: hsl(27, 89%, calc(48% + (48% * -.6))); --theme-primary-custom: hsl(27, 89%, 48%); --theme-topbar-bottom-border: 1px solid hsl(210,8%,85%); border: 0px; box-sizing: inherit; clear: both; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;gcloud dns managed-zones create $NAME --dns-name=your.com. --description $DESC --project project-b&lt;/p&gt;&lt;/blockquote&gt;&lt;p style=&quot;--_pr-img-mb: 0; --theme-background-attachment: auto; --theme-background-color: hsl(0,0%,100%); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 27; --theme-base-primary-color-l: 48%; --theme-base-primary-color-s: 89%; --theme-body-font-color: hsl(210,8%,5%); --theme-body-font-family: -apple-system,BlinkMacSystemFont,&amp;quot;Segoe UI Adjusted&amp;quot;,&amp;quot;Segoe UI&amp;quot;,&amp;quot;Liberation Sans&amp;quot;,sans-serif; --theme-button-active-background-color: initial; --theme-button-color: initial; --theme-button-hover-background-color: initial; --theme-button-hover-color: initial; --theme-button-outlined-border-color: initial; --theme-button-outlined-selected-border-color: initial; --theme-button-primary-active-background-color: initial; --theme-button-primary-active-color: initial; --theme-button-primary-background-color: initial; --theme-button-primary-color: initial; --theme-button-primary-hover-background-color: initial; --theme-button-primary-hover-color: initial; --theme-button-primary-selected-background-color: initial; --theme-button-primary-selected-color: initial; --theme-button-selected-background-color: initial; --theme-button-selected-color: initial; --theme-content-background-color: hsl(0,0%,100%); --theme-content-border-color: hsl(210,8%,85%); --theme-footer-background-border-top: 0; --theme-footer-background-color: hsl(210,8%,5%); --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: hsl(210,8%,25%); --theme-footer-link-color-hover: hsl(210,8%,90%); --theme-footer-link-color: hsl(210,9%,75%); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: hsl(210,9%,75%); --theme-footer-title-color: hsl(210,8%,80%); --theme-header-background-border-bottom: 0; --theme-header-background-color: hsl(27, 89%, 48%); --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: hsl(27, 89%, 48%); --theme-header-sponsored-color: hsla(0,0%,100%,0.4); --theme-link-color-hover: initial; --theme-link-color-visited: initial; --theme-link-color: initial; --theme-post-body-font-family: -apple-system,BlinkMacSystemFont,&amp;quot;Segoe UI Adjusted&amp;quot;,&amp;quot;Segoe UI&amp;quot;,&amp;quot;Liberation Sans&amp;quot;,sans-serif; --theme-post-owner-background-color: hsl(210,80%,96%); --theme-post-owner-new-background-color: hsl(210,80%,91%); --theme-post-title-color-hover: var(--theme-link-color-hover); --theme-post-title-color-visited: var(--theme-link-color-visited); --theme-post-title-color: var(--theme-link-color); --theme-post-title-font-family: -apple-system,BlinkMacSystemFont,&amp;quot;Segoe UI Adjusted&amp;quot;,&amp;quot;Segoe UI&amp;quot;,&amp;quot;Liberation Sans&amp;quot;,sans-serif; --theme-primary-custom-100: hsl(27, 89%, calc(48% + ((100% - 48%) * .9))); --theme-primary-custom-200: hsl(27, 89%, calc(48% + ((100% - 48%) * .75))); --theme-primary-custom-300: hsl(27, 89%, calc(48% + ((100% - 48%) * .5))); --theme-primary-custom-400: hsl(27, 89%, 48%); --theme-primary-custom-500: hsl(27, 89%, calc(48% + (48% * -.3))); --theme-primary-custom-600: hsl(27, 89%, calc(48% + (48% * -.6))); --theme-primary-custom: hsl(27, 89%, 48%); --theme-topbar-bottom-border: 1px solid hsl(210,8%,85%); background-color: white; border: 0px; box-sizing: inherit; clear: both; color: #0c0d0e; font-family: -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI Adjusted&amp;quot;, &amp;quot;Segoe UI&amp;quot;, &amp;quot;Liberation Sans&amp;quot;, sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-size: 15px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-emoji: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px 0px 1.1em; padding: 0px; vertical-align: baseline;&quot;&gt;Import the record sets. Before you do this you will need to remove to standard records.&lt;/p&gt;&lt;p style=&quot;--_pr-img-mb: 0; --theme-background-attachment: auto; --theme-background-color: hsl(0,0%,100%); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 27; --theme-base-primary-color-l: 48%; --theme-base-primary-color-s: 89%; --theme-body-font-color: hsl(210,8%,5%); --theme-body-font-family: -apple-system,BlinkMacSystemFont,&amp;quot;Segoe UI Adjusted&amp;quot;,&amp;quot;Segoe UI&amp;quot;,&amp;quot;Liberation Sans&amp;quot;,sans-serif; --theme-button-active-background-color: initial; --theme-button-color: initial; --theme-button-hover-background-color: initial; --theme-button-hover-color: initial; --theme-button-outlined-border-color: initial; --theme-button-outlined-selected-border-color: initial; --theme-button-primary-active-background-color: initial; --theme-button-primary-active-color: initial; --theme-button-primary-background-color: initial; --theme-button-primary-color: initial; --theme-button-primary-hover-background-color: initial; --theme-button-primary-hover-color: initial; --theme-button-primary-selected-background-color: initial; --theme-button-primary-selected-color: initial; --theme-button-selected-background-color: initial; --theme-button-selected-color: initial; --theme-content-background-color: hsl(0,0%,100%); --theme-content-border-color: hsl(210,8%,85%); --theme-footer-background-border-top: 0; --theme-footer-background-color: hsl(210,8%,5%); --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: hsl(210,8%,25%); --theme-footer-link-color-hover: hsl(210,8%,90%); --theme-footer-link-color: hsl(210,9%,75%); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: hsl(210,9%,75%); --theme-footer-title-color: hsl(210,8%,80%); --theme-header-background-border-bottom: 0; --theme-header-background-color: hsl(27, 89%, 48%); --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: hsl(27, 89%, 48%); --theme-header-sponsored-color: hsla(0,0%,100%,0.4); --theme-link-color-hover: initial; --theme-link-color-visited: initial; --theme-link-color: initial; --theme-post-body-font-family: -apple-system,BlinkMacSystemFont,&amp;quot;Segoe UI Adjusted&amp;quot;,&amp;quot;Segoe UI&amp;quot;,&amp;quot;Liberation Sans&amp;quot;,sans-serif; --theme-post-owner-background-color: hsl(210,80%,96%); --theme-post-owner-new-background-color: hsl(210,80%,91%); --theme-post-title-color-hover: var(--theme-link-color-hover); --theme-post-title-color-visited: var(--theme-link-color-visited); --theme-post-title-color: var(--theme-link-color); --theme-post-title-font-family: -apple-system,BlinkMacSystemFont,&amp;quot;Segoe UI Adjusted&amp;quot;,&amp;quot;Segoe UI&amp;quot;,&amp;quot;Liberation Sans&amp;quot;,sans-serif; --theme-primary-custom-100: hsl(27, 89%, calc(48% + ((100% - 48%) * .9))); --theme-primary-custom-200: hsl(27, 89%, calc(48% + ((100% - 48%) * .75))); --theme-primary-custom-300: hsl(27, 89%, calc(48% + ((100% - 48%) * .5))); --theme-primary-custom-400: hsl(27, 89%, 48%); --theme-primary-custom-500: hsl(27, 89%, calc(48% + (48% * -.3))); --theme-primary-custom-600: hsl(27, 89%, calc(48% + (48% * -.6))); --theme-primary-custom: hsl(27, 89%, 48%); --theme-topbar-bottom-border: 1px solid hsl(210,8%,85%); background-color: white; border: 0px; box-sizing: inherit; clear: both; color: #0c0d0e; font-family: -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI Adjusted&amp;quot;, &amp;quot;Segoe UI&amp;quot;, &amp;quot;Liberation Sans&amp;quot;, sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-size: 15px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-emoji: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px 0px 1.1em; padding: 0px; vertical-align: baseline;&quot;&gt;Edit the&amp;nbsp;&lt;span style=&quot;background-color: transparent;&quot;&gt;exported-dns.yaml&lt;/span&gt;&amp;nbsp;that was created above when you exported the record-sets and remove two items that look exactly like the following:&lt;/p&gt;&lt;pre style=&quot;--theme-background-attachment: auto; --theme-background-color: hsl(0,0%,100%); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 27; --theme-base-primary-color-l: 48%; --theme-base-primary-color-s: 89%; --theme-body-font-color: hsl(210,8%,5%); --theme-body-font-family: -apple-system,BlinkMacSystemFont,&amp;quot;Segoe UI Adjusted&amp;quot;,&amp;quot;Segoe UI&amp;quot;,&amp;quot;Liberation Sans&amp;quot;,sans-serif; --theme-button-active-background-color: initial; --theme-button-color: initial; --theme-button-hover-background-color: initial; --theme-button-hover-color: initial; --theme-button-outlined-border-color: initial; --theme-button-outlined-selected-border-color: initial; --theme-button-primary-active-background-color: initial; --theme-button-primary-active-color: initial; --theme-button-primary-background-color: initial; --theme-button-primary-color: initial; --theme-button-primary-hover-background-color: initial; --theme-button-primary-hover-color: initial; --theme-button-primary-selected-background-color: initial; --theme-button-primary-selected-color: initial; --theme-button-selected-background-color: initial; --theme-button-selected-color: initial; --theme-content-background-color: hsl(0,0%,100%); --theme-content-border-color: hsl(210,8%,85%); --theme-footer-background-border-top: 0; --theme-footer-background-color: hsl(210,8%,5%); --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: hsl(210,8%,25%); --theme-footer-link-color-hover: hsl(210,8%,90%); --theme-footer-link-color: hsl(210,9%,75%); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: hsl(210,9%,75%); --theme-footer-title-color: hsl(210,8%,80%); --theme-header-background-border-bottom: 0; --theme-header-background-color: hsl(27, 89%, 48%); --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: hsl(27, 89%, 48%); --theme-header-sponsored-color: hsla(0,0%,100%,0.4); --theme-link-color-hover: initial; --theme-link-color-visited: initial; --theme-link-color: initial; --theme-post-body-font-family: -apple-system,BlinkMacSystemFont,&amp;quot;Segoe UI Adjusted&amp;quot;,&amp;quot;Segoe UI&amp;quot;,&amp;quot;Liberation Sans&amp;quot;,sans-serif; --theme-post-owner-background-color: hsl(210,80%,96%); --theme-post-owner-new-background-color: hsl(210,80%,91%); --theme-post-title-color-hover: var(--theme-link-color-hover); --theme-post-title-color-visited: var(--theme-link-color-visited); --theme-post-title-color: var(--theme-link-color); --theme-post-title-font-family: -apple-system,BlinkMacSystemFont,&amp;quot;Segoe UI Adjusted&amp;quot;,&amp;quot;Segoe UI&amp;quot;,&amp;quot;Liberation Sans&amp;quot;,sans-serif; --theme-primary-custom-100: hsl(27, 89%, calc(48% + ((100% - 48%) * .9))); --theme-primary-custom-200: hsl(27, 89%, calc(48% + ((100% - 48%) * .75))); --theme-primary-custom-300: hsl(27, 89%, calc(48% + ((100% - 48%) * .5))); --theme-primary-custom-400: hsl(27, 89%, 48%); --theme-primary-custom-500: hsl(27, 89%, calc(48% + (48% * -.3))); --theme-primary-custom-600: hsl(27, 89%, calc(48% + (48% * -.6))); --theme-primary-custom: hsl(27, 89%, 48%); --theme-topbar-bottom-border: 1px solid hsl(210,8%,85%); background-color: #f6f6f6; border-radius: 6px; border: 0px; box-sizing: inherit; color: #0c0d0e; font-family: ui-monospace, &amp;quot;Cascadia Mono&amp;quot;, &amp;quot;Segoe UI Mono&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, Menlo, Monaco, Consolas, monospace; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-size: 13px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-emoji: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: 1.30769; margin-left: 0px; margin-right: 0px; margin-top: 0px; margin: 0px 0px calc(1.5em); max-height: 600px; overflow-wrap: normal; overflow: auto; padding: 12px; scrollbar-color: rgba(0, 0, 0, 0.2) rgba(0, 0, 0, 0); vertical-align: baseline; width: auto;&quot;&gt;&lt;code style=&quot;--theme-background-attachment: auto; --theme-background-color: hsl(0,0%,100%); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 27; --theme-base-primary-color-l: 48%; --theme-base-primary-color-s: 89%; --theme-body-font-color: hsl(210,8%,5%); --theme-body-font-family: -apple-system,BlinkMacSystemFont,&amp;quot;Segoe UI Adjusted&amp;quot;,&amp;quot;Segoe UI&amp;quot;,&amp;quot;Liberation Sans&amp;quot;,sans-serif; --theme-button-active-background-color: initial; --theme-button-color: initial; --theme-button-hover-background-color: initial; --theme-button-hover-color: initial; --theme-button-outlined-border-color: initial; --theme-button-outlined-selected-border-color: initial; --theme-button-primary-active-background-color: initial; --theme-button-primary-active-color: initial; --theme-button-primary-background-color: initial; --theme-button-primary-color: initial; --theme-button-primary-hover-background-color: initial; --theme-button-primary-hover-color: initial; --theme-button-primary-selected-background-color: initial; --theme-button-primary-selected-color: initial; --theme-button-selected-background-color: initial; --theme-button-selected-color: initial; --theme-content-background-color: hsl(0,0%,100%); --theme-content-border-color: hsl(210,8%,85%); --theme-footer-background-border-top: 0; --theme-footer-background-color: hsl(210,8%,5%); --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: hsl(210,8%,25%); --theme-footer-link-color-hover: hsl(210,8%,90%); --theme-footer-link-color: hsl(210,9%,75%); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: hsl(210,9%,75%); --theme-footer-title-color: hsl(210,8%,80%); --theme-header-background-border-bottom: 0; --theme-header-background-color: hsl(27, 89%, 48%); --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: hsl(27, 89%, 48%); --theme-header-sponsored-color: hsla(0,0%,100%,0.4); --theme-link-color-hover: initial; --theme-link-color-visited: initial; --theme-link-color: initial; --theme-post-body-font-family: -apple-system,BlinkMacSystemFont,&amp;quot;Segoe UI Adjusted&amp;quot;,&amp;quot;Segoe UI&amp;quot;,&amp;quot;Liberation Sans&amp;quot;,sans-serif; --theme-post-owner-background-color: hsl(210,80%,96%); --theme-post-owner-new-background-color: hsl(210,80%,91%); --theme-post-title-color-hover: var(--theme-link-color-hover); --theme-post-title-color-visited: var(--theme-link-color-visited); --theme-post-title-color: var(--theme-link-color); --theme-post-title-font-family: -apple-system,BlinkMacSystemFont,&amp;quot;Segoe UI Adjusted&amp;quot;,&amp;quot;Segoe UI&amp;quot;,&amp;quot;Liberation Sans&amp;quot;,sans-serif; --theme-primary-custom-100: hsl(27, 89%, calc(48% + ((100% - 48%) * .9))); --theme-primary-custom-200: hsl(27, 89%, calc(48% + ((100% - 48%) * .75))); --theme-primary-custom-300: hsl(27, 89%, calc(48% + ((100% - 48%) * .5))); --theme-primary-custom-400: hsl(27, 89%, 48%); --theme-primary-custom-500: hsl(27, 89%, calc(48% + (48% * -.3))); --theme-primary-custom-600: hsl(27, 89%, calc(48% + (48% * -.6))); --theme-primary-custom: hsl(27, 89%, 48%); --theme-topbar-bottom-border: 1px solid hsl(210,8%,85%); background-color: transparent; border-radius: 0px; border: 0px; box-sizing: inherit; font-family: ui-monospace, &amp;quot;Cascadia Mono&amp;quot;, &amp;quot;Segoe UI Mono&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, Menlo, Monaco, Consolas, monospace; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;---
kind: dns#resourceRecordSet
name: example.com.
rrdatas:
- ns-cloud-c1.googledomains.com.
- ns-cloud-c2.googledomains.com.
- ns-cloud-c3.googledomains.com.
- ns-cloud-c4.googledomains.com.
ttl: 21600
type: NS
---
kind: dns#resourceRecordSet
name: example.com.&lt;br /&gt;rrdatas:
- ns-cloud-c1.googledomains.com. cloud-dns-hostmaster.google.com. 14 21600 3600 259200
  300
ttl: 21600
type: SOA
&lt;/code&gt;&lt;/pre&gt;&lt;p style=&quot;--_pr-img-mb: 0; --theme-background-attachment: auto; --theme-background-color: hsl(0,0%,100%); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 27; --theme-base-primary-color-l: 48%; --theme-base-primary-color-s: 89%; --theme-body-font-color: hsl(210,8%,5%); --theme-body-font-family: -apple-system,BlinkMacSystemFont,&amp;quot;Segoe UI Adjusted&amp;quot;,&amp;quot;Segoe UI&amp;quot;,&amp;quot;Liberation Sans&amp;quot;,sans-serif; --theme-button-active-background-color: initial; --theme-button-color: initial; --theme-button-hover-background-color: initial; --theme-button-hover-color: initial; --theme-button-outlined-border-color: initial; --theme-button-outlined-selected-border-color: initial; --theme-button-primary-active-background-color: initial; --theme-button-primary-active-color: initial; --theme-button-primary-background-color: initial; --theme-button-primary-color: initial; --theme-button-primary-hover-background-color: initial; --theme-button-primary-hover-color: initial; --theme-button-primary-selected-background-color: initial; --theme-button-primary-selected-color: initial; --theme-button-selected-background-color: initial; --theme-button-selected-color: initial; --theme-content-background-color: hsl(0,0%,100%); --theme-content-border-color: hsl(210,8%,85%); --theme-footer-background-border-top: 0; --theme-footer-background-color: hsl(210,8%,5%); --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: hsl(210,8%,25%); --theme-footer-link-color-hover: hsl(210,8%,90%); --theme-footer-link-color: hsl(210,9%,75%); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: hsl(210,9%,75%); --theme-footer-title-color: hsl(210,8%,80%); --theme-header-background-border-bottom: 0; --theme-header-background-color: hsl(27, 89%, 48%); --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: hsl(27, 89%, 48%); --theme-header-sponsored-color: hsla(0,0%,100%,0.4); --theme-link-color-hover: initial; --theme-link-color-visited: initial; --theme-link-color: initial; --theme-post-body-font-family: -apple-system,BlinkMacSystemFont,&amp;quot;Segoe UI Adjusted&amp;quot;,&amp;quot;Segoe UI&amp;quot;,&amp;quot;Liberation Sans&amp;quot;,sans-serif; --theme-post-owner-background-color: hsl(210,80%,96%); --theme-post-owner-new-background-color: hsl(210,80%,91%); --theme-post-title-color-hover: var(--theme-link-color-hover); --theme-post-title-color-visited: var(--theme-link-color-visited); --theme-post-title-color: var(--theme-link-color); --theme-post-title-font-family: -apple-system,BlinkMacSystemFont,&amp;quot;Segoe UI Adjusted&amp;quot;,&amp;quot;Segoe UI&amp;quot;,&amp;quot;Liberation Sans&amp;quot;,sans-serif; --theme-primary-custom-100: hsl(27, 89%, calc(48% + ((100% - 48%) * .9))); --theme-primary-custom-200: hsl(27, 89%, calc(48% + ((100% - 48%) * .75))); --theme-primary-custom-300: hsl(27, 89%, calc(48% + ((100% - 48%) * .5))); --theme-primary-custom-400: hsl(27, 89%, 48%); --theme-primary-custom-500: hsl(27, 89%, calc(48% + (48% * -.3))); --theme-primary-custom-600: hsl(27, 89%, calc(48% + (48% * -.6))); --theme-primary-custom: hsl(27, 89%, 48%); --theme-topbar-bottom-border: 1px solid hsl(210,8%,85%); background-color: white; border: 0px; box-sizing: inherit; clear: both; color: #0c0d0e; font-family: -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI Adjusted&amp;quot;, &amp;quot;Segoe UI&amp;quot;, &amp;quot;Liberation Sans&amp;quot;, sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-size: 15px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-emoji: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px 0px 1.1em; padding: 0px; vertical-align: baseline;&quot;&gt;After you&#39;ve saved the file import it to your new managed zone in&amp;nbsp;&lt;strong style=&quot;--theme-background-attachment: auto; --theme-background-color: hsl(0,0%,100%); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 27; --theme-base-primary-color-l: 48%; --theme-base-primary-color-s: 89%; --theme-body-font-color: hsl(210,8%,5%); --theme-body-font-family: -apple-system,BlinkMacSystemFont,&amp;quot;Segoe UI Adjusted&amp;quot;,&amp;quot;Segoe UI&amp;quot;,&amp;quot;Liberation Sans&amp;quot;,sans-serif; --theme-button-active-background-color: initial; --theme-button-color: initial; --theme-button-hover-background-color: initial; --theme-button-hover-color: initial; --theme-button-outlined-border-color: initial; --theme-button-outlined-selected-border-color: initial; --theme-button-primary-active-background-color: initial; --theme-button-primary-active-color: initial; --theme-button-primary-background-color: initial; --theme-button-primary-color: initial; --theme-button-primary-hover-background-color: initial; --theme-button-primary-hover-color: initial; --theme-button-primary-selected-background-color: initial; --theme-button-primary-selected-color: initial; --theme-button-selected-background-color: initial; --theme-button-selected-color: initial; --theme-content-background-color: hsl(0,0%,100%); --theme-content-border-color: hsl(210,8%,85%); --theme-footer-background-border-top: 0; --theme-footer-background-color: hsl(210,8%,5%); --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: hsl(210,8%,25%); --theme-footer-link-color-hover: hsl(210,8%,90%); --theme-footer-link-color: hsl(210,9%,75%); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: hsl(210,9%,75%); --theme-footer-title-color: hsl(210,8%,80%); --theme-header-background-border-bottom: 0; --theme-header-background-color: hsl(27, 89%, 48%); --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: hsl(27, 89%, 48%); --theme-header-sponsored-color: hsla(0,0%,100%,0.4); --theme-link-color-hover: initial; --theme-link-color-visited: initial; --theme-link-color: initial; --theme-post-body-font-family: -apple-system,BlinkMacSystemFont,&amp;quot;Segoe UI Adjusted&amp;quot;,&amp;quot;Segoe UI&amp;quot;,&amp;quot;Liberation Sans&amp;quot;,sans-serif; --theme-post-owner-background-color: hsl(210,80%,96%); --theme-post-owner-new-background-color: hsl(210,80%,91%); --theme-post-title-color-hover: var(--theme-link-color-hover); --theme-post-title-color-visited: var(--theme-link-color-visited); --theme-post-title-color: var(--theme-link-color); --theme-post-title-font-family: -apple-system,BlinkMacSystemFont,&amp;quot;Segoe UI Adjusted&amp;quot;,&amp;quot;Segoe UI&amp;quot;,&amp;quot;Liberation Sans&amp;quot;,sans-serif; --theme-primary-custom-100: hsl(27, 89%, calc(48% + ((100% - 48%) * .9))); --theme-primary-custom-200: hsl(27, 89%, calc(48% + ((100% - 48%) * .75))); --theme-primary-custom-300: hsl(27, 89%, calc(48% + ((100% - 48%) * .5))); --theme-primary-custom-400: hsl(27, 89%, 48%); --theme-primary-custom-500: hsl(27, 89%, calc(48% + (48% * -.3))); --theme-primary-custom-600: hsl(27, 89%, calc(48% + (48% * -.6))); --theme-primary-custom: hsl(27, 89%, 48%); --theme-topbar-bottom-border: 1px solid hsl(210,8%,85%); border: 0px; box-sizing: inherit; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: bold; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;project-b&lt;/strong&gt;&lt;/p&gt;&lt;p style=&quot;--_pr-img-mb: 0; --theme-background-attachment: auto; --theme-background-color: hsl(0,0%,100%); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 27; --theme-base-primary-color-l: 48%; --theme-base-primary-color-s: 89%; --theme-body-font-color: hsl(210,8%,5%); --theme-body-font-family: -apple-system,BlinkMacSystemFont,&amp;quot;Segoe UI Adjusted&amp;quot;,&amp;quot;Segoe UI&amp;quot;,&amp;quot;Liberation Sans&amp;quot;,sans-serif; --theme-button-active-background-color: initial; --theme-button-color: initial; --theme-button-hover-background-color: initial; --theme-button-hover-color: initial; --theme-button-outlined-border-color: initial; --theme-button-outlined-selected-border-color: initial; --theme-button-primary-active-background-color: initial; --theme-button-primary-active-color: initial; --theme-button-primary-background-color: initial; --theme-button-primary-color: initial; --theme-button-primary-hover-background-color: initial; --theme-button-primary-hover-color: initial; --theme-button-primary-selected-background-color: initial; --theme-button-primary-selected-color: initial; --theme-button-selected-background-color: initial; --theme-button-selected-color: initial; --theme-content-background-color: hsl(0,0%,100%); --theme-content-border-color: hsl(210,8%,85%); --theme-footer-background-border-top: 0; --theme-footer-background-color: hsl(210,8%,5%); --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: hsl(210,8%,25%); --theme-footer-link-color-hover: hsl(210,8%,90%); --theme-footer-link-color: hsl(210,9%,75%); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: hsl(210,9%,75%); --theme-footer-title-color: hsl(210,8%,80%); --theme-header-background-border-bottom: 0; --theme-header-background-color: hsl(27, 89%, 48%); --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: hsl(27, 89%, 48%); --theme-header-sponsored-color: hsla(0,0%,100%,0.4); --theme-link-color-hover: initial; --theme-link-color-visited: initial; --theme-link-color: initial; --theme-post-body-font-family: -apple-system,BlinkMacSystemFont,&amp;quot;Segoe UI Adjusted&amp;quot;,&amp;quot;Segoe UI&amp;quot;,&amp;quot;Liberation Sans&amp;quot;,sans-serif; --theme-post-owner-background-color: hsl(210,80%,96%); --theme-post-owner-new-background-color: hsl(210,80%,91%); --theme-post-title-color-hover: var(--theme-link-color-hover); --theme-post-title-color-visited: var(--theme-link-color-visited); --theme-post-title-color: var(--theme-link-color); --theme-post-title-font-family: -apple-system,BlinkMacSystemFont,&amp;quot;Segoe UI Adjusted&amp;quot;,&amp;quot;Segoe UI&amp;quot;,&amp;quot;Liberation Sans&amp;quot;,sans-serif; --theme-primary-custom-100: hsl(27, 89%, calc(48% + ((100% - 48%) * .9))); --theme-primary-custom-200: hsl(27, 89%, calc(48% + ((100% - 48%) * .75))); --theme-primary-custom-300: hsl(27, 89%, calc(48% + ((100% - 48%) * .5))); --theme-primary-custom-400: hsl(27, 89%, 48%); --theme-primary-custom-500: hsl(27, 89%, calc(48% + (48% * -.3))); --theme-primary-custom-600: hsl(27, 89%, calc(48% + (48% * -.6))); --theme-primary-custom: hsl(27, 89%, 48%); --theme-topbar-bottom-border: 1px solid hsl(210,8%,85%); background-color: white; border: 0px; box-sizing: inherit; clear: both; color: #0c0d0e; font-family: -apple-system, &amp;quot;system-ui&amp;quot;, &amp;quot;Segoe UI Adjusted&amp;quot;, &amp;quot;Segoe UI&amp;quot;, &amp;quot;Liberation Sans&amp;quot;, sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-size: 15px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-emoji: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px 0px 1.1em; padding: 0px; vertical-align: baseline;&quot;&gt;&lt;strong style=&quot;--theme-background-attachment: auto; --theme-background-color: hsl(0,0%,100%); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 27; --theme-base-primary-color-l: 48%; --theme-base-primary-color-s: 89%; --theme-body-font-color: hsl(210,8%,5%); --theme-body-font-family: -apple-system,BlinkMacSystemFont,&amp;quot;Segoe UI Adjusted&amp;quot;,&amp;quot;Segoe UI&amp;quot;,&amp;quot;Liberation Sans&amp;quot;,sans-serif; --theme-button-active-background-color: initial; --theme-button-color: initial; --theme-button-hover-background-color: initial; --theme-button-hover-color: initial; --theme-button-outlined-border-color: initial; --theme-button-outlined-selected-border-color: initial; --theme-button-primary-active-background-color: initial; --theme-button-primary-active-color: initial; --theme-button-primary-background-color: initial; --theme-button-primary-color: initial; --theme-button-primary-hover-background-color: initial; --theme-button-primary-hover-color: initial; --theme-button-primary-selected-background-color: initial; --theme-button-primary-selected-color: initial; --theme-button-selected-background-color: initial; --theme-button-selected-color: initial; --theme-content-background-color: hsl(0,0%,100%); --theme-content-border-color: hsl(210,8%,85%); --theme-footer-background-border-top: 0; --theme-footer-background-color: hsl(210,8%,5%); --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: hsl(210,8%,25%); --theme-footer-link-color-hover: hsl(210,8%,90%); --theme-footer-link-color: hsl(210,9%,75%); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: hsl(210,9%,75%); --theme-footer-title-color: hsl(210,8%,80%); --theme-header-background-border-bottom: 0; --theme-header-background-color: hsl(27, 89%, 48%); --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: hsl(27, 89%, 48%); --theme-header-sponsored-color: hsla(0,0%,100%,0.4); --theme-link-color-hover: initial; --theme-link-color-visited: initial; --theme-link-color: initial; --theme-post-body-font-family: -apple-system,BlinkMacSystemFont,&amp;quot;Segoe UI Adjusted&amp;quot;,&amp;quot;Segoe UI&amp;quot;,&amp;quot;Liberation Sans&amp;quot;,sans-serif; --theme-post-owner-background-color: hsl(210,80%,96%); --theme-post-owner-new-background-color: hsl(210,80%,91%); --theme-post-title-color-hover: var(--theme-link-color-hover); --theme-post-title-color-visited: var(--theme-link-color-visited); --theme-post-title-color: var(--theme-link-color); --theme-post-title-font-family: -apple-system,BlinkMacSystemFont,&amp;quot;Segoe UI Adjusted&amp;quot;,&amp;quot;Segoe UI&amp;quot;,&amp;quot;Liberation Sans&amp;quot;,sans-serif; --theme-primary-custom-100: hsl(27, 89%, calc(48% + ((100% - 48%) * .9))); --theme-primary-custom-200: hsl(27, 89%, calc(48% + ((100% - 48%) * .75))); --theme-primary-custom-300: hsl(27, 89%, calc(48% + ((100% - 48%) * .5))); --theme-primary-custom-400: hsl(27, 89%, 48%); --theme-primary-custom-500: hsl(27, 89%, calc(48% + (48% * -.3))); --theme-primary-custom-600: hsl(27, 89%, calc(48% + (48% * -.6))); --theme-primary-custom: hsl(27, 89%, 48%); --theme-topbar-bottom-border: 1px solid hsl(210,8%,85%); border: 0px; box-sizing: inherit; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: bold; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;color: black; font-family: Times; font-size: medium; font-weight: 400;&quot;&gt;#############################################################################&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h4&gt;Step 2: Create a DNS Zone in the Destination Project&lt;/h4&gt;

&lt;pre&gt;&lt;code&gt;# Set destination project
gcloud config set project DESTINATION_PROJECT_ID

# Create a new managed DNS zone
gcloud dns managed-zones create DEST_ZONE_NAME \
  --dns-name=&quot;example.com.&quot; \
  --description=&quot;Migrated DNS zone&quot;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Replace &lt;code&gt;example.com.&lt;/code&gt; with your domain name.&lt;/p&gt;

&lt;hr /&gt;

&lt;h4&gt;Step 3: Import Records into the New Zone&lt;/h4&gt;

&lt;pre&gt;&lt;code&gt;gcloud dns record-sets import exported-dns.yaml \
  --zone=DEST_ZONE_NAME \
  --zone-file-format \
  --delete-all-existing
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;strong&gt;⚠️ Warning:&lt;/strong&gt; This will delete all existing records in the destination zone before importing. Use cautiously in production.&lt;/p&gt;

&lt;hr /&gt;

&lt;h4&gt;Step 4: Update Domain Registrar (If Needed)&lt;/h4&gt;

&lt;p&gt;If you&#39;re transferring the &lt;strong&gt;entire DNS zone&lt;/strong&gt; (not just copying records), make sure to update your domain registrar with the &lt;strong&gt;new NS records&lt;/strong&gt; from the destination project.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;gcloud dns managed-zones describe DEST_ZONE_NAME&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Look for &lt;code&gt;nameServers&lt;/code&gt; and update them at your domain registrar.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3&gt;✅ Tips &amp;amp; Best Practices&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;Double-check TTL and priority values (especially for MX records).&lt;/li&gt;
  &lt;li&gt;Back up DNS records before importing/exporting.&lt;/li&gt;
  &lt;li&gt;Use &lt;code&gt;--dry-run&lt;/code&gt; when testing import commands.&lt;/li&gt;
  &lt;li&gt;Propagate DNS changes outside of low-traffic hours to avoid disruptions.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h3&gt;🎯 Final Thoughts&lt;/h3&gt;

&lt;p&gt;While Google Cloud doesn’t support a direct zone transfer across projects, moving DNS entries is simple using the export/import approach with &lt;code&gt;gcloud&lt;/code&gt;. This process is reliable, repeatable, and useful for multi-project setups or consolidating infrastructure.&lt;/p&gt;

&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script async src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot;&gt;&lt;/script&gt;
&lt;!-- Leaderboard Manas footer --&gt;
&lt;ins class=&quot;adsbygoogle&quot;
     style=&quot;display:inline-block;width:728px;height:90px&quot;
     data-ad-client=&quot;ca-pub-8906930571041974&quot;
     data-ad-slot=&quot;8147594448&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
(adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;&lt;/div&gt;</description><link>http://www.devopszones.com/2025/06/how-to-move-google-cloud-dns-entries.html</link><author>noreply@blogger.com (Manas Ranjan Tripathy)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5873596342621039693.post-5112032093845392542</guid><pubDate>Fri, 13 Jun 2025 16:24:00 +0000</pubDate><atom:updated>2025-06-13T09:24:11.037-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Devops</category><category domain="http://www.blogger.com/atom/ns#">SOLR</category><title>Solr: Replica Management and Autoscaling</title><description>&lt;h2&gt;Solr: Replica Management and Autoscaling&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Apache Solr&lt;/strong&gt; is a powerful, open-source search platform used to build scalable search applications. As your data grows, managing replicas and ensuring high availability becomes critical. This post covers two important aspects of scaling Solr clusters: &lt;strong&gt;Replica Management&lt;/strong&gt; and &lt;strong&gt;Autoscaling&lt;/strong&gt;.&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;📌 What Are Solr Replicas?&lt;/h3&gt;

&lt;p&gt;In Solr, a &lt;strong&gt;replica&lt;/strong&gt; is a copy of a shard. Each Solr collection is split into shards, and each shard can have one or more replicas.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;NRT Replica (Near Real Time)&lt;/strong&gt;: Most commonly used; supports reads and writes.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;TLOG Replica&lt;/strong&gt;: Useful for recovery from transaction logs; ensures durability.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;PULL Replica&lt;/strong&gt;: Read-only replica that pulls index changes from a leader.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Replica types help balance performance, fault tolerance, and recovery time depending on your use case.&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;🔁 Replica Placement and Management&lt;/h3&gt;

&lt;p&gt;Solr allows administrators to control how and where replicas are placed. Best practices include:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Distribute replicas across different nodes for high availability.&lt;/li&gt;
  &lt;li&gt;Use &lt;code&gt;maxShardsPerNode&lt;/code&gt; to limit how many shards a node can handle.&lt;/li&gt;
  &lt;li&gt;Set &lt;code&gt;replicationFactor&lt;/code&gt; appropriately based on your desired fault tolerance (e.g., 3 for 2-node failure tolerance).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Example command to create a collection with 2 shards and 2 replicas per shard:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;curl http://localhost:8983/solr/admin/collections?action=CREATE&amp;name=mycollection&amp;numShards=2&amp;replicationFactor=2&lt;/code&gt;&lt;/pre&gt;

&lt;hr&gt;

&lt;h3&gt;⚙️ Solr Autoscaling (Pre-Solr 9.x)&lt;/h3&gt;

&lt;p&gt;Earlier versions of Solr included an &lt;strong&gt;autoscaling framework&lt;/strong&gt; (now deprecated). It allowed users to define &lt;em&gt;triggers, policies, and preferences&lt;/em&gt; to manage node capacity and auto-place replicas based on defined rules.&lt;/p&gt;

&lt;p&gt;Sample policy configuration:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;{
  &quot;policy&quot;: {
    &quot;replica&quot;: {
      &quot;node&quot;: &quot;not:node1&quot;,
      &quot;cores&quot;: &quot;&lt;=4&quot;
    }
  }
}&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Though deprecated, the concepts are still useful if you&#39;re running older Solr versions (e.g., Solr 8.x).&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;🚀 Solr Autoscaling with Kubernetes or External Orchestrators&lt;/h3&gt;

&lt;p&gt;In modern deployments (Solr 9+), SolrCloud typically runs on Kubernetes or cloud platforms where autoscaling is handled externally. Here&#39;s how you can achieve autoscaling:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Horizontal Pod Autoscaler (Kubernetes)&lt;/strong&gt;: Scale Solr pods based on CPU/memory usage or custom metrics.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Node Autoscaler&lt;/strong&gt;: Automatically add/remove nodes and reassign replicas with help from Solr&#39;s &lt;code&gt;REBALANCELEADERS&lt;/code&gt; or &lt;code&gt;MOVEREPLICA&lt;/code&gt; APIs.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Solr Operator&lt;/strong&gt; (K8s): Use the Solr Operator to manage Solr clusters declaratively with CRDs. It supports scaling and rolling upgrades.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Command to move a replica:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;curl &quot;http://localhost:8983/solr/admin/collections?action=MOVEREPLICA&amp;collection=mycollection&amp;shard=shard1&amp;fromNode=solr1&amp;toNode=solr3&quot;&lt;/code&gt;&lt;/pre&gt;

&lt;hr&gt;

&lt;h3&gt;✅ Best Practices&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;Monitor node capacity and CPU/memory metrics continuously.&lt;/li&gt;
  &lt;li&gt;Balance replicas evenly across nodes and availability zones.&lt;/li&gt;
  &lt;li&gt;Automate replica rebalancing in response to cluster changes.&lt;/li&gt;
  &lt;li&gt;Use Solr&#39;s APIs or cloud-native tooling for orchestration.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;Final Thoughts&lt;/h3&gt;

&lt;p&gt;Replica management and autoscaling are key components in running a reliable and scalable Solr cluster. Whether you&#39;re using Solr&#39;s internal capabilities or leveraging cloud-native tools like Kubernetes, it&#39;s important to plan for failure recovery, load distribution, and dynamic resource management.&lt;/p&gt;

&lt;p&gt;Have questions about SolrCloud scaling or setting up a production-grade search cluster? Let us know in the comments!&lt;/p&gt;
&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script async src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot;&gt;&lt;/script&gt;
&lt;!-- Leaderboard Manas footer --&gt;
&lt;ins class=&quot;adsbygoogle&quot;
     style=&quot;display:inline-block;width:728px;height:90px&quot;
     data-ad-client=&quot;ca-pub-8906930571041974&quot;
     data-ad-slot=&quot;8147594448&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
(adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;&lt;/div&gt;</description><link>http://www.devopszones.com/2025/06/solr-replica-management-and-autoscaling.html</link><author>noreply@blogger.com (Manas Ranjan Tripathy)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5873596342621039693.post-6637176402143449847</guid><pubDate>Tue, 20 May 2025 03:30:00 +0000</pubDate><atom:updated>2025-05-19T20:30:00.119-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">AWS</category><category domain="http://www.blogger.com/atom/ns#">Devops</category><category domain="http://www.blogger.com/atom/ns#">How-to</category><category domain="http://www.blogger.com/atom/ns#">IAC</category><title>Setting Up Remote State Backend with S3</title><description>&lt;h2&gt;🔁 Setting Up Remote State Backend with &lt;code&gt;generate&lt;/code&gt; Blocks&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Terragrunt&lt;/strong&gt; makes it easy to define remote state backends (like S3) in a DRY and reusable way using &lt;code&gt;generate&lt;/code&gt; blocks.&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;generate&lt;/code&gt; block dynamically creates Terraform files (e.g. &lt;code&gt;backend.tf&lt;/code&gt;) before &lt;code&gt;terraform init&lt;/code&gt; runs, so you don’t have to write the same backend config in every module.&lt;/p&gt;

&lt;h3&gt;📁 Directory Structure&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;live/
├── terragrunt.hcl         # Root-level config with backend
└── dev/
    └── s3/
        └── terragrunt.hcl # Module-specific config
&lt;/code&gt;&lt;/pre&gt;

&lt;h3&gt;🌍 Root-level &lt;code&gt;live/terragrunt.hcl&lt;/code&gt;&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;remote_state {
  backend = &quot;s3&quot;
  config = {
    bucket         = &quot;my-terraform-state-bucket&quot;
    key            = &quot;${path_relative_to_include()}/terraform.tfstate&quot;
    region         = &quot;us-east-1&quot;
    encrypt        = true
    dynamodb_table = &quot;terraform-locks&quot;
  }
}

generate &quot;backend&quot; {
  path      = &quot;backend.tf&quot;
  if_exists = &quot;overwrite&quot;
  contents  = &amp;lt;&amp;lt;EOF
terraform {
  backend &quot;s3&quot; {}
}
EOF
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;This will auto-generate a &lt;code&gt;backend.tf&lt;/code&gt; file and enable the S3 backend dynamically.&lt;/p&gt;

&lt;h3&gt;🌱 Module-Level &lt;code&gt;live/dev/s3/terragrunt.hcl&lt;/code&gt;&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;include {
  path = find_in_parent_folders()
}

terraform {
  source = &quot;../../../terraform-modules/s3&quot;
}

inputs = {
  bucket_name = &quot;my-dev-s3-bucket&quot;
  region      = &quot;us-east-1&quot;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;h3&gt;🚀 Running Terragrunt&lt;/h3&gt;
&lt;p&gt;Navigate to your module directory and run:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;terragrunt init
terragrunt apply
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Terragrunt will:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Generate the &lt;code&gt;backend.tf&lt;/code&gt; file&lt;/li&gt;
  &lt;li&gt;Configure your S3 backend automatically&lt;/li&gt;
  &lt;li&gt;Apply the Terraform module with remote state support&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;✅ Advantages&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;Centralized and reusable backend configuration&lt;/li&gt;
  &lt;li&gt;No need to repeat backend blocks in every module&lt;/li&gt;
  &lt;li&gt;Simple to manage multiple environments&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;💡 &lt;strong&gt;Tip:&lt;/strong&gt; You can add environment-specific overrides or additional logic using &lt;code&gt;locals&lt;/code&gt;, &lt;code&gt;inputs&lt;/code&gt;, or &lt;code&gt;dependency&lt;/code&gt; blocks inside Terragrunt files.&lt;/blockquote&gt;
&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script async src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot;&gt;&lt;/script&gt;
&lt;!-- Leaderboard Manas footer --&gt;
&lt;ins class=&quot;adsbygoogle&quot;
     style=&quot;display:inline-block;width:728px;height:90px&quot;
     data-ad-client=&quot;ca-pub-8906930571041974&quot;
     data-ad-slot=&quot;8147594448&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
(adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;&lt;/div&gt;</description><link>http://www.devopszones.com/2025/05/setting-up-remote-state-backend-with-s3.html</link><author>noreply@blogger.com (Manas Ranjan Tripathy)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5873596342621039693.post-7941404590901634335</guid><pubDate>Mon, 19 May 2025 04:00:00 +0000</pubDate><atom:updated>2025-05-18T21:00:00.332-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Devops</category><category domain="http://www.blogger.com/atom/ns#">IAC</category><title>Introduction to Terragrunt with a Simple Example</title><description>&lt;h1&gt;🌍 Introduction to Terragrunt with a Simple Example&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;Terragrunt&lt;/strong&gt; is a thin wrapper for &lt;a href=&quot;https://www.terraform.io/&quot; target=&quot;_blank&quot;&gt;Terraform&lt;/a&gt; that provides extra tools for keeping your configurations DRY (Don&#39;t Repeat Yourself), managing remote state, and working with multiple environments and modules more easily.&lt;/p&gt;

&lt;p&gt;If you&#39;ve worked with Terraform and struggled with:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Copy-pasting the same backend config in multiple places&lt;/li&gt;
  &lt;li&gt;Managing multiple environments like dev/staging/prod&lt;/li&gt;
  &lt;li&gt;Handling dependencies between modules&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Then &lt;strong&gt;Terragrunt&lt;/strong&gt; can be your best friend!&lt;/p&gt;

&lt;h2&gt;🚀 Why Use Terragrunt?&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;✅ Centralized remote state management&lt;/li&gt;
  &lt;li&gt;✅ Keep configurations DRY with reusable components&lt;/li&gt;
  &lt;li&gt;✅ Manage multiple environments cleanly&lt;/li&gt;
  &lt;li&gt;✅ Handle module dependencies easily&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;🔧 How Terragrunt Works&lt;/h2&gt;
&lt;p&gt;Terragrunt uses a file named &lt;code&gt;terragrunt.hcl&lt;/code&gt; to:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Define where the Terraform module source lives&lt;/li&gt;
  &lt;li&gt;Inject input variables dynamically&lt;/li&gt;
  &lt;li&gt;Configure remote state settings&lt;/li&gt;
  &lt;li&gt;Establish dependencies between modules&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;📦 A Simple Terragrunt Example&lt;/h2&gt;

&lt;h3&gt;🎯 Goal:&lt;/h3&gt;
&lt;p&gt;Provision an AWS S3 bucket using a reusable Terraform module and Terragrunt.&lt;/p&gt;

&lt;h3&gt;🗂️ Directory Structure&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;.
├── terraform-modules/
│   └── s3/
│       └── main.tf
└── live/
    └── dev/
        └── s3/
            └── terragrunt.hcl
&lt;/code&gt;&lt;/pre&gt;

&lt;h3&gt;📁 terraform-modules/s3/main.tf&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;provider &quot;aws&quot; {
  region = var.region
}

resource &quot;aws_s3_bucket&quot; &quot;this&quot; {
  bucket = var.bucket_name
  acl    = &quot;private&quot;
}

variable &quot;bucket_name&quot; {}
variable &quot;region&quot; {}
&lt;/code&gt;&lt;/pre&gt;

&lt;h3&gt;📁 live/dev/s3/terragrunt.hcl&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;terraform {
  source = &quot;../../../terraform-modules/s3&quot;
}

inputs = {
  bucket_name = &quot;my-dev-s3-bucket-123456&quot;
  region      = &quot;us-east-1&quot;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;h3&gt;▶️ Run the Code&lt;/h3&gt;
&lt;p&gt;From the &lt;code&gt;live/dev/s3/&lt;/code&gt; directory, run:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;terragrunt init
terragrunt apply
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;This pulls the Terraform module, injects inputs, and applies it — all without duplicating configs.&lt;/p&gt;

&lt;h2&gt;📌 Summary&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;Reduces configuration duplication&lt;/li&gt;
  &lt;li&gt;Simplifies environment management&lt;/li&gt;
  &lt;li&gt;Handles shared infrastructure modules cleanly&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;✅ Next Steps&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;Try setting up remote state backend with &lt;code&gt;generate&lt;/code&gt; blocks&lt;/li&gt;
  &lt;li&gt;Use &lt;code&gt;locals&lt;/code&gt; and &lt;code&gt;dependencies&lt;/code&gt; blocks&lt;/li&gt;
  &lt;li&gt;Explore environment-specific overrides with &lt;code&gt;include&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;💡 &lt;strong&gt;Pro Tip:&lt;/strong&gt; Keep &lt;code&gt;terraform-modules&lt;/code&gt; in version control and reuse across all your &lt;code&gt;live&lt;/code&gt; environments (dev, staging, prod).&lt;/blockquote&gt;
&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script async src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot;&gt;&lt;/script&gt;
&lt;!-- Leaderboard Manas footer --&gt;
&lt;ins class=&quot;adsbygoogle&quot;
     style=&quot;display:inline-block;width:728px;height:90px&quot;
     data-ad-client=&quot;ca-pub-8906930571041974&quot;
     data-ad-slot=&quot;8147594448&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
(adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;&lt;/div&gt;</description><link>http://www.devopszones.com/2025/05/introduction-to-terragrunt-with-simple.html</link><author>noreply@blogger.com (Manas Ranjan Tripathy)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5873596342621039693.post-7197592037093184442</guid><pubDate>Sun, 18 May 2025 01:30:00 +0000</pubDate><atom:updated>2025-05-17T18:30:00.262-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Devops</category><category domain="http://www.blogger.com/atom/ns#">How-to</category><category domain="http://www.blogger.com/atom/ns#">Kubernetes</category><title>What Cluster Autoscaler Does? When Does Cluster Autoscaler Decrease Desired Capacity?</title><description>&lt;h3 data-end=&quot;172&quot; data-start=&quot;138&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;What Cluster Autoscaler Does&lt;/span&gt;&lt;/h3&gt;
&lt;ul data-end=&quot;580&quot; data-start=&quot;174&quot;&gt;
&lt;li data-end=&quot;362&quot; data-start=&quot;174&quot;&gt;
&lt;p data-end=&quot;362&quot; data-start=&quot;176&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;The &lt;strong data-end=&quot;202&quot; data-start=&quot;180&quot;&gt;Cluster Autoscaler&lt;/strong&gt; (commonly used with Kubernetes on AWS, GCP, or Azure) automatically adjusts the size of your &lt;strong data-end=&quot;311&quot; data-start=&quot;296&quot;&gt;node groups&lt;/strong&gt; (e.g., ASGs in AWS) based on the current workload.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;460&quot; data-start=&quot;363&quot;&gt;
&lt;p data-end=&quot;408&quot; data-start=&quot;365&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;It increases the &lt;strong data-end=&quot;402&quot; data-start=&quot;382&quot;&gt;desired capacity&lt;/strong&gt; when:&lt;/span&gt;&lt;/p&gt;
&lt;ul data-end=&quot;460&quot; data-start=&quot;411&quot;&gt;
&lt;li data-end=&quot;460&quot; data-start=&quot;411&quot;&gt;
&lt;p data-end=&quot;460&quot; data-start=&quot;413&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;There are unscheduled pods that need resources.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-end=&quot;580&quot; data-start=&quot;461&quot;&gt;
&lt;p data-end=&quot;506&quot; data-start=&quot;463&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;It decreases the &lt;strong data-end=&quot;500&quot; data-start=&quot;480&quot;&gt;desired capacity&lt;/strong&gt; when:&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;&lt;ul data-end=&quot;580&quot; data-start=&quot;509&quot;&gt;
&lt;li data-end=&quot;580&quot; data-start=&quot;509&quot;&gt;
&lt;p data-end=&quot;580&quot; data-start=&quot;511&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;Nodes are underutilized and their pods can be safely moved elsewhere.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/ul&gt;&lt;div&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;h3 data-end=&quot;636&quot; data-start=&quot;587&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;How It Works with ASG&#39;s &lt;code data-end=&quot;636&quot; data-start=&quot;618&quot;&gt;desired_capacity&lt;/code&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;ul data-end=&quot;1006&quot; data-start=&quot;638&quot;&gt;
&lt;li data-end=&quot;728&quot; data-start=&quot;638&quot;&gt;
&lt;p data-end=&quot;728&quot; data-start=&quot;640&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;The autoscaler &lt;strong data-end=&quot;676&quot; data-start=&quot;655&quot;&gt;directly modifies&lt;/strong&gt; the &lt;code data-end=&quot;699&quot; data-start=&quot;681&quot;&gt;desired_capacity&lt;/code&gt; of the ASG to scale up/down.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1006&quot; data-start=&quot;729&quot;&gt;
&lt;p data-end=&quot;789&quot; data-start=&quot;731&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;This change happens &lt;strong data-end=&quot;775&quot; data-start=&quot;751&quot;&gt;outside of Terraform&lt;/strong&gt;, which means:&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;&lt;ul data-end=&quot;1006&quot; data-start=&quot;792&quot;&gt;
&lt;li data-end=&quot;881&quot; data-start=&quot;792&quot;&gt;
&lt;p data-end=&quot;881&quot; data-start=&quot;794&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;Terraform will see a &lt;strong data-end=&quot;824&quot; data-start=&quot;815&quot;&gt;drift&lt;/strong&gt; if &lt;code data-end=&quot;846&quot; data-start=&quot;828&quot;&gt;desired_capacity&lt;/code&gt; in the &lt;code data-end=&quot;859&quot; data-start=&quot;854&quot;&gt;.tf&lt;/code&gt; file is fixed/static.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1006&quot; data-start=&quot;884&quot;&gt;
&lt;p data-end=&quot;1006&quot; data-start=&quot;886&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;If &lt;code data-end=&quot;926&quot; data-start=&quot;889&quot;&gt;ignore_changes = [desired_capacity]&lt;/code&gt; is &lt;strong data-end=&quot;937&quot; data-start=&quot;930&quot;&gt;not&lt;/strong&gt; set, Terraform will try to &lt;strong data-end=&quot;983&quot; data-start=&quot;965&quot;&gt;revert it back&lt;/strong&gt; during the next apply.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/ul&gt;&lt;div&gt;&lt;h3 data-end=&quot;1069&quot; data-start=&quot;1013&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;Best Practice with Terraform + Cluster Autoscaler&lt;/span&gt;&lt;/h3&gt;
&lt;p data-end=&quot;1134&quot; data-start=&quot;1071&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;To &lt;strong data-end=&quot;1133&quot; data-start=&quot;1074&quot;&gt;avoid conflict between Terraform and Cluster Autoscaler&lt;/strong&gt;:&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;1198&quot; data-start=&quot;1136&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;overflow-y-auto p-4&quot; dir=&quot;ltr&quot;&gt;&lt;code class=&quot;whitespace-pre! language-hcl&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;lifecycle {
  ignore_changes = [desired_capacity]
}
&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end=&quot;1221&quot; data-start=&quot;1200&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;This tells Terraform:&lt;/span&gt;&lt;/p&gt;
&lt;blockquote data-end=&quot;1351&quot; data-start=&quot;1222&quot;&gt;
&lt;p data-end=&quot;1351&quot; data-start=&quot;1224&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;&quot;Let the Cluster Autoscaler manage the desired capacity dynamically; don&#39;t try to enforce the value from the Terraform config.&quot;&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;h3 data-end=&quot;304&quot; data-start=&quot;238&quot;&gt;&lt;strong data-end=&quot;304&quot; data-start=&quot;245&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;When Does Cluster Autoscaler Decrease Desired Capacity?&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;
&lt;p data-end=&quot;430&quot; data-start=&quot;306&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;The Cluster Autoscaler will &lt;strong data-end=&quot;348&quot; data-start=&quot;334&quot;&gt;scale down&lt;/strong&gt; (i.e., reduce desired capacity) when &lt;strong data-end=&quot;421&quot; data-start=&quot;386&quot;&gt;all of the following conditions&lt;/strong&gt; are met:&lt;/span&gt;&lt;/p&gt;
&lt;ol data-end=&quot;1221&quot; data-start=&quot;432&quot;&gt;
&lt;li data-end=&quot;583&quot; data-start=&quot;432&quot;&gt;
&lt;p data-end=&quot;462&quot; data-start=&quot;435&quot;&gt;&lt;strong data-end=&quot;460&quot; data-start=&quot;435&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;Node is underutilized&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul data-end=&quot;583&quot; data-start=&quot;466&quot;&gt;
&lt;li data-end=&quot;541&quot; data-start=&quot;466&quot;&gt;
&lt;p data-end=&quot;541&quot; data-start=&quot;468&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;The node has very low CPU and memory usage (below configured thresholds).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;583&quot; data-start=&quot;545&quot;&gt;
&lt;p data-end=&quot;583&quot; data-start=&quot;547&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;Default: CPU and memory usage &amp;lt; 50%.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-end=&quot;831&quot; data-start=&quot;585&quot;&gt;
&lt;p data-end=&quot;623&quot; data-start=&quot;588&quot;&gt;&lt;strong data-end=&quot;621&quot; data-start=&quot;588&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;Pods on the node can be moved&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul data-end=&quot;831&quot; data-start=&quot;627&quot;&gt;
&lt;li data-end=&quot;753&quot; data-start=&quot;627&quot;&gt;
&lt;p data-end=&quot;753&quot; data-start=&quot;629&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;All &lt;strong data-end=&quot;667&quot; data-start=&quot;633&quot;&gt;non-daemonset, non-static pods&lt;/strong&gt; running on the node can be rescheduled to other nodes &lt;strong data-end=&quot;752&quot; data-start=&quot;722&quot;&gt;without causing disruption&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;831&quot; data-start=&quot;757&quot;&gt;
&lt;p data-end=&quot;831&quot; data-start=&quot;759&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;There must be enough capacity elsewhere in the cluster to move the pods.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-end=&quot;946&quot; data-start=&quot;833&quot;&gt;
&lt;p data-end=&quot;861&quot; data-start=&quot;836&quot;&gt;&lt;strong data-end=&quot;859&quot; data-start=&quot;836&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;Grace period is met&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul data-end=&quot;946&quot; data-start=&quot;865&quot;&gt;
&lt;li data-end=&quot;946&quot; data-start=&quot;865&quot;&gt;
&lt;p data-end=&quot;946&quot; data-start=&quot;867&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;The node has been &lt;strong data-end=&quot;923&quot; data-start=&quot;885&quot;&gt;underutilized for a certain period&lt;/strong&gt; (default: 10 minutes).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1221&quot; data-start=&quot;948&quot;&gt;
&lt;p data-end=&quot;998&quot; data-start=&quot;951&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;&lt;strong data-end=&quot;988&quot; data-start=&quot;951&quot;&gt;No scale-down blockers are active&lt;/strong&gt;, such as:&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;&lt;ul data-end=&quot;1221&quot; data-start=&quot;1002&quot;&gt;
&lt;li data-end=&quot;1058&quot; data-start=&quot;1002&quot;&gt;
&lt;p data-end=&quot;1058&quot; data-start=&quot;1004&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;&lt;strong data-end=&quot;1035&quot; data-start=&quot;1004&quot;&gt;PodDisruptionBudgets (PDBs)&lt;/strong&gt; that prevent eviction.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1092&quot; data-start=&quot;1062&quot;&gt;
&lt;p data-end=&quot;1092&quot; data-start=&quot;1064&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;Pods with &lt;strong data-end=&quot;1091&quot; data-start=&quot;1074&quot;&gt;local storage&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1171&quot; data-start=&quot;1096&quot;&gt;
&lt;p data-end=&quot;1171&quot; data-start=&quot;1098&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;&lt;strong data-end=&quot;1123&quot; data-start=&quot;1098&quot;&gt;Recently started pods&lt;/strong&gt; or nodes (default cooldown period: 10 minutes).&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1221&quot; data-start=&quot;1175&quot;&gt;
&lt;p data-end=&quot;1221&quot; data-start=&quot;1177&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;&lt;strong data-end=&quot;1200&quot; data-start=&quot;1177&quot;&gt;Non-replicated pods&lt;/strong&gt; that can’t be moved.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/ol&gt;&lt;div&gt;&lt;h3 data-end=&quot;1266&quot; data-start=&quot;1228&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;What Happens During Scale Down?&lt;/span&gt;&lt;/h3&gt;
&lt;p data-end=&quot;1300&quot; data-start=&quot;1268&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;If all conditions are satisfied:&lt;/span&gt;&lt;/p&gt;
&lt;ul data-end=&quot;1513&quot; data-start=&quot;1301&quot;&gt;
&lt;li data-end=&quot;1350&quot; data-start=&quot;1301&quot;&gt;
&lt;p data-end=&quot;1350&quot; data-start=&quot;1303&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;Cluster Autoscaler marks the node as deletable.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1372&quot; data-start=&quot;1351&quot;&gt;
&lt;p data-end=&quot;1372&quot; data-start=&quot;1353&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;It evicts the pods.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1463&quot; data-start=&quot;1373&quot;&gt;
&lt;p data-end=&quot;1463&quot; data-start=&quot;1375&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;It calls the cloud provider API (e.g., AWS ASG) to reduce the &lt;strong data-end=&quot;1457&quot; data-start=&quot;1437&quot;&gt;desired capacity&lt;/strong&gt; by 1.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1513&quot; data-start=&quot;1464&quot;&gt;
&lt;p data-end=&quot;1513&quot; data-start=&quot;1466&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;The Auto Scaling Group terminates the instance.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;li data-end=&quot;1715&quot; data-start=&quot;1544&quot;&gt;&lt;p data-end=&quot;1715&quot; data-start=&quot;1546&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;&lt;strong data-end=&quot;1569&quot; data-start=&quot;1546&quot;&gt;Terraform conflict:&lt;/strong&gt; If Terraform manages the ASG’s &lt;code data-end=&quot;1619&quot; data-start=&quot;1601&quot;&gt;desired_capacity&lt;/code&gt;, and doesn’t ignore changes, it might revert this scale-down during the next &lt;code data-end=&quot;1714&quot; data-start=&quot;1697&quot;&gt;terraform apply&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1835&quot; data-start=&quot;1716&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;
&lt;/span&gt;&lt;p data-end=&quot;1835&quot; data-start=&quot;1718&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;&lt;strong data-end=&quot;1747&quot; data-start=&quot;1718&quot;&gt;Termination grace period:&lt;/strong&gt; The pods on the node are gracefully evicted using the standard pod termination process.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/div&gt;&lt;div&gt;&lt;h3 data-end=&quot;1884&quot; data-start=&quot;1842&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;Example: AWS with Cluster Autoscaler&lt;/span&gt;&lt;/h3&gt;
&lt;p data-end=&quot;1963&quot; data-start=&quot;1886&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;If an AWS ASG has &lt;code data-end=&quot;1918&quot; data-start=&quot;1904&quot;&gt;min_size = 1&lt;/code&gt;, &lt;code data-end=&quot;1934&quot; data-start=&quot;1920&quot;&gt;max_size = 5&lt;/code&gt;, and &lt;code data-end=&quot;1962&quot; data-start=&quot;1940&quot;&gt;desired_capacity = 3&lt;/code&gt;:&lt;/span&gt;&lt;/p&gt;
&lt;ul data-end=&quot;2108&quot; data-start=&quot;1964&quot;&gt;
&lt;li data-end=&quot;2046&quot; data-start=&quot;1964&quot;&gt;
&lt;p data-end=&quot;2046&quot; data-start=&quot;1966&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;Cluster Autoscaler may reduce &lt;code data-end=&quot;2014&quot; data-start=&quot;1996&quot;&gt;desired_capacity&lt;/code&gt; to 2 or 1 based on utilization.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;2108&quot; data-start=&quot;2047&quot;&gt;
&lt;p data-end=&quot;2108&quot; data-start=&quot;2049&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;But it will &lt;strong data-end=&quot;2090&quot; data-start=&quot;2061&quot;&gt;never go below &lt;code data-end=&quot;2088&quot; data-start=&quot;2078&quot;&gt;min_size&lt;/code&gt;&lt;/strong&gt; (1 in this case).&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;h3 data-end=&quot;291&quot; data-start=&quot;250&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;Key Threshold Flags for Scale Down&lt;/span&gt;&lt;/h3&gt;
&lt;p data-end=&quot;422&quot; data-start=&quot;293&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;You configure these thresholds in the &lt;strong data-end=&quot;369&quot; data-start=&quot;331&quot;&gt;Cluster Autoscaler deployment YAML&lt;/strong&gt; under the container&#39;s &lt;code data-end=&quot;402&quot; data-start=&quot;392&quot;&gt;command:&lt;/code&gt; or &lt;code data-end=&quot;413&quot; data-start=&quot;406&quot;&gt;args:&lt;/code&gt; section.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;455&quot; data-start=&quot;424&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;Here are the most common flags:&lt;/span&gt;&lt;/p&gt;
&lt;h4 data-end=&quot;505&quot; data-start=&quot;457&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;1. &lt;strong data-end=&quot;505&quot; data-start=&quot;465&quot;&gt;&lt;code data-end=&quot;503&quot; data-start=&quot;467&quot;&gt;--scale-down-utilization-threshold&lt;/code&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;ul data-end=&quot;719&quot; data-start=&quot;506&quot;&gt;
&lt;li data-end=&quot;532&quot; data-start=&quot;506&quot;&gt;
&lt;p data-end=&quot;532&quot; data-start=&quot;508&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;&lt;strong data-end=&quot;520&quot; data-start=&quot;508&quot;&gt;Default:&lt;/strong&gt; &lt;code data-end=&quot;526&quot; data-start=&quot;521&quot;&gt;0.5&lt;/code&gt; (50%)&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;644&quot; data-start=&quot;533&quot;&gt;
&lt;p data-end=&quot;644&quot; data-start=&quot;535&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;&lt;strong data-end=&quot;547&quot; data-start=&quot;535&quot;&gt;Meaning:&lt;/strong&gt; If a node’s average CPU and memory usage is below this threshold, it&#39;s considered underutilized.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;719&quot; data-start=&quot;645&quot;&gt;
&lt;p data-end=&quot;660&quot; data-start=&quot;647&quot;&gt;&lt;strong data-end=&quot;659&quot; data-start=&quot;647&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;Example:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;719&quot; data-start=&quot;663&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none rounded-t-[5px]&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;overflow-y-auto p-4&quot; dir=&quot;ltr&quot;&gt;&lt;code class=&quot;whitespace-pre! language-yaml&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;&lt;span class=&quot;hljs-bullet&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;hljs-string&quot;&gt;--scale-down-utilization-threshold=0.4&lt;/span&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-end=&quot;761&quot; data-start=&quot;721&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;2. &lt;strong data-end=&quot;761&quot; data-start=&quot;729&quot;&gt;&lt;code data-end=&quot;759&quot; data-start=&quot;731&quot;&gt;--scale-down-unneeded-time&lt;/code&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;ul data-end=&quot;945&quot; data-start=&quot;762&quot;&gt;
&lt;li data-end=&quot;782&quot; data-start=&quot;762&quot;&gt;
&lt;p data-end=&quot;782&quot; data-start=&quot;764&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;&lt;strong data-end=&quot;776&quot; data-start=&quot;764&quot;&gt;Default:&lt;/strong&gt; &lt;code data-end=&quot;782&quot; data-start=&quot;777&quot;&gt;10m&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;879&quot; data-start=&quot;783&quot;&gt;
&lt;p data-end=&quot;879&quot; data-start=&quot;785&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;&lt;strong data-end=&quot;797&quot; data-start=&quot;785&quot;&gt;Meaning:&lt;/strong&gt; Node must be underutilized for this duration before it&#39;s eligible for scale-down.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;945&quot; data-start=&quot;880&quot;&gt;
&lt;p data-end=&quot;895&quot; data-start=&quot;882&quot;&gt;&lt;strong data-end=&quot;894&quot; data-start=&quot;882&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;Example:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;945&quot; data-start=&quot;898&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none rounded-t-[5px]&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;overflow-y-auto p-4&quot; dir=&quot;ltr&quot;&gt;&lt;code class=&quot;whitespace-pre! language-yaml&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;&lt;span class=&quot;hljs-bullet&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;hljs-string&quot;&gt;--scale-down-unneeded-time=5m&lt;/span&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-end=&quot;989&quot; data-start=&quot;947&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;3. &lt;strong data-end=&quot;989&quot; data-start=&quot;955&quot;&gt;&lt;code data-end=&quot;987&quot; data-start=&quot;957&quot;&gt;--scale-down-delay-after-add&lt;/code&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;ul data-end=&quot;1167&quot; data-start=&quot;990&quot;&gt;
&lt;li data-end=&quot;1010&quot; data-start=&quot;990&quot;&gt;
&lt;p data-end=&quot;1010&quot; data-start=&quot;992&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;&lt;strong data-end=&quot;1004&quot; data-start=&quot;992&quot;&gt;Default:&lt;/strong&gt; &lt;code data-end=&quot;1010&quot; data-start=&quot;1005&quot;&gt;10m&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1100&quot; data-start=&quot;1011&quot;&gt;
&lt;p data-end=&quot;1100&quot; data-start=&quot;1013&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;&lt;strong data-end=&quot;1025&quot; data-start=&quot;1013&quot;&gt;Meaning:&lt;/strong&gt; Time to wait after adding a new node before considering it for scale-down.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1167&quot; data-start=&quot;1101&quot;&gt;
&lt;p data-end=&quot;1115&quot; data-start=&quot;1103&quot;&gt;&lt;strong data-end=&quot;1115&quot; data-start=&quot;1103&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;Example:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;1167&quot; data-start=&quot;1118&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none rounded-t-[5px]&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;overflow-y-auto p-4&quot; dir=&quot;ltr&quot;&gt;&lt;code class=&quot;whitespace-pre! language-yaml&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;&lt;span class=&quot;hljs-bullet&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;hljs-string&quot;&gt;--scale-down-delay-after-add=5m&lt;/span&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-end=&quot;1214&quot; data-start=&quot;1169&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;4. &lt;strong data-end=&quot;1214&quot; data-start=&quot;1177&quot;&gt;&lt;code data-end=&quot;1212&quot; data-start=&quot;1179&quot;&gt;--scale-down-delay-after-delete&lt;/code&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;ul data-end=&quot;1312&quot; data-start=&quot;1215&quot;&gt;
&lt;li data-end=&quot;1234&quot; data-start=&quot;1215&quot;&gt;
&lt;p data-end=&quot;1234&quot; data-start=&quot;1217&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;&lt;strong data-end=&quot;1229&quot; data-start=&quot;1217&quot;&gt;Default:&lt;/strong&gt; &lt;code data-end=&quot;1234&quot; data-start=&quot;1230&quot;&gt;0s&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1312&quot; data-start=&quot;1235&quot;&gt;
&lt;p data-end=&quot;1312&quot; data-start=&quot;1237&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;&lt;strong data-end=&quot;1249&quot; data-start=&quot;1237&quot;&gt;Meaning:&lt;/strong&gt; Delay after a scale-down before another scale-down is allowed.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-end=&quot;1348&quot; data-start=&quot;1314&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;5. &lt;strong data-end=&quot;1348&quot; data-start=&quot;1322&quot;&gt;&lt;code data-end=&quot;1346&quot; data-start=&quot;1324&quot;&gt;--scale-down-enabled&lt;/code&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;ul data-end=&quot;1431&quot; data-start=&quot;1349&quot;&gt;
&lt;li data-end=&quot;1370&quot; data-start=&quot;1349&quot;&gt;
&lt;p data-end=&quot;1370&quot; data-start=&quot;1351&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;&lt;strong data-end=&quot;1363&quot; data-start=&quot;1351&quot;&gt;Default:&lt;/strong&gt; &lt;code data-end=&quot;1370&quot; data-start=&quot;1364&quot;&gt;true&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1431&quot; data-start=&quot;1371&quot;&gt;
&lt;p data-end=&quot;1431&quot; data-start=&quot;1373&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;Set to &lt;code data-end=&quot;1387&quot; data-start=&quot;1380&quot;&gt;false&lt;/code&gt; if you want to disable scale-down entirely.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1436&quot; data-start=&quot;1433&quot; /&gt;
&lt;h3 data-end=&quot;1489&quot; data-start=&quot;1438&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;Example (Kubernetes Deployment YAML Snippet)&lt;/span&gt;&lt;/h3&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;1872&quot; data-start=&quot;1491&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none rounded-t-[5px]&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;overflow-y-auto p-4&quot; dir=&quot;ltr&quot;&gt;&lt;code class=&quot;whitespace-pre! language-yaml&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;&lt;span class=&quot;hljs-attr&quot;&gt;spec:&lt;/span&gt;
  &lt;span class=&quot;hljs-attr&quot;&gt;containers:&lt;/span&gt;
    &lt;span class=&quot;hljs-bullet&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;hljs-attr&quot;&gt;name:&lt;/span&gt; &lt;span class=&quot;hljs-string&quot;&gt;cluster-autoscaler&lt;/span&gt;
      &lt;span class=&quot;hljs-attr&quot;&gt;image:&lt;/span&gt; &lt;span class=&quot;hljs-string&quot;&gt;k8s.gcr.io/autoscaling/cluster-autoscaler:v1.27.0&lt;/span&gt;
      &lt;span class=&quot;hljs-attr&quot;&gt;command:&lt;/span&gt;
        &lt;span class=&quot;hljs-bullet&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;hljs-string&quot;&gt;./cluster-autoscaler&lt;/span&gt;
      &lt;span class=&quot;hljs-attr&quot;&gt;args:&lt;/span&gt;
        &lt;span class=&quot;hljs-bullet&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;hljs-string&quot;&gt;--cloud-provider=aws&lt;/span&gt;
        &lt;span class=&quot;hljs-bullet&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;hljs-string&quot;&gt;--nodes=1:5:my-node-group&lt;/span&gt;
        &lt;span class=&quot;hljs-bullet&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;hljs-string&quot;&gt;--scale-down-utilization-threshold=0.4&lt;/span&gt;
        &lt;span class=&quot;hljs-bullet&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;hljs-string&quot;&gt;--scale-down-unneeded-time=5m&lt;/span&gt;
        &lt;span class=&quot;hljs-bullet&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;hljs-string&quot;&gt;--scale-down-delay-after-add=2m&lt;/span&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;hr data-end=&quot;1877&quot; data-start=&quot;1874&quot; /&gt;
&lt;h3 data-end=&quot;1899&quot; data-start=&quot;1879&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;How to Update&lt;/span&gt;&lt;/h3&gt;
&lt;ol data-end=&quot;2160&quot; data-start=&quot;1901&quot;&gt;
&lt;li data-end=&quot;2022&quot; data-start=&quot;1901&quot;&gt;
&lt;p data-end=&quot;1943&quot; data-start=&quot;1904&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;Edit the Cluster Autoscaler deployment:&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;2022&quot; data-start=&quot;1947&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none rounded-t-[5px]&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;kubectl edit deployment cluster-autoscaler -n kube-system&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li data-end=&quot;2071&quot; data-start=&quot;2024&quot;&gt;
&lt;p data-end=&quot;2071&quot; data-start=&quot;2027&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;Modify the &lt;code data-end=&quot;2045&quot; data-start=&quot;2038&quot;&gt;args:&lt;/code&gt; under the container spec.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;2160&quot; data-start=&quot;2073&quot;&gt;
&lt;p data-end=&quot;2160&quot; data-start=&quot;2076&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;Save and exit — Kubernetes will automatically restart the pod with the new settings.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;h3 data-end=&quot;246&quot; data-start=&quot;202&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;What is a PodDisruptionBudget (PDB)?&lt;/span&gt;&lt;/h3&gt;
&lt;p data-end=&quot;405&quot; data-start=&quot;248&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;A &lt;strong data-end=&quot;257&quot; data-start=&quot;250&quot;&gt;PDB&lt;/strong&gt; defines the number of pods in a group (usually from a Deployment or StatefulSet) that &lt;strong data-end=&quot;369&quot; data-start=&quot;344&quot;&gt;must remain available&lt;/strong&gt; during voluntary disruptions, like:&lt;/span&gt;&lt;/p&gt;
&lt;ul data-end=&quot;525&quot; data-start=&quot;407&quot;&gt;
&lt;li data-end=&quot;466&quot; data-start=&quot;407&quot;&gt;
&lt;p data-end=&quot;466&quot; data-start=&quot;409&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;Draining a node (e.g., for Cluster Autoscaler scale-down)&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;491&quot; data-start=&quot;467&quot;&gt;
&lt;p data-end=&quot;491&quot; data-start=&quot;469&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;Manual &lt;code data-end=&quot;491&quot; data-start=&quot;476&quot;&gt;kubectl drain&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;509&quot; data-start=&quot;492&quot;&gt;
&lt;p data-end=&quot;509&quot; data-start=&quot;494&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;Rolling updates&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;525&quot; data-start=&quot;510&quot;&gt;
&lt;p data-end=&quot;525&quot; data-start=&quot;512&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;Node upgrades&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;601&quot; data-start=&quot;527&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;It does &lt;strong data-end=&quot;542&quot; data-start=&quot;535&quot;&gt;not&lt;/strong&gt; protect against involuntary disruptions like node crashes.&lt;/span&gt;&lt;/p&gt;
&lt;h3 data-end=&quot;639&quot; data-start=&quot;608&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;How PDBs Prevent Eviction&lt;/span&gt;&lt;/h3&gt;
&lt;p data-end=&quot;847&quot; data-start=&quot;641&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;When the &lt;strong data-end=&quot;672&quot; data-start=&quot;650&quot;&gt;Cluster Autoscaler&lt;/strong&gt; tries to delete a node, it must &lt;strong data-end=&quot;723&quot; data-start=&quot;705&quot;&gt;evict all pods&lt;/strong&gt; from it. But if evicting even one pod would violate the PDB, the &lt;strong data-end=&quot;812&quot; data-start=&quot;789&quot;&gt;eviction is blocked&lt;/strong&gt; and the node can&#39;t be scaled down.&lt;/span&gt;&lt;/p&gt;
&lt;h4 data-end=&quot;871&quot; data-start=&quot;849&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;Example Scenario:&lt;/span&gt;&lt;/h4&gt;
&lt;ul data-end=&quot;1397&quot; data-start=&quot;873&quot;&gt;
&lt;li data-end=&quot;913&quot; data-start=&quot;873&quot;&gt;
&lt;p data-end=&quot;913&quot; data-start=&quot;875&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;You have a Deployment with 3 replicas.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1117&quot; data-start=&quot;914&quot;&gt;
&lt;p data-end=&quot;935&quot; data-start=&quot;916&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;You apply this PDB:&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;1117&quot; data-start=&quot;938&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none rounded-t-[5px]&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;overflow-y-auto p-4&quot; dir=&quot;ltr&quot;&gt;&lt;code class=&quot;whitespace-pre! language-yaml&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;&lt;span class=&quot;hljs-attr&quot;&gt;apiVersion:&lt;/span&gt; &lt;span class=&quot;hljs-string&quot;&gt;policy/v1&lt;/span&gt;
&lt;span class=&quot;hljs-attr&quot;&gt;kind:&lt;/span&gt; &lt;span class=&quot;hljs-string&quot;&gt;PodDisruptionBudget&lt;/span&gt;
&lt;span class=&quot;hljs-attr&quot;&gt;metadata:&lt;/span&gt;
  &lt;span class=&quot;hljs-attr&quot;&gt;name:&lt;/span&gt; &lt;span class=&quot;hljs-string&quot;&gt;my-app-pdb&lt;/span&gt;
&lt;span class=&quot;hljs-attr&quot;&gt;spec:&lt;/span&gt;
  &lt;span class=&quot;hljs-attr&quot;&gt;minAvailable:&lt;/span&gt; &lt;span class=&quot;hljs-number&quot;&gt;3&lt;/span&gt;
  &lt;span class=&quot;hljs-attr&quot;&gt;selector:&lt;/span&gt;
    &lt;span class=&quot;hljs-attr&quot;&gt;matchLabels:&lt;/span&gt;
      &lt;span class=&quot;hljs-attr&quot;&gt;app:&lt;/span&gt; &lt;span class=&quot;hljs-string&quot;&gt;my-app&lt;/span&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1158&quot; data-start=&quot;1118&quot;&gt;
&lt;p data-end=&quot;1158&quot; data-start=&quot;1120&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;All 3 pods are running across 3 nodes.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1397&quot; data-start=&quot;1159&quot;&gt;
&lt;p data-end=&quot;1233&quot; data-start=&quot;1161&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;If Cluster Autoscaler tries to scale down a node with one of these pods:&lt;/span&gt;&lt;/p&gt;
&lt;ul data-end=&quot;1397&quot; data-start=&quot;1236&quot;&gt;
&lt;li data-end=&quot;1264&quot; data-start=&quot;1236&quot;&gt;
&lt;p data-end=&quot;1264&quot; data-start=&quot;1238&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;It tries to evict the pod.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1351&quot; data-start=&quot;1267&quot;&gt;
&lt;p data-end=&quot;1351&quot; data-start=&quot;1269&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;Evicting it would reduce the available pods to &lt;strong data-end=&quot;1321&quot; data-start=&quot;1316&quot;&gt;2&lt;/strong&gt;, violating &lt;code data-end=&quot;1350&quot; data-start=&quot;1333&quot;&gt;minAvailable: 3&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1397&quot; data-start=&quot;1354&quot;&gt;
&lt;p data-end=&quot;1397&quot; data-start=&quot;1356&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;&lt;strong data-end=&quot;1374&quot; data-start=&quot;1356&quot;&gt;Eviction fails&lt;/strong&gt;, and the node remains.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1435&quot; data-start=&quot;1404&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;How to Avoid This Problem&lt;/span&gt;&lt;/h3&gt;
&lt;ol data-end=&quot;2041&quot; data-start=&quot;1437&quot;&gt;
&lt;li data-end=&quot;1643&quot; data-start=&quot;1437&quot;&gt;
&lt;p data-end=&quot;1494&quot; data-start=&quot;1440&quot;&gt;&lt;strong data-end=&quot;1494&quot; data-start=&quot;1440&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;Use a Realistic &lt;code data-end=&quot;1472&quot; data-start=&quot;1458&quot;&gt;minAvailable&lt;/code&gt; or &lt;code data-end=&quot;1492&quot; data-start=&quot;1476&quot;&gt;maxUnavailable&lt;/code&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul data-end=&quot;1643&quot; data-start=&quot;1498&quot;&gt;
&lt;li data-end=&quot;1592&quot; data-start=&quot;1498&quot;&gt;
&lt;p data-end=&quot;1592&quot; data-start=&quot;1500&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;Don’t set &lt;code data-end=&quot;1524&quot; data-start=&quot;1510&quot;&gt;minAvailable&lt;/code&gt; equal to total replicas unless you truly require 100% availability.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1643&quot; data-start=&quot;1596&quot;&gt;
&lt;p data-end=&quot;1643&quot; data-start=&quot;1598&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;Use &lt;code data-end=&quot;1621&quot; data-start=&quot;1602&quot;&gt;maxUnavailable: 1&lt;/code&gt; for more flexibility.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1740&quot; data-start=&quot;1645&quot;&gt;
&lt;p data-end=&quot;1687&quot; data-start=&quot;1648&quot;&gt;&lt;strong data-end=&quot;1687&quot; data-start=&quot;1648&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;Use &lt;code data-end=&quot;1676&quot; data-start=&quot;1654&quot;&gt;kubectl describe pdb&lt;/code&gt; to debug&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;1740&quot; data-start=&quot;1691&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;overflow-y-auto p-4&quot; dir=&quot;ltr&quot;&gt;&lt;code class=&quot;whitespace-pre! language-bash&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;kubectl describe pdb &amp;lt;pdb-name&amp;gt;
&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1909&quot; data-start=&quot;1742&quot;&gt;
&lt;p data-end=&quot;1804&quot; data-start=&quot;1745&quot;&gt;&lt;strong data-end=&quot;1804&quot; data-start=&quot;1745&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;Look for scale-down blockers in Cluster Autoscaler logs&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;1909&quot; data-start=&quot;1808&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;overflow-y-auto p-4&quot; dir=&quot;ltr&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;&lt;code class=&quot;whitespace-pre!&quot;&gt;Not removing node ip-&lt;span class=&quot;hljs-number&quot;&gt;10&lt;/span&gt;-&lt;span class=&quot;hljs-number&quot;&gt;0&lt;/span&gt;-&lt;span class=&quot;hljs-number&quot;&gt;0&lt;/span&gt;-&lt;span class=&quot;hljs-number&quot;&gt;12&lt;/span&gt; because it has non-evictable pods due &lt;span class=&quot;hljs-selector-tag&quot;&gt;to&lt;/span&gt; 
&lt;/code&gt;PDB: my-app-pdb&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li data-end=&quot;2041&quot; data-start=&quot;1911&quot;&gt;
&lt;p data-end=&quot;2041&quot; data-start=&quot;1914&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;&lt;strong data-end=&quot;1975&quot; data-start=&quot;1914&quot;&gt;Run &lt;code data-end=&quot;1952&quot; data-start=&quot;1920&quot;&gt;kubectl drain --dry-run=client&lt;/code&gt; to simulate eviction&lt;/strong&gt;&lt;br /&gt;
This can show you which PDBs would block a node from draining.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 data-end=&quot;2075&quot; data-start=&quot;2048&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;&amp;nbsp;Sample Corrected PDB&lt;/span&gt;&lt;/h3&gt;&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;2238&quot; data-start=&quot;2077&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;overflow-y-auto p-4&quot; dir=&quot;ltr&quot;&gt;&lt;code class=&quot;whitespace-pre! language-yaml&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;&lt;span class=&quot;hljs-attr&quot;&gt;apiVersion:&lt;/span&gt; &lt;span class=&quot;hljs-string&quot;&gt;policy/v1&lt;/span&gt;
&lt;span class=&quot;hljs-attr&quot;&gt;kind:&lt;/span&gt; &lt;span class=&quot;hljs-string&quot;&gt;PodDisruptionBudget&lt;/span&gt;
&lt;span class=&quot;hljs-attr&quot;&gt;metadata:&lt;/span&gt;
  &lt;span class=&quot;hljs-attr&quot;&gt;name:&lt;/span&gt; &lt;span class=&quot;hljs-string&quot;&gt;my-app-pdb&lt;/span&gt;
&lt;span class=&quot;hljs-attr&quot;&gt;spec:&lt;/span&gt;
  &lt;span class=&quot;hljs-attr&quot;&gt;maxUnavailable:&lt;/span&gt; &lt;span class=&quot;hljs-number&quot;&gt;1&lt;/span&gt;
  &lt;span class=&quot;hljs-attr&quot;&gt;selector:&lt;/span&gt;
    &lt;span class=&quot;hljs-attr&quot;&gt;matchLabels:&lt;/span&gt;
      &lt;span class=&quot;hljs-attr&quot;&gt;app:&lt;/span&gt; &lt;span class=&quot;hljs-string&quot;&gt;my-app&lt;/span&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p data-end=&quot;2352&quot; data-start=&quot;2240&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: large;&quot;&gt;This allows one pod to be evicted at any time — enabling scale-down while still protecting service availability.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script async src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot;&gt;&lt;/script&gt;
&lt;!-- Leaderboard Manas footer --&gt;
&lt;ins class=&quot;adsbygoogle&quot;
     style=&quot;display:inline-block;width:728px;height:90px&quot;
     data-ad-client=&quot;ca-pub-8906930571041974&quot;
     data-ad-slot=&quot;8147594448&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
(adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;&lt;/div&gt;</description><link>http://www.devopszones.com/2025/05/what-cluster-autoscaler-does-when-does.html</link><author>noreply@blogger.com (Manas Ranjan Tripathy)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5873596342621039693.post-8746876428925395645</guid><pubDate>Fri, 16 May 2025 10:49:00 +0000</pubDate><atom:updated>2025-05-16T03:49:00.120-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Devops</category><category domain="http://www.blogger.com/atom/ns#">How-to</category><title>How to Add Site24x7 On-Premise Poller for Linux</title><description>&lt;p&gt;&lt;span style=&quot;font-family: Amaranth; font-size: medium;&quot;&gt;&amp;nbsp;Site24x7&#39;s On-Premise Poller allows organizations to monitor internal network resources and services behind firewalls that aren&#39;t directly accessible over the internet. This guide walks you through installing and configuring the On-Premise Poller on a &lt;strong data-end=&quot;418&quot; data-start=&quot;402&quot;&gt;Linux server&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;h2 data-end=&quot;439&quot; data-start=&quot;421&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: medium;&quot;&gt;Prerequisites&lt;/span&gt;&lt;/h2&gt;
&lt;ul data-end=&quot;645&quot; data-start=&quot;441&quot;&gt;
&lt;li data-end=&quot;538&quot; data-start=&quot;441&quot;&gt;
&lt;p data-end=&quot;538&quot; data-start=&quot;443&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: medium;&quot;&gt;A Site24x7 account&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;605&quot; data-start=&quot;539&quot;&gt;
&lt;p data-end=&quot;605&quot; data-start=&quot;541&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: medium;&quot;&gt;A Linux server (Ubuntu, CentOS, RHEL, etc.) with internet access&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;645&quot; data-start=&quot;606&quot;&gt;
&lt;p data-end=&quot;645&quot; data-start=&quot;608&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: medium;&quot;&gt;Root or sudo privileges on the server&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;h2 data-end=&quot;673&quot; data-start=&quot;652&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: medium;&quot;&gt;Step-by-Step Guide&lt;/span&gt;&lt;/h2&gt;
&lt;h3 data-end=&quot;703&quot; data-start=&quot;675&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: medium;&quot;&gt;1. &lt;strong data-end=&quot;703&quot; data-start=&quot;682&quot;&gt;Login to Site24x7&lt;/strong&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;ul data-end=&quot;834&quot; data-start=&quot;705&quot;&gt;
&lt;li data-end=&quot;765&quot; data-start=&quot;705&quot;&gt;
&lt;p data-end=&quot;765&quot; data-start=&quot;707&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: medium;&quot;&gt;Go to &lt;a class=&quot;&quot; data-end=&quot;753&quot; data-start=&quot;713&quot; href=&quot;https://www.site24x7.com&quot; rel=&quot;noopener&quot; target=&quot;_new&quot;&gt;Site24x7.com&lt;/a&gt; and log in.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;834&quot; data-start=&quot;766&quot;&gt;
&lt;p data-end=&quot;834&quot; data-start=&quot;768&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: medium;&quot;&gt;Navigate to &lt;strong data-end=&quot;833&quot; data-start=&quot;780&quot;&gt;Admin &amp;gt; On-Premise Poller &amp;gt; Add On-Premise Poller&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;882&quot; data-start=&quot;836&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: medium;&quot;&gt;2. &lt;strong data-end=&quot;882&quot; data-start=&quot;843&quot;&gt;Download the Linux Poller Installer&lt;/strong&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;ul data-end=&quot;977&quot; data-start=&quot;884&quot;&gt;
&lt;li data-end=&quot;911&quot; data-start=&quot;884&quot;&gt;
&lt;p data-end=&quot;911&quot; data-start=&quot;886&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: medium;&quot;&gt;Select the &lt;strong data-end=&quot;906&quot; data-start=&quot;897&quot;&gt;Linux&lt;/strong&gt; tab.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li data-end=&quot;911&quot; data-start=&quot;884&quot;&gt;&lt;div _ngcontent-ng-c3549955761=&quot;&quot; class=&quot;mrgtop10 clr&quot; style=&quot;background-color: #f7f7f7; box-sizing: border-box; clear: both; color: #333333; letter-spacing: -0.3px; margin-top: 10px; overflow: hidden;&quot; transloco=&quot;onpremise.linux.instruction&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: medium;&quot;&gt;Copy, paste and execute the below command snippets in your terminal to install Site24x7 On-Premise Poller.&lt;/span&gt;&lt;/div&gt;&lt;h5 _ngcontent-ng-c3549955761=&quot;&quot; class=&quot;mrgtop10&quot; style=&quot;background-color: #f7f7f7; box-sizing: border-box; color: #333333; font-weight: 500; letter-spacing: -0.3px; line-height: 18px; margin-bottom: 5px; margin-top: 10px;&quot; transloco=&quot;linuxmonitor.64.bit.os&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: medium;&quot;&gt;64 bit OS&lt;/span&gt;&lt;/h5&gt;&lt;div _ngcontent-ng-c3549955761=&quot;&quot; class=&quot;entry on-premise&quot; style=&quot;background: none 0px 0px repeat scroll rgb(0, 0, 0); border-color: rgb(226, 226, 226); border-image: none 100% / 1 / 0 stretch; border-radius: 4px !important; border-style: solid; border-width: 1px; box-sizing: border-box; clear: both; color: white; letter-spacing: 0.4px; overflow: auto; padding: 5px 10px;&quot;&gt;&lt;div _ngcontent-ng-c3549955761=&quot;&quot; class=&quot;clr&quot; id=&quot;onpremise_linux_1&quot; s247selectonclick=&quot;&quot; style=&quot;box-sizing: border-box; clear: both; overflow: hidden;&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: medium;&quot;&gt;sudo wget https://staticdownloads.site24x7.com/probe/Site24x7OnPremisePoller_64bit.bin&lt;/span&gt;&lt;button _ngcontent-ng-c3549955761=&quot;&quot; class=&quot;copy-btn-icon-only btn flex-center-all&quot; s247clipboard=&quot;&quot; style=&quot;align-items: center; appearance: button; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-color: initial; border-radius: 4px; border-style: none; border-width: initial; color: #999999; cursor: pointer; display: flex; float: right; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: normal; justify-content: center; line-height: 1.5; margin: 0px; overflow: visible; padding: 3px 8px !important; text-wrap-mode: nowrap; user-select: none; vertical-align: middle;&quot;&gt;&lt;span _ngcontent-ng-c3549955761=&quot;&quot; class=&quot;arrow-in&quot; style=&quot;box-sizing: border-box;&quot;&gt;&lt;/span&gt;&lt;span _ngcontent-ng-c3549955761=&quot;&quot; class=&quot;icon-copy&quot; style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; color: white; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; speak: none;&quot;&gt;&lt;/span&gt;&lt;/button&gt;&lt;/div&gt;&lt;div _ngcontent-ng-c3549955761=&quot;&quot; class=&quot;clr mrgtb10&quot; id=&quot;onpremise_linux_2&quot; s247selectonclick=&quot;&quot; style=&quot;box-sizing: border-box; clear: both; margin: 10px 0px !important; overflow: hidden;&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: medium;&quot;&gt;sudo chmod 755 Site24x7OnPremisePoller_64bit.bin&lt;/span&gt;&lt;button _ngcontent-ng-c3549955761=&quot;&quot; class=&quot;copy-btn-icon-only btn flex-center-all&quot; s247clipboard=&quot;&quot; style=&quot;align-items: center; appearance: button; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-color: initial; border-radius: 4px; border-style: none; border-width: initial; color: #999999; cursor: pointer; display: flex; float: right; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: normal; justify-content: center; line-height: 1.5; margin: 0px; overflow: visible; padding: 3px 8px !important; text-wrap-mode: nowrap; user-select: none; vertical-align: middle;&quot;&gt;&lt;span _ngcontent-ng-c3549955761=&quot;&quot; class=&quot;arrow-in&quot; style=&quot;box-sizing: border-box;&quot;&gt;&lt;/span&gt;&lt;span _ngcontent-ng-c3549955761=&quot;&quot; class=&quot;icon-copy&quot; style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; color: white; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; speak: none;&quot;&gt;&lt;/span&gt;&lt;/button&gt;&lt;/div&gt;&lt;div _ngcontent-ng-c3549955761=&quot;&quot; id=&quot;onpremise_linux_3&quot; s247selectonclick=&quot;&quot; style=&quot;box-sizing: border-box;&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: medium;&quot;&gt;sudo ./Site24x7OnPremisePoller_64bit.bin&lt;/span&gt;&lt;button _ngcontent-ng-c3549955761=&quot;&quot; class=&quot;copy-btn-icon-only btn flex-center-all&quot; s247clipboard=&quot;&quot; style=&quot;align-items: center; appearance: button; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-color: initial; border-radius: 4px; border-style: none; border-width: initial; color: #999999; cursor: pointer; display: flex; float: right; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: normal; justify-content: center; line-height: 1.5; margin: 0px; overflow: visible; padding: 3px 8px !important; text-wrap-mode: nowrap; user-select: none; vertical-align: middle;&quot;&gt;&lt;span _ngcontent-ng-c3549955761=&quot;&quot; class=&quot;arrow-in&quot; style=&quot;box-sizing: border-box;&quot;&gt;&lt;/span&gt;&lt;span _ngcontent-ng-c3549955761=&quot;&quot; class=&quot;icon-copy&quot; style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; color: white; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; speak: none;&quot;&gt;&lt;/span&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;h5 _ngcontent-ng-c3549955761=&quot;&quot; style=&quot;background-color: #f7f7f7; box-sizing: border-box; color: #333333; font-weight: 500; letter-spacing: -0.3px; line-height: 18px; margin-bottom: 5px; margin-top: 10px;&quot; transloco=&quot;linuxmonitor.32.bit.os&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: medium;&quot;&gt;32 bit OS&lt;/span&gt;&lt;/h5&gt;&lt;div _ngcontent-ng-c3549955761=&quot;&quot; class=&quot;entry on-premise&quot; style=&quot;background: none 0px 0px repeat scroll rgb(0, 0, 0); border-color: rgb(226, 226, 226); border-image: none 100% / 1 / 0 stretch; border-radius: 4px !important; border-style: solid; border-width: 1px; box-sizing: border-box; clear: both; color: white; letter-spacing: 0.4px; overflow: auto; padding: 5px 10px;&quot;&gt;&lt;div _ngcontent-ng-c3549955761=&quot;&quot; class=&quot;clr&quot; id=&quot;onpremise_linux_4&quot; s247selectonclick=&quot;&quot; style=&quot;box-sizing: border-box; clear: both; overflow: hidden;&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: medium;&quot;&gt;sudo wget https://staticdownloads.site24x7.com/probe/Site24x7OnPremisePoller.bin&lt;/span&gt;&lt;button _ngcontent-ng-c3549955761=&quot;&quot; class=&quot;copy-btn-icon-only btn flex-center-all&quot; s247clipboard=&quot;&quot; style=&quot;align-items: center; appearance: button; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-color: initial; border-radius: 4px; border-style: none; border-width: initial; color: #999999; cursor: pointer; display: flex; float: right; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: normal; justify-content: center; line-height: 1.5; margin: 0px; overflow: visible; padding: 3px 8px !important; text-wrap-mode: nowrap; user-select: none; vertical-align: middle;&quot;&gt;&lt;span _ngcontent-ng-c3549955761=&quot;&quot; class=&quot;arrow-in&quot; style=&quot;box-sizing: border-box;&quot;&gt;&lt;/span&gt;&lt;span _ngcontent-ng-c3549955761=&quot;&quot; class=&quot;icon-copy&quot; style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; color: white; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; speak: none;&quot;&gt;&lt;/span&gt;&lt;/button&gt;&lt;/div&gt;&lt;div _ngcontent-ng-c3549955761=&quot;&quot; class=&quot;clr mrgtb10&quot; id=&quot;onpremise_linux_5&quot; s247selectonclick=&quot;&quot; style=&quot;box-sizing: border-box; clear: both; margin: 10px 0px !important; overflow: hidden;&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: medium;&quot;&gt;sudo chmod 755 Site24x7OnPremisePoller.bin&lt;/span&gt;&lt;button _ngcontent-ng-c3549955761=&quot;&quot; class=&quot;copy-btn-icon-only btn flex-center-all&quot; s247clipboard=&quot;&quot; style=&quot;align-items: center; appearance: button; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-color: initial; border-radius: 4px; border-style: none; border-width: initial; color: #999999; cursor: pointer; display: flex; float: right; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: normal; justify-content: center; line-height: 1.5; margin: 0px; overflow: visible; padding: 3px 8px !important; text-wrap-mode: nowrap; user-select: none; vertical-align: middle;&quot;&gt;&lt;span _ngcontent-ng-c3549955761=&quot;&quot; class=&quot;arrow-in&quot; style=&quot;box-sizing: border-box;&quot;&gt;&lt;/span&gt;&lt;span _ngcontent-ng-c3549955761=&quot;&quot; class=&quot;icon-copy&quot; style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; color: white; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; speak: none;&quot;&gt;&lt;/span&gt;&lt;/button&gt;&lt;/div&gt;&lt;div _ngcontent-ng-c3549955761=&quot;&quot; id=&quot;onpremise_linux_6&quot; s247selectonclick=&quot;&quot; style=&quot;box-sizing: border-box;&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: medium;&quot;&gt;sudo ./Site24x7OnPremisePoller.bin&lt;/span&gt;&lt;button _ngcontent-ng-c3549955761=&quot;&quot; class=&quot;copy-btn-icon-only btn flex-center-all&quot; s247clipboard=&quot;&quot; style=&quot;align-items: center; appearance: button; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-color: initial; border-radius: 4px; border-style: none; border-width: initial; color: #999999; cursor: pointer; display: flex; float: right; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: normal; justify-content: center; line-height: 1.5; margin: 0px; overflow: visible; padding: 3px 8px !important; text-wrap-mode: nowrap; user-select: none; vertical-align: middle;&quot;&gt;&lt;span _ngcontent-ng-c3549955761=&quot;&quot; class=&quot;arrow-in&quot; style=&quot;box-sizing: border-box;&quot;&gt;&lt;/span&gt;&lt;span _ngcontent-ng-c3549955761=&quot;&quot; class=&quot;icon-copy&quot; style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; color: white; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; speak: none;&quot;&gt;&lt;/span&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;h6 _ngcontent-ng-c3549955761=&quot;&quot; class=&quot;bold&quot; style=&quot;background-color: #f7f7f7; box-sizing: border-box; color: #333333; font-weight: 500; letter-spacing: -0.3px; line-height: 18px; margin-bottom: 5px; margin-top: 10px;&quot; transloco=&quot;addserver.windowsmonitor.step2&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: medium;&quot;&gt;Step 2&lt;/span&gt;&lt;/h6&gt;&lt;p data-end=&quot;911&quot; data-start=&quot;886&quot;&gt;&lt;span _ngcontent-ng-c3549955761=&quot;&quot; style=&quot;background-color: #f7f7f7; box-sizing: border-box; color: #333333; letter-spacing: -0.3px;&quot; transloco=&quot;onpremise.install.step2&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: medium;&quot;&gt;Run the Installer to install the On-Premise Poller by using the following device key in the installation wizard.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;span style=&quot;color: #333333; font-family: Amaranth; font-size: medium;&quot;&gt;&lt;span style=&quot;letter-spacing: -0.3px;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhaGl7xYkckvY6XskJLPibdeCricPlK5OWx0CmYQD5o27xo8LcdDHVeGHDeEg9PllTSz9_sQV07W2NaU9MULcROFibSGe17falJR2bYdo5N8sxMyet6cjLFUl_BSxPhkxJ5bFP49xgFDPtJHVuS7Tb6CIezGaPicZJAch1Ya4ISsoE25LC14wFQTBrOdG8&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img data-original-height=&quot;56&quot; data-original-width=&quot;1248&quot; height=&quot;29&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhaGl7xYkckvY6XskJLPibdeCricPlK5OWx0CmYQD5o27xo8LcdDHVeGHDeEg9PllTSz9_sQV07W2NaU9MULcROFibSGe17falJR2bYdo5N8sxMyet6cjLFUl_BSxPhkxJ5bFP49xgFDPtJHVuS7Tb6CIezGaPicZJAch1Ya4ISsoE25LC14wFQTBrOdG8=w640-h29&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;h3 data-end=&quot;1349&quot; data-start=&quot;1312&quot;&gt;&lt;strong data-end=&quot;1349&quot; data-start=&quot;1319&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: medium;&quot;&gt;Authenticate and Configure&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;
&lt;ul data-end=&quot;1527&quot; data-start=&quot;1351&quot;&gt;
&lt;li data-end=&quot;1527&quot; data-start=&quot;1351&quot;&gt;
&lt;p data-end=&quot;1396&quot; data-start=&quot;1353&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: medium;&quot;&gt;During installation, you’ll be prompted to:&lt;/span&gt;&lt;/p&gt;
&lt;ul data-end=&quot;1527&quot; data-start=&quot;1399&quot;&gt;
&lt;li data-end=&quot;1460&quot; data-start=&quot;1399&quot;&gt;
&lt;p data-end=&quot;1460&quot; data-start=&quot;1401&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: medium;&quot;&gt;&lt;strong data-end=&quot;1423&quot; data-start=&quot;1401&quot;&gt;Log in to Site24x7&lt;/strong&gt; or &lt;strong data-end=&quot;1460&quot; data-start=&quot;1427&quot;&gt;provide an authentication key&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1484&quot; data-start=&quot;1463&quot;&gt;
&lt;p data-end=&quot;1484&quot; data-start=&quot;1465&quot;&gt;&lt;strong data-end=&quot;1484&quot; data-start=&quot;1465&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: medium;&quot;&gt;Name the poller&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1527&quot; data-start=&quot;1487&quot;&gt;
&lt;p data-end=&quot;1527&quot; data-start=&quot;1489&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: medium;&quot;&gt;&lt;strong data-end=&quot;1516&quot; data-start=&quot;1489&quot;&gt;Choose a location group&lt;/strong&gt; (optional)&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;1658&quot; data-start=&quot;1529&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: medium;&quot;&gt;You can find the &lt;strong data-end=&quot;1568&quot; data-start=&quot;1546&quot;&gt;authentication key&lt;/strong&gt; under:&lt;br /&gt;
&lt;code data-end=&quot;1658&quot; data-start=&quot;1576&quot;&gt;Admin &amp;gt; On-Premise Poller &amp;gt; Add &amp;gt; Download Poller &amp;gt; Click on &quot;Show device key&quot;&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;1688&quot; data-start=&quot;1660&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: medium;&quot;&gt;Paste the key when prompted.&lt;/span&gt;&lt;/p&gt;&lt;h2 data-end=&quot;1729&quot; data-start=&quot;1695&quot;&gt;&lt;strong data-end=&quot;1729&quot; data-start=&quot;1706&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: medium;&quot;&gt;Verify Installation&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;&lt;p data-end=&quot;1688&quot; data-start=&quot;1660&quot;&gt;
&lt;/p&gt;&lt;ul data-end=&quot;1878&quot; data-start=&quot;1731&quot;&gt;
&lt;li data-end=&quot;1769&quot; data-start=&quot;1731&quot;&gt;
&lt;p data-end=&quot;1769&quot; data-start=&quot;1733&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: medium;&quot;&gt;Go back to the Site24x7 web console.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1813&quot; data-start=&quot;1770&quot;&gt;
&lt;p data-end=&quot;1813&quot; data-start=&quot;1772&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: medium;&quot;&gt;Navigate to &lt;strong data-end=&quot;1813&quot; data-start=&quot;1784&quot;&gt;Admin &amp;gt; On-Premise Poller&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1878&quot; data-start=&quot;1814&quot;&gt;
&lt;p data-end=&quot;1878&quot; data-start=&quot;1816&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: medium;&quot;&gt;Your new poller should appear as “&lt;strong data-end=&quot;1856&quot; data-start=&quot;1850&quot;&gt;Up&lt;/strong&gt;” after a few minutes.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #333333; font-family: Amaranth; font-size: medium;&quot;&gt;&lt;span style=&quot;letter-spacing: -0.3px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEh-rILIzlPryMuDTGF5czbWKFFVHS6GzYV7wui5kONNrhORSI4rnej5jNaYFoAQZWq-o6YzgKNaUcNut545DTLWs0MyhvNofLUquRMAunj0ajQkSIKeAjChl5NaQEABPWtAvtBWCizCV5nkArCgtiDhLo0hWeqkPu61QhglmYEu31cZADuQCZ7yTT_u5A0&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: medium;&quot;&gt;&lt;img alt=&quot;site 24x7 on-premise poller&quot; data-original-height=&quot;500&quot; data-original-width=&quot;998&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEh-rILIzlPryMuDTGF5czbWKFFVHS6GzYV7wui5kONNrhORSI4rnej5jNaYFoAQZWq-o6YzgKNaUcNut545DTLWs0MyhvNofLUquRMAunj0ajQkSIKeAjChl5NaQEABPWtAvtBWCizCV5nkArCgtiDhLo0hWeqkPu61QhglmYEu31cZADuQCZ7yTT_u5A0=s16000&quot; title=&quot;site 24x7 on-premise poller&quot; /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style=&quot;font-family: Amaranth; font-size: medium;&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: Amaranth; font-size: medium;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script async src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot;&gt;&lt;/script&gt;
&lt;!-- Leaderboard Manas footer --&gt;
&lt;ins class=&quot;adsbygoogle&quot;
     style=&quot;display:inline-block;width:728px;height:90px&quot;
     data-ad-client=&quot;ca-pub-8906930571041974&quot;
     data-ad-slot=&quot;8147594448&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
(adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;&lt;/div&gt;</description><link>http://www.devopszones.com/2025/05/how-to-add-site24x7-on-premise-poller.html</link><author>noreply@blogger.com (Manas Ranjan Tripathy)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEhaGl7xYkckvY6XskJLPibdeCricPlK5OWx0CmYQD5o27xo8LcdDHVeGHDeEg9PllTSz9_sQV07W2NaU9MULcROFibSGe17falJR2bYdo5N8sxMyet6cjLFUl_BSxPhkxJ5bFP49xgFDPtJHVuS7Tb6CIezGaPicZJAch1Ya4ISsoE25LC14wFQTBrOdG8=s72-w640-h29-c" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5873596342621039693.post-2015077382029838745</guid><pubDate>Thu, 15 May 2025 11:30:00 +0000</pubDate><atom:updated>2025-05-15T06:56:29.551-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Devops</category><category domain="http://www.blogger.com/atom/ns#">EKS</category><category domain="http://www.blogger.com/atom/ns#">How-to</category><category domain="http://www.blogger.com/atom/ns#">Kubernetes</category><title>How to check nfs file system is mounted or not in kubernetes</title><description>&lt;p&gt;&lt;span style=&quot;font-family: Amaranth; font-size: medium;&quot;&gt;To check whether the NFS share used by the &lt;code data-end=&quot;76&quot; data-start=&quot;43&quot;&gt;nfs-subdir-external-provisioner&lt;/code&gt; is mounted and in use by your Kubernetes cluster, you can follow these steps:&lt;/span&gt;&lt;/p&gt;
&lt;hr data-end=&quot;159&quot; data-start=&quot;156&quot; /&gt;
&lt;h3 data-end=&quot;185&quot; data-start=&quot;161&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: medium;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/h3&gt;&lt;h3 data-end=&quot;185&quot; data-start=&quot;161&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: medium;&quot;&gt;Step-by-Step Check&lt;/span&gt;&lt;/h3&gt;
&lt;h4 data-end=&quot;238&quot; data-start=&quot;187&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: medium;&quot;&gt;1. &lt;strong data-end=&quot;238&quot; data-start=&quot;195&quot;&gt;Get the Pod Name of the NFS Provisioner&lt;/strong&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;321&quot; data-start=&quot;239&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none rounded-t-[5px]&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: medium;&quot;&gt;kubectl get pods -n kube-system -l app=nfs-subdir-external-provisioner&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;overflow-y-auto p-4&quot; dir=&quot;ltr&quot;&gt;&lt;code class=&quot;whitespace-pre! language-bash&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: medium;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class=&quot;overflow-y-auto p-4&quot; dir=&quot;ltr&quot;&gt;&lt;code class=&quot;whitespace-pre! language-bash&quot;&gt;&lt;span style=&quot;font-family: Amaranth; font-size: medium;&quot;&gt;&lt;h4 data-end=&quot;366&quot; data-start=&quot;323&quot;&gt;2. &lt;strong data-end=&quot;366&quot; data-start=&quot;331&quot;&gt;Inspect the Logs for Mount Info&lt;/strong&gt;&lt;/h4&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;417&quot; data-start=&quot;367&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none rounded-t-[5px]&quot;&gt;kubectl logs &amp;lt;pod-name&amp;gt; -n kube-system&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;&lt;p data-end=&quot;438&quot; data-start=&quot;418&quot;&gt;Look for lines like:&lt;/p&gt;&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;469&quot; data-start=&quot;439&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none rounded-t-[5px]&quot;&gt;&lt;span class=&quot;hljs-attribute&quot;&gt;Mounting&lt;/span&gt; NFS volume...&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;&lt;p data-end=&quot;485&quot; data-start=&quot;470&quot;&gt;Or errors like:&lt;/p&gt;&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;523&quot; data-start=&quot;486&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none rounded-t-[5px]&quot;&gt;Failed &lt;span class=&quot;hljs-selector-tag&quot;&gt;to&lt;/span&gt; mount NFS volume...&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;h4 data-end=&quot;575&quot; data-start=&quot;530&quot;&gt;3. &lt;strong data-end=&quot;575&quot; data-start=&quot;538&quot;&gt;Exec into the NFS Provisioner Pod&lt;/strong&gt;&lt;/h4&gt;&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;636&quot; data-start=&quot;576&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none rounded-t-[5px]&quot;&gt;kubectl &lt;span class=&quot;hljs-built_in&quot;&gt;exec&lt;/span&gt; -it &amp;lt;pod-name&amp;gt; -n kube-system -- sh&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;&lt;p data-end=&quot;650&quot; data-start=&quot;638&quot;&gt;Once inside:&lt;/p&gt;&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;677&quot; data-start=&quot;651&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none rounded-t-[5px]&quot;&gt;mount | grep nfs&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;&lt;p data-end=&quot;680&quot; data-start=&quot;678&quot;&gt;or&lt;/p&gt;&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;707&quot; data-start=&quot;681&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none rounded-t-[5px]&quot;&gt;&lt;span class=&quot;hljs-built_in&quot;&gt;df&lt;/span&gt; -h | grep nfs&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;&lt;p data-end=&quot;739&quot; data-start=&quot;709&quot;&gt;You should see something like:&lt;/p&gt;&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;808&quot; data-start=&quot;740&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none rounded-t-[5px]&quot;&gt;nfs-server:/exported/path on /persistentvolumes &lt;span class=&quot;hljs-built_in&quot;&gt;type&lt;/span&gt; nfs ...&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;h4 data-end=&quot;869&quot; data-start=&quot;815&quot;&gt;4. &lt;strong data-end=&quot;869&quot; data-start=&quot;823&quot;&gt;Check Mounted Volumes on a Node&lt;/strong&gt;&lt;/h4&gt;&lt;p data-end=&quot;932&quot; data-start=&quot;870&quot;&gt;If you&#39;re using hostPath or troubleshooting at the node level:&lt;/p&gt;&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;977&quot; data-start=&quot;933&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none rounded-t-[5px]&quot;&gt;ssh &amp;lt;node-name&amp;gt;&lt;/div&gt;&lt;div class=&quot;overflow-y-auto p-4&quot; dir=&quot;ltr&quot;&gt;&lt;code class=&quot;whitespace-pre! language-bash&quot;&gt;mount | grep nfs
&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;&lt;h3 data-end=&quot;1058&quot; data-start=&quot;984&quot;&gt;To Check Persistent Volume Claims (PVCs) Using the NFS Provisioner:&lt;/h3&gt;&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;1111&quot; data-start=&quot;1059&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none rounded-t-[5px]&quot;&gt;kubectl get pvc --all-namespaces -o wide&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;&lt;p data-end=&quot;1193&quot; data-start=&quot;1112&quot;&gt;Look at the &lt;code data-end=&quot;1138&quot; data-start=&quot;1124&quot;&gt;STORAGECLASS&lt;/code&gt; column and check if it matches your NFS storage class.&lt;/p&gt;&lt;h3 data-end=&quot;1212&quot; data-start=&quot;1200&quot;&gt;Example:&lt;/h3&gt;&lt;ul data-end=&quot;1314&quot; data-start=&quot;1213&quot;&gt;&lt;li data-end=&quot;1314&quot; data-start=&quot;1213&quot;&gt;&lt;p data-end=&quot;1314&quot; data-start=&quot;1215&quot;&gt;The mount path is typically defined in the &lt;code data-end=&quot;1291&quot; data-start=&quot;1258&quot;&gt;nfs-subdir-external-provisioner&lt;/code&gt; 
deployment YAML under:&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;1422&quot; data-start=&quot;1315&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none rounded-t-[5px]&quot;&gt;yaml&lt;/div&gt;&lt;div class=&quot;sticky top-9&quot;&gt;&lt;div class=&quot;absolute end-0 bottom-0 flex h-9 items-center pe-2&quot;&gt;&lt;div class=&quot;bg-token-sidebar-surface-primary text-token-text-secondary dark:bg-token-main-surface-secondary flex items-center rounded-sm px-2 font-sans text-xs&quot;&gt;env:&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;overflow-y-auto p-4&quot; dir=&quot;ltr&quot;&gt;&lt;code class=&quot;whitespace-pre! language-yaml&quot;&gt;  &lt;span class=&quot;hljs-bullet&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;hljs-attr&quot;&gt;name:&lt;/span&gt; &lt;span class=&quot;hljs-string&quot;&gt;NFS_SERVER&lt;/span&gt;
    &lt;span class=&quot;hljs-attr&quot;&gt;value:&lt;/span&gt; &lt;span class=&quot;hljs-string&quot;&gt;&amp;lt;your-nfs-server&amp;gt;&lt;/span&gt;
  &lt;span class=&quot;hljs-bullet&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;hljs-attr&quot;&gt;name:&lt;/span&gt; &lt;span class=&quot;hljs-string&quot;&gt;NFS_PATH&lt;/span&gt;
    &lt;span class=&quot;hljs-attr&quot;&gt;value:&lt;/span&gt; &lt;span class=&quot;hljs-string&quot;&gt;/some/path&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;&lt;ul data-end=&quot;1561&quot; data-start=&quot;1423&quot;&gt;&lt;li data-end=&quot;1561&quot; data-start=&quot;1423&quot;&gt;&lt;p data-end=&quot;1561&quot; data-start=&quot;1425&quot;&gt;If the NFS is not mounted correctly, PVCs using this provisioner will be stuck in 
&lt;strong data-end=&quot;1518&quot; data-start=&quot;1507&quot;&gt;Pending&lt;/strong&gt; or pods will throw &lt;strong data-end=&quot;1553&quot; data-start=&quot;1538&quot;&gt;VolumeMount&lt;/strong&gt; errors.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class=&quot;overflow-y-auto p-4&quot; dir=&quot;ltr&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script async src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot;&gt;&lt;/script&gt;
&lt;!-- Leaderboard Manas footer --&gt;
&lt;ins class=&quot;adsbygoogle&quot;
     style=&quot;display:inline-block;width:728px;height:90px&quot;
     data-ad-client=&quot;ca-pub-8906930571041974&quot;
     data-ad-slot=&quot;8147594448&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
(adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;&lt;/div&gt;</description><link>http://www.devopszones.com/2025/05/how-to-check-nfs-file-system-is-mounted.html</link><author>noreply@blogger.com (Manas Ranjan Tripathy)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5873596342621039693.post-8390201181302212497</guid><pubDate>Tue, 29 Apr 2025 13:56:00 +0000</pubDate><atom:updated>2025-04-29T06:56:27.680-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Devops</category><category domain="http://www.blogger.com/atom/ns#">devsecops</category><category domain="http://www.blogger.com/atom/ns#">GCP</category><title>How to Enable DNSSEC on GCP Cloud DNS?</title><description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;h1 class=&quot;&quot; data-end=&quot;205&quot; data-start=&quot;147&quot;&gt;What is DNSSEC?&lt;/h1&gt;
&lt;p class=&quot;&quot; data-end=&quot;427&quot; data-start=&quot;207&quot;&gt;&lt;strong data-end=&quot;258&quot; data-start=&quot;207&quot;&gt;DNSSEC (Domain Name System Security Extensions)&lt;/strong&gt; adds &lt;strong data-end=&quot;292&quot; data-start=&quot;264&quot;&gt;cryptographic signatures&lt;/strong&gt; to your DNS records. This &lt;strong data-end=&quot;333&quot; data-start=&quot;321&quot;&gt;verifies&lt;/strong&gt; that the DNS responses &lt;strong data-end=&quot;382&quot; data-start=&quot;357&quot;&gt;weren&#39;t tampered with&lt;/strong&gt; — &lt;em data-end=&quot;427&quot; data-start=&quot;385&quot;&gt;it’s about authenticity, not encryption.&lt;/em&gt;&lt;/p&gt;
&lt;p class=&quot;&quot; data-end=&quot;476&quot; data-start=&quot;429&quot;&gt;When you enable DNSSEC in &lt;strong data-end=&quot;475&quot; data-start=&quot;455&quot;&gt;Google Cloud DNS&lt;/strong&gt;:&lt;/p&gt;
&lt;ul data-end=&quot;757&quot; data-start=&quot;478&quot;&gt;
&lt;li class=&quot;&quot; data-end=&quot;567&quot; data-start=&quot;478&quot;&gt;
&lt;p class=&quot;&quot; data-end=&quot;567&quot; data-start=&quot;480&quot;&gt;&lt;strong data-end=&quot;522&quot; data-start=&quot;480&quot;&gt;GCP automatically signs your DNS zones&lt;/strong&gt; (with private signing keys stored securely).&lt;/p&gt;
&lt;/li&gt;
&lt;li class=&quot;&quot; data-end=&quot;661&quot; data-start=&quot;568&quot;&gt;
&lt;p class=&quot;&quot; data-end=&quot;661&quot; data-start=&quot;570&quot;&gt;DNS resolvers that validate DNSSEC will &lt;strong data-end=&quot;630&quot; data-start=&quot;610&quot;&gt;check signatures&lt;/strong&gt; before accepting your records.&lt;/p&gt;
&lt;/li&gt;
&lt;li class=&quot;&quot; data-end=&quot;754&quot; data-start=&quot;662&quot;&gt;
&lt;p class=&quot;&quot; data-end=&quot;754&quot; data-start=&quot;664&quot;&gt;If a DNS signature is invalid/missing, resolvers &lt;strong data-end=&quot;729&quot; data-start=&quot;713&quot;&gt;might reject&lt;/strong&gt; your domain&#39;s responses.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;h1 class=&quot;&quot; data-end=&quot;2553&quot; data-start=&quot;2519&quot;&gt;When Should You Enable DNSSEC?&lt;/h1&gt;
&lt;ul data-end=&quot;2868&quot; data-start=&quot;2555&quot;&gt;
&lt;li class=&quot;&quot; data-end=&quot;2639&quot; data-start=&quot;2555&quot;&gt;
&lt;p class=&quot;&quot; data-end=&quot;2639&quot; data-start=&quot;2557&quot;&gt;If your domain is &lt;strong data-end=&quot;2596&quot; data-start=&quot;2575&quot;&gt;business-critical&lt;/strong&gt; (finance, health, government, e-commerce).&lt;/p&gt;
&lt;/li&gt;
&lt;li class=&quot;&quot; data-end=&quot;2714&quot; data-start=&quot;2640&quot;&gt;
&lt;p class=&quot;&quot; data-end=&quot;2714&quot; data-start=&quot;2642&quot;&gt;If you need &lt;strong data-end=&quot;2677&quot; data-start=&quot;2654&quot;&gt;security compliance&lt;/strong&gt; (SOC 2, HIPAA, GDPR, FedRAMP, etc.).&lt;/p&gt;
&lt;/li&gt;
&lt;li class=&quot;&quot; data-end=&quot;2801&quot; data-start=&quot;2715&quot;&gt;
&lt;p class=&quot;&quot; data-end=&quot;2801&quot; data-start=&quot;2717&quot;&gt;If you&#39;re &lt;strong data-end=&quot;2800&quot; data-start=&quot;2727&quot;&gt;comfortable managing DS records and understanding DNS troubleshooting&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li class=&quot;&quot; data-end=&quot;2868&quot; data-start=&quot;2802&quot;&gt;
&lt;p class=&quot;&quot; data-end=&quot;2868&quot; data-start=&quot;2804&quot;&gt;If you&#39;re using &lt;strong data-end=&quot;2848&quot; data-start=&quot;2820&quot;&gt;automatic key management&lt;/strong&gt; in GCP (less risk).&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;How to Setup GCP DNSSEC?&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;h2 class=&quot;&quot; data-end=&quot;200&quot; data-start=&quot;169&quot;&gt;Prepare Before Enabling&lt;/h2&gt;
&lt;ul class=&quot;contains-task-list&quot; data-end=&quot;581&quot; data-start=&quot;202&quot;&gt;
&lt;li class=&quot;&quot; data-end=&quot;347&quot; data-start=&quot;202&quot;&gt;
&lt;p class=&quot;&quot; data-end=&quot;347&quot; data-start=&quot;208&quot;&gt;&lt;input disabled=&quot;&quot; type=&quot;checkbox&quot; /&gt; Confirm that &lt;strong data-end=&quot;246&quot; data-start=&quot;221&quot;&gt;your domain registrar&lt;/strong&gt; supports manual DS record updates.&lt;br data-end=&quot;284&quot; data-start=&quot;281&quot; /&gt;
(Example: Google Domains, GoDaddy, Namecheap all support it.)&lt;/p&gt;&lt;/li&gt;
&lt;li class=&quot;&quot; data-end=&quot;581&quot; data-start=&quot;451&quot;&gt;
&lt;p class=&quot;&quot; data-end=&quot;581&quot; data-start=&quot;457&quot;&gt;&lt;input disabled=&quot;&quot; type=&quot;checkbox&quot; /&gt; Communicate with your team:&lt;br data-end=&quot;487&quot; data-start=&quot;484&quot; /&gt;
&quot;Enabling DNSSEC might cause short DNS disruption if DS records aren&#39;t updated immediately.&quot;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;h2 class=&quot;&quot; data-end=&quot;626&quot; data-start=&quot;588&quot;&gt;Enable DNSSEC on GCP Cloud DNS&lt;/h2&gt;
&lt;ul class=&quot;contains-task-list&quot; data-end=&quot;986&quot; data-start=&quot;628&quot;&gt;
&lt;li class=&quot;&quot; data-end=&quot;721&quot; data-start=&quot;628&quot;&gt;
&lt;p class=&quot;&quot; data-end=&quot;721&quot; data-start=&quot;634&quot;&gt;&lt;input disabled=&quot;&quot; type=&quot;checkbox&quot; /&gt; Go to &lt;strong data-end=&quot;657&quot; data-start=&quot;640&quot;&gt;Cloud Console&lt;/strong&gt; → &lt;strong data-end=&quot;680&quot; data-start=&quot;660&quot;&gt;Network Services&lt;/strong&gt; → &lt;strong data-end=&quot;696&quot; data-start=&quot;683&quot;&gt;Cloud DNS&lt;/strong&gt; → your &lt;strong data-end=&quot;720&quot; data-start=&quot;704&quot;&gt;managed zone&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li class=&quot;&quot; data-end=&quot;903&quot; data-start=&quot;723&quot;&gt;
&lt;p class=&quot;&quot; data-end=&quot;769&quot; data-start=&quot;729&quot;&gt;&lt;input disabled=&quot;&quot; type=&quot;checkbox&quot; /&gt; Edit the zone → under &quot;DNSSEC&quot; settings:&lt;/p&gt;
&lt;ul data-end=&quot;903&quot; data-start=&quot;772&quot;&gt;
&lt;li class=&quot;&quot; data-end=&quot;831&quot; data-start=&quot;772&quot;&gt;
&lt;p class=&quot;&quot; data-end=&quot;831&quot; data-start=&quot;774&quot;&gt;Select &lt;strong data-end=&quot;816&quot; data-start=&quot;781&quot;&gt;&quot;On&quot;&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;&quot; data-end=&quot;986&quot; data-start=&quot;905&quot;&gt;
&lt;p class=&quot;&quot; data-end=&quot;986&quot; data-start=&quot;911&quot;&gt;&lt;input disabled=&quot;&quot; type=&quot;checkbox&quot; /&gt; Save the changes.&lt;br data-end=&quot;931&quot; data-start=&quot;928&quot; /&gt;
(Cloud DNS will start signing your zone immediately.)&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;h2 class=&quot;&quot; data-end=&quot;1023&quot; data-start=&quot;993&quot;&gt;Get the DS Record Info&lt;/h2&gt;
&lt;ul class=&quot;contains-task-list&quot; data-end=&quot;1159&quot; data-start=&quot;1025&quot;&gt;
&lt;li class=&quot;&quot; data-end=&quot;1159&quot; data-start=&quot;1025&quot;&gt;
&lt;p class=&quot;&quot; data-end=&quot;1106&quot; data-start=&quot;1031&quot;&gt;&lt;input disabled=&quot;&quot; type=&quot;checkbox&quot; /&gt; After DNSSEC is turned on, GCP will &lt;strong data-end=&quot;1097&quot; data-start=&quot;1067&quot;&gt;generate DS record details&lt;/strong&gt; for you:&lt;/p&gt;
&lt;/li&gt;&lt;ul data-end=&quot;1159&quot; data-start=&quot;1109&quot;&gt;
&lt;li class=&quot;&quot; data-end=&quot;1118&quot; data-start=&quot;1109&quot;&gt;
&lt;p class=&quot;&quot; data-end=&quot;1118&quot; data-start=&quot;1111&quot;&gt;Key Tag&lt;/p&gt;
&lt;/li&gt;
&lt;li class=&quot;&quot; data-end=&quot;1132&quot; data-start=&quot;1121&quot;&gt;
&lt;p class=&quot;&quot; data-end=&quot;1132&quot; data-start=&quot;1123&quot;&gt;Algorithm&lt;/p&gt;
&lt;/li&gt;
&lt;li class=&quot;&quot; data-end=&quot;1148&quot; data-start=&quot;1135&quot;&gt;
&lt;p class=&quot;&quot; data-end=&quot;1148&quot; data-start=&quot;1137&quot;&gt;Digest Type&lt;/p&gt;
&lt;/li&gt;
&lt;li class=&quot;&quot; data-end=&quot;1159&quot; data-start=&quot;1151&quot;&gt;
&lt;p class=&quot;&quot; data-end=&quot;1159&quot; data-start=&quot;1153&quot;&gt;Digest&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;div&gt;&lt;p class=&quot;&quot; data-end=&quot;1237&quot; data-start=&quot;1161&quot;&gt;You&#39;ll need this &lt;strong data-end=&quot;1211&quot; data-start=&quot;1197&quot;&gt;exact info&lt;/strong&gt; to set at your registrar.&lt;/p&gt;&lt;h2 class=&quot;&quot; data-end=&quot;1302&quot; data-start=&quot;1244&quot;&gt;Update DS Record at Your Registrar&amp;nbsp;&lt;/h2&gt;&lt;p class=&quot;&quot; data-end=&quot;1237&quot; data-start=&quot;1161&quot;&gt;
&lt;/p&gt;&lt;ul class=&quot;contains-task-list&quot; data-end=&quot;1494&quot; data-start=&quot;1304&quot;&gt;
&lt;li class=&quot;&quot; data-end=&quot;1384&quot; data-start=&quot;1304&quot;&gt;
&lt;p class=&quot;&quot; data-end=&quot;1384&quot; data-start=&quot;1310&quot;&gt;&lt;input disabled=&quot;&quot; type=&quot;checkbox&quot; /&gt; Login to your &lt;strong data-end=&quot;1352&quot; data-start=&quot;1324&quot;&gt;domain registrar account&lt;/strong&gt; (where you bought your domain).&lt;/p&gt;
&lt;/li&gt;
&lt;li class=&quot;&quot; data-end=&quot;1432&quot; data-start=&quot;1385&quot;&gt;
&lt;p class=&quot;&quot; data-end=&quot;1432&quot; data-start=&quot;1391&quot;&gt;&lt;input disabled=&quot;&quot; type=&quot;checkbox&quot; /&gt; Find &lt;strong data-end=&quot;1415&quot; data-start=&quot;1396&quot;&gt;DNSSEC settings&lt;/strong&gt; for your domain.&lt;/p&gt;
&lt;/li&gt;
&lt;li class=&quot;&quot; data-end=&quot;1494&quot; data-start=&quot;1433&quot;&gt;
&lt;p class=&quot;&quot; data-end=&quot;1494&quot; data-start=&quot;1439&quot;&gt;&lt;input disabled=&quot;&quot; type=&quot;checkbox&quot; /&gt; Add a &lt;strong data-end=&quot;1462&quot; data-start=&quot;1445&quot;&gt;new DS record&lt;/strong&gt; with the exact values from GCP.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2 class=&quot;&quot; data-end=&quot;1673&quot; data-start=&quot;1646&quot;&gt;Validate Everything&lt;/h2&gt;&lt;p class=&quot;&quot; data-end=&quot;1237&quot; data-start=&quot;1161&quot;&gt;
&lt;/p&gt;&lt;ul class=&quot;contains-task-list&quot; data-end=&quot;1975&quot; data-start=&quot;1675&quot;&gt;
&lt;li class=&quot;&quot; data-end=&quot;1860&quot; data-start=&quot;1675&quot;&gt;
&lt;p class=&quot;&quot; data-end=&quot;1705&quot; data-start=&quot;1681&quot;&gt;&lt;input disabled=&quot;&quot; type=&quot;checkbox&quot; /&gt; Test DNSSEC using tools:&lt;/p&gt;
&lt;ul data-end=&quot;1860&quot; data-start=&quot;1708&quot;&gt;
&lt;li class=&quot;&quot; data-end=&quot;1769&quot; data-start=&quot;1708&quot;&gt;
&lt;p class=&quot;&quot; data-end=&quot;1769&quot; data-start=&quot;1710&quot;&gt;&lt;a class=&quot;&quot; data-end=&quot;1769&quot; data-start=&quot;1710&quot; rel=&quot;noopener&quot; target=&quot;_new&quot;&gt;Google Dig Tool&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li class=&quot;&quot; data-end=&quot;1812&quot; data-start=&quot;1772&quot;&gt;
&lt;p class=&quot;&quot; data-end=&quot;1812&quot; data-start=&quot;1774&quot;&gt;&lt;a class=&quot;&quot; data-end=&quot;1812&quot; data-start=&quot;1774&quot; href=&quot;https://dnsviz.net/&quot; rel=&quot;noopener&quot; target=&quot;_new&quot;&gt;DNSViz Analysis&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li class=&quot;&quot; data-end=&quot;1860&quot; data-start=&quot;1815&quot;&gt;
&lt;p class=&quot;&quot; data-end=&quot;1860&quot; data-start=&quot;1817&quot;&gt;&lt;code data-end=&quot;1845&quot; data-start=&quot;1817&quot;&gt;dig +dnssec yourdomain.com&lt;/code&gt; from terminal.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;&quot; data-end=&quot;1975&quot; data-start=&quot;1862&quot;&gt;
&lt;p class=&quot;&quot; data-end=&quot;1878&quot; data-start=&quot;1868&quot;&gt;&lt;input disabled=&quot;&quot; type=&quot;checkbox&quot; /&gt; Make sure:&lt;/p&gt;
&lt;ul data-end=&quot;1975&quot; data-start=&quot;1881&quot;&gt;
&lt;li class=&quot;&quot; data-end=&quot;1932&quot; data-start=&quot;1881&quot;&gt;
&lt;p class=&quot;&quot; data-end=&quot;1932&quot; data-start=&quot;1883&quot;&gt;Responses have &lt;strong data-end=&quot;1925&quot; data-start=&quot;1898&quot;&gt;AD (Authenticated Data)&lt;/strong&gt; flag&amp;nbsp;&lt;/p&gt;
&lt;/li&gt;
&lt;li class=&quot;&quot; data-end=&quot;1975&quot; data-start=&quot;1935&quot;&gt;
&lt;p class=&quot;&quot; data-end=&quot;1975&quot; data-start=&quot;1937&quot;&gt;No warnings about missing signatures&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;h4 style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-size: large;&quot;&gt;How to Find Out Who Your Domain Registrar Is:&lt;/span&gt;&lt;/h4&gt;&lt;div&gt;&lt;h3 class=&quot;&quot; data-end=&quot;223&quot; data-start=&quot;181&quot;&gt;Use a Public WHOIS Lookup&lt;/h3&gt;
&lt;ul data-end=&quot;558&quot; data-start=&quot;225&quot;&gt;
&lt;li class=&quot;&quot; data-end=&quot;451&quot; data-start=&quot;225&quot;&gt;
&lt;p class=&quot;&quot; data-end=&quot;245&quot; data-start=&quot;227&quot;&gt;Go to a site like:&lt;/p&gt;
&lt;ul data-end=&quot;451&quot; data-start=&quot;248&quot;&gt;
&lt;li class=&quot;&quot; data-end=&quot;340&quot; data-start=&quot;248&quot;&gt;
&lt;p class=&quot;&quot; data-end=&quot;340&quot; data-start=&quot;250&quot;&gt;&lt;a class=&quot;&quot; data-end=&quot;316&quot; data-start=&quot;250&quot; rel=&quot;noopener&quot; target=&quot;_new&quot;&gt;https://lookup.icann.org/lookup&lt;/a&gt; (Official ICANN Lookup)&lt;/p&gt;
&lt;/li&gt;
&lt;li class=&quot;&quot; data-end=&quot;409&quot; data-start=&quot;343&quot;&gt;
&lt;p class=&quot;&quot; data-end=&quot;409&quot; data-start=&quot;345&quot;&gt;&lt;a class=&quot;&quot; data-end=&quot;409&quot; data-start=&quot;345&quot; rel=&quot;noopener&quot; target=&quot;_new&quot;&gt;https://whois.domaintools.com/&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li class=&quot;&quot; data-end=&quot;448&quot; data-start=&quot;412&quot;&gt;
&lt;p class=&quot;&quot; data-end=&quot;448&quot; data-start=&quot;414&quot;&gt;&lt;a class=&quot;&quot; data-end=&quot;448&quot; data-start=&quot;414&quot; href=&quot;https://who.is/&quot; rel=&quot;noopener&quot; target=&quot;_new&quot;&gt;https://who.is/&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;&quot; data-end=&quot;499&quot; data-start=&quot;452&quot;&gt;
&lt;p class=&quot;&quot; data-end=&quot;499&quot; data-start=&quot;454&quot;&gt;Enter your domain name (e.g., &lt;code data-end=&quot;497&quot; data-start=&quot;484&quot;&gt;example.com&lt;/code&gt;).&lt;/p&gt;
&lt;/li&gt;
&lt;li class=&quot;&quot; data-end=&quot;558&quot; data-start=&quot;501&quot;&gt;
&lt;p class=&quot;&quot; data-end=&quot;558&quot; data-start=&quot;503&quot;&gt;Look for the field called &lt;strong data-end=&quot;542&quot; data-start=&quot;529&quot;&gt;Registrar&lt;/strong&gt; in the results.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p class=&quot;&quot; data-end=&quot;578&quot; data-start=&quot;560&quot;&gt;Example output:&lt;/p&gt;
&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;700&quot; data-start=&quot;579&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none rounded-t-[5px]&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;overflow-y-auto p-4&quot; dir=&quot;ltr&quot;&gt;&lt;code class=&quot;whitespace-pre!&quot;&gt;&lt;span class=&quot;hljs-attr&quot;&gt;Domain Name:&lt;/span&gt; &lt;span class=&quot;hljs-string&quot;&gt;example.com&lt;/span&gt;
&lt;span class=&quot;hljs-attr&quot;&gt;Registrar:&lt;/span&gt; &lt;span class=&quot;hljs-string&quot;&gt;GoDaddy.com,&lt;/span&gt; &lt;span class=&quot;hljs-string&quot;&gt;LLC&lt;/span&gt;
&lt;span class=&quot;hljs-attr&quot;&gt;Registrar IANA ID:&lt;/span&gt; &lt;span class=&quot;hljs-number&quot;&gt;146&lt;/span&gt;
&lt;span class=&quot;hljs-attr&quot;&gt;Registrar URL:&lt;/span&gt; &lt;span class=&quot;hljs-string&quot;&gt;http://www.godaddy.com&lt;/span&gt;
&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p class=&quot;&quot; data-end=&quot;734&quot; data-start=&quot;701&quot;&gt;Here, GoDaddy is the registrar.&lt;/p&gt;&lt;/div&gt;&lt;div&gt;&lt;h3 class=&quot;&quot; data-end=&quot;807&quot; data-start=&quot;741&quot;&gt;Use &lt;code data-end=&quot;769&quot; data-start=&quot;762&quot;&gt;whois&lt;/code&gt; Command from Terminal (Linux/Mac/WSL)&lt;/h3&gt;
&lt;p class=&quot;&quot; data-end=&quot;836&quot; data-start=&quot;809&quot;&gt;If you prefer command line:&lt;/p&gt;&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;866&quot; data-start=&quot;837&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;overflow-y-auto p-4&quot; dir=&quot;ltr&quot;&gt;&lt;code class=&quot;whitespace-pre! language-bash&quot;&gt;whois example.com
&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p class=&quot;&quot; data-end=&quot;895&quot; data-start=&quot;867&quot;&gt;Then search for a line like:&lt;/p&gt;&lt;pre class=&quot;overflow-visible!&quot; data-end=&quot;928&quot; data-start=&quot;896&quot;&gt;&lt;div class=&quot;contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary&quot;&gt;&lt;div class=&quot;overflow-y-auto p-4&quot; dir=&quot;ltr&quot;&gt;&lt;code class=&quot;whitespace-pre!&quot;&gt;&lt;span class=&quot;hljs-section&quot;&gt;Registrar: NAMECHEAP INC&lt;/span&gt;
&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p class=&quot;&quot; data-end=&quot;953&quot; data-start=&quot;929&quot;&gt;That&#39;s your registrar.&lt;/p&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script async src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot;&gt;&lt;/script&gt;
&lt;!-- Leaderboard Manas footer --&gt;
&lt;ins class=&quot;adsbygoogle&quot;
     style=&quot;display:inline-block;width:728px;height:90px&quot;
     data-ad-client=&quot;ca-pub-8906930571041974&quot;
     data-ad-slot=&quot;8147594448&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
(adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;&lt;/div&gt;</description><link>http://www.devopszones.com/2025/04/how-to-enable-dnssec-on-gcp-cloud-dns.html</link><author>noreply@blogger.com (Manas Ranjan Tripathy)</author><thr:total>0</thr:total></item></channel></rss>