<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Cloud logs on Grafana Labs</title><link>https://grafana.com/docs/learning-hub/intro-to-cp-olly/02-cloud-logs/</link><description>Recent content in Cloud logs on Grafana Labs</description><generator>Hugo -- gohugo.io</generator><language>en</language><atom:link href="/docs/learning-hub/intro-to-cp-olly/02-cloud-logs/index.xml" rel="self" type="application/rss+xml"/><item><title>Types of cloud logs</title><link>https://grafana.com/docs/learning-hub/intro-to-cp-olly/02-cloud-logs/13-cloud-logs-types/</link><pubDate>Fri, 02 Oct 2026 08:47:49 -0500</pubDate><guid>https://grafana.com/docs/learning-hub/intro-to-cp-olly/02-cloud-logs/13-cloud-logs-types/</guid><content><![CDATA[&lt;h1 id=&#34;types-of-logs-you-can-collect&#34;&gt;Types of logs you can collect&lt;/h1&gt;
&lt;p&gt;Cloud environments produce several kinds of logs:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Application logs&lt;/strong&gt;: what your code writes out, such as errors, debug statements, and transaction records.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Platform logs&lt;/strong&gt;: what your managed services record, such as your Kubernetes cluster, App Service, or Cloud Run containers.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Audit logs&lt;/strong&gt;: who logged in, who changed which configuration, and which API calls were made. Often required for compliance.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Network logs&lt;/strong&gt;: traffic patterns, such as VPC flow logs that show what&amp;rsquo;s talking to what.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Service logs&lt;/strong&gt;: request details, latency, and error responses from load balancers and CDNs.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You probably don&amp;rsquo;t need all of these at once. Start with application and platform logs to debug production issues, add audit logs if you have compliance requirements, and layer in network and service logs as your practice matures.&lt;/p&gt;
&lt;h2 id=&#34;where-each-type-lives&#34;&gt;Where each type lives&lt;/h2&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Log type&lt;/th&gt;
              &lt;th&gt;AWS&lt;/th&gt;
              &lt;th&gt;Azure&lt;/th&gt;
              &lt;th&gt;GCP&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;Application&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;CloudWatch Logs&lt;/td&gt;
              &lt;td&gt;Log Analytics&lt;/td&gt;
              &lt;td&gt;Cloud Logging&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;Platform&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;ECS/EKS logs&lt;/td&gt;
              &lt;td&gt;AKS/App Service&lt;/td&gt;
              &lt;td&gt;GKE/Cloud Run&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;Audit&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;CloudTrail&lt;/td&gt;
              &lt;td&gt;Activity Logs&lt;/td&gt;
              &lt;td&gt;Audit Logs&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;Network&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;VPC Flow Logs&lt;/td&gt;
              &lt;td&gt;NSG Flow Logs&lt;/td&gt;
              &lt;td&gt;VPC Flow Logs&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;Service&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;ALB, CloudFront&lt;/td&gt;
              &lt;td&gt;Load Balancer&lt;/td&gt;
              &lt;td&gt;Cloud CDN&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h2 id=&#34;questions-you-can-answer&#34;&gt;Questions you can answer&lt;/h2&gt;
&lt;p&gt;With cloud logs in Grafana, you can answer questions like:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;What errors are occurring across my services?&lt;/li&gt;
&lt;li&gt;Who accessed what resources and when?&lt;/li&gt;
&lt;li&gt;What happened in the 5 minutes before the outage?&lt;/li&gt;
&lt;li&gt;Which API calls are failing and why?&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="types-of-logs-you-can-collect">Types of logs you can collect&lt;/h1>
&lt;p>Cloud environments produce several kinds of logs:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Application logs&lt;/strong>: what your code writes out, such as errors, debug statements, and transaction records.&lt;/li>
&lt;li>&lt;strong>Platform logs&lt;/strong>: what your managed services record, such as your Kubernetes cluster, App Service, or Cloud Run containers.&lt;/li>
&lt;li>&lt;strong>Audit logs&lt;/strong>: who logged in, who changed which configuration, and which API calls were made. Often required for compliance.&lt;/li>
&lt;li>&lt;strong>Network logs&lt;/strong>: traffic patterns, such as VPC flow logs that show what&amp;rsquo;s talking to what.&lt;/li>
&lt;li>&lt;strong>Service logs&lt;/strong>: request details, latency, and error responses from load balancers and CDNs.&lt;/li>
&lt;/ul>
&lt;p>You probably don&amp;rsquo;t need all of these at once. Start with application and platform logs to debug production issues, add audit logs if you have compliance requirements, and layer in network and service logs as your practice matures.&lt;/p></description></item><item><title>Logs collection methods</title><link>https://grafana.com/docs/learning-hub/intro-to-cp-olly/02-cloud-logs/14-logs-collection-methods/</link><pubDate>Fri, 02 Oct 2026 08:47:49 -0500</pubDate><guid>https://grafana.com/docs/learning-hub/intro-to-cp-olly/02-cloud-logs/14-logs-collection-methods/</guid><content><![CDATA[&lt;h1 id=&#34;collection-methods-by-cloud-provider&#34;&gt;Collection methods by cloud provider&lt;/h1&gt;
&lt;p&gt;Your choice depends on log volume, cost, and which log types you need.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Cloud&lt;/th&gt;
              &lt;th&gt;Method&lt;/th&gt;
              &lt;th&gt;What it collects&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;AWS&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Firehose&lt;/td&gt;
              &lt;td&gt;Growing or large CloudWatch log volumes&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;AWS&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Logs with Lambda&lt;/td&gt;
              &lt;td&gt;ALB, CloudFront, and CloudTrail logs stored in S3; also CloudWatch Logs, VPC Flow Logs, and Kinesis&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;Azure&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Functions&lt;/td&gt;
              &lt;td&gt;Event-driven from Event Hub&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;Azure&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Alloy&lt;/td&gt;
              &lt;td&gt;Event Hub with filtering and relabeling&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;GCP&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Alloy &#43; Pub/Sub&lt;/td&gt;
              &lt;td&gt;The logs your Cloud Logging sink filter selects&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;]]></content><description>&lt;h1 id="collection-methods-by-cloud-provider">Collection methods by cloud provider&lt;/h1>
&lt;p>Your choice depends on log volume, cost, and which log types you need.&lt;/p>
&lt;section class="expand-table-wrapper">&lt;div class="responsive-table-wrapper">
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Cloud&lt;/th>
&lt;th>Method&lt;/th>
&lt;th>What it collects&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;strong>AWS&lt;/strong>&lt;/td>
&lt;td>Firehose&lt;/td>
&lt;td>Growing or large CloudWatch log volumes&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>AWS&lt;/strong>&lt;/td>
&lt;td>Logs with Lambda&lt;/td>
&lt;td>ALB, CloudFront, and CloudTrail logs stored in S3; also CloudWatch Logs, VPC Flow Logs, and Kinesis&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Azure&lt;/strong>&lt;/td>
&lt;td>Functions&lt;/td>
&lt;td>Event-driven from Event Hub&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Azure&lt;/strong>&lt;/td>
&lt;td>Alloy&lt;/td>
&lt;td>Event Hub with filtering and relabeling&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>GCP&lt;/strong>&lt;/td>
&lt;td>Alloy + Pub/Sub&lt;/td>
&lt;td>The logs your Cloud Logging sink filter selects&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/div>
&lt;/section></description></item><item><title>AWS logs: Lambda</title><link>https://grafana.com/docs/learning-hub/intro-to-cp-olly/02-cloud-logs/15-aws-logs-lambda/</link><pubDate>Fri, 02 Oct 2026 08:47:49 -0500</pubDate><guid>https://grafana.com/docs/learning-hub/intro-to-cp-olly/02-cloud-logs/15-aws-logs-lambda/</guid><content><![CDATA[&lt;h1 id=&#34;aws-logs-lambda&#34;&gt;AWS logs: Lambda&lt;/h1&gt;

&lt;div class=&#34;learning-hub-image&#34;&gt;
  &lt;a href=&#34;cp-olly-aws-logs-lambda-light.svg&#34; title=&#34;AWS logs Lambda architecture: Specific log types trigger Lambda to forward to Grafana Cloud Logs&#34;&gt;
    &lt;img
      
      
      class=&#34;d-inline-block&#34;
      src=&#34;cp-olly-aws-logs-lambda-light.svg&#34;
      
      alt=&#34;AWS logs Lambda architecture: Specific log types trigger Lambda to forward to Grafana Cloud Logs&#34; width=&#34;900&#34; height=&#34;340&#34;/&gt;
    &lt;div class=&#34;learning-hub-image__zoom&#34;&gt;
      &lt;svg width=&#34;24&#34; height=&#34;24&#34; viewBox=&#34;0 0 24 24&#34; fill=&#34;none&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
        &lt;path d=&#34;M21 21L15 15M17 10C17 13.866 13.866 17 10 17C6.13401 17 3 13.866 3 10C3 6.13401 6.13401 3 10 3C13.866 3 17 6.13401 17 10Z&#34; stroke=&#34;currentColor&#34; stroke-width=&#34;2&#34; stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34;/&gt;
        &lt;path d=&#34;M10 7V13M7 10H13&#34; stroke=&#34;currentColor&#34; stroke-width=&#34;2&#34; stroke-linecap=&#34;round&#34;/&gt;
      &lt;/svg&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Complexity:&lt;/strong&gt; Simple | &lt;strong&gt;Infrastructure:&lt;/strong&gt; Serverless | &lt;strong&gt;Latency:&lt;/strong&gt; Event-driven&lt;/p&gt;
&lt;p&gt;This is the Logs with Lambda method, which deploys the Lambda Promtail function. The docs recommend it for ALB, CloudFront, and CloudTrail logs stored in S3. You deploy a Lambda function that triggers on events. When the logs are available, Lambda adds labels and forwards them to Grafana Cloud Logs.&lt;/p&gt;
&lt;h2 id=&#34;log-types-collected-with-lambda&#34;&gt;Log types collected with Lambda&lt;/h2&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Log type&lt;/th&gt;
              &lt;th&gt;Key insights&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;ALB access logs&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Request latency, targets, status codes&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;CloudFront logs&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Edge locations, cache hits&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;CloudTrail&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;API activity, audit&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;CloudWatch Logs&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Application events&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;VPC Flow Logs&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Network traffic&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;Kinesis Data Streams&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Streamed log records&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h2 id=&#34;considerations&#34;&gt;Considerations&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Event-driven and automatic&lt;/li&gt;
&lt;li&gt;Serverless, with no infrastructure to manage&lt;/li&gt;
&lt;li&gt;Labels and relabeling configured through environment variables&lt;/li&gt;
&lt;li&gt;Cost that scales with log volume&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;documentation&#34;&gt;Documentation&lt;/h2&gt;
&lt;p&gt;View the &lt;a href=&#34;/docs/grafana-cloud/monitor-infrastructure/monitor-cloud-provider/aws/logs/cloudwatch-logs/&#34;&gt;AWS Lambda logs&lt;/a&gt; documentation.&lt;/p&gt;
]]></content><description>&lt;h1 id="aws-logs-lambda">AWS logs: Lambda&lt;/h1>
&lt;div class="learning-hub-image">
&lt;a href="cp-olly-aws-logs-lambda-light.svg" title="AWS logs Lambda architecture: Specific log types trigger Lambda to forward to Grafana Cloud Logs">
&lt;img
class="d-inline-block"
src="cp-olly-aws-logs-lambda-light.svg"
alt="AWS logs Lambda architecture: Specific log types trigger Lambda to forward to Grafana Cloud Logs" width="900" height="340"/>
&lt;div class="learning-hub-image__zoom">
&lt;svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
&lt;path d="M21 21L15 15M17 10C17 13.866 13.866 17 10 17C6.13401 17 3 13.866 3 10C3 6.13401 6.13401 3 10 3C13.866 3 17 6.13401 17 10Z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
&lt;path d="M10 7V13M7 10H13" stroke="currentColor" stroke-width="2" stroke-linecap="round"/>
&lt;/svg>
&lt;/div>
&lt;/a>
&lt;/div>
&lt;p>&lt;strong>Complexity:&lt;/strong> Simple | &lt;strong>Infrastructure:&lt;/strong> Serverless | &lt;strong>Latency:&lt;/strong> Event-driven&lt;/p></description></item><item><title>AWS logs: Firehose</title><link>https://grafana.com/docs/learning-hub/intro-to-cp-olly/02-cloud-logs/16-aws-logs-firehose/</link><pubDate>Fri, 02 Oct 2026 08:47:49 -0500</pubDate><guid>https://grafana.com/docs/learning-hub/intro-to-cp-olly/02-cloud-logs/16-aws-logs-firehose/</guid><content><![CDATA[&lt;h1 id=&#34;aws-logs-firehose&#34;&gt;AWS logs: Firehose&lt;/h1&gt;

&lt;div class=&#34;learning-hub-image&#34;&gt;
  &lt;a href=&#34;cp-olly-aws-logs-firehose-light.svg&#34; title=&#34;AWS logs Firehose architecture: CloudWatch Logs to Amazon Data Firehose to Grafana Cloud Logs&#34;&gt;
    &lt;img
      
      
      class=&#34;d-inline-block&#34;
      src=&#34;cp-olly-aws-logs-firehose-light.svg&#34;
      
      alt=&#34;AWS logs Firehose architecture: CloudWatch Logs to Amazon Data Firehose to Grafana Cloud Logs&#34; width=&#34;960&#34; height=&#34;340&#34;/&gt;
    &lt;div class=&#34;learning-hub-image__zoom&#34;&gt;
      &lt;svg width=&#34;24&#34; height=&#34;24&#34; viewBox=&#34;0 0 24 24&#34; fill=&#34;none&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
        &lt;path d=&#34;M21 21L15 15M17 10C17 13.866 13.866 17 10 17C6.13401 17 3 13.866 3 10C3 6.13401 6.13401 3 10 3C13.866 3 17 6.13401 17 10Z&#34; stroke=&#34;currentColor&#34; stroke-width=&#34;2&#34; stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34;/&gt;
        &lt;path d=&#34;M10 7V13M7 10H13&#34; stroke=&#34;currentColor&#34; stroke-width=&#34;2&#34; stroke-linecap=&#34;round&#34;/&gt;
      &lt;/svg&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Complexity:&lt;/strong&gt; Moderate | &lt;strong&gt;Infrastructure:&lt;/strong&gt; Managed | &lt;strong&gt;Latency:&lt;/strong&gt; Buffered (60s default)&lt;/p&gt;
&lt;p&gt;You configure a subscription filter on your CloudWatch log group that sends logs to an Amazon Data Firehose stream. The stream batches the logs and delivers them to Grafana Cloud, with built-in retry and error handling. AWS handles the scaling.&lt;/p&gt;
&lt;h2 id=&#34;cloudwatch-logs-collected-with-firehose&#34;&gt;CloudWatch logs collected with Firehose&lt;/h2&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Log type&lt;/th&gt;
              &lt;th&gt;Source&lt;/th&gt;
              &lt;th&gt;Key insights&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;CloudWatch Logs&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Applications, services&lt;/td&gt;
              &lt;td&gt;Application events, errors&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;RDS Instance Logs&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Database instances&lt;/td&gt;
              &lt;td&gt;Query logs, slow queries&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;VPC Flow Logs&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Network interfaces&lt;/td&gt;
              &lt;td&gt;Network traffic, security&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h2 id=&#34;considerations&#34;&gt;Considerations&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;High-throughput streaming with automatic scaling&lt;/li&gt;
&lt;li&gt;Automatic retry and error handling&lt;/li&gt;
&lt;li&gt;Native CloudWatch integration&lt;/li&gt;
&lt;li&gt;Cost-effective for high log volumes&lt;/li&gt;
&lt;li&gt;Buffered delivery; the reference configuration uses a 60-second buffer&lt;/li&gt;
&lt;li&gt;Both Firehose and Lambda filter with a CloudWatch subscription filter pattern; Lambda additionally supports relabeling&lt;/li&gt;
&lt;li&gt;IAM role setup required, plus Amazon Data Firehose usage cost&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;documentation&#34;&gt;Documentation&lt;/h2&gt;
&lt;p&gt;View the &lt;a href=&#34;/docs/grafana-cloud/monitor-infrastructure/monitor-cloud-provider/aws/logs/firehose-logs/&#34;&gt;AWS Firehose logs&lt;/a&gt; documentation.&lt;/p&gt;
]]></content><description>&lt;h1 id="aws-logs-firehose">AWS logs: Firehose&lt;/h1>
&lt;div class="learning-hub-image">
&lt;a href="cp-olly-aws-logs-firehose-light.svg" title="AWS logs Firehose architecture: CloudWatch Logs to Amazon Data Firehose to Grafana Cloud Logs">
&lt;img
class="d-inline-block"
src="cp-olly-aws-logs-firehose-light.svg"
alt="AWS logs Firehose architecture: CloudWatch Logs to Amazon Data Firehose to Grafana Cloud Logs" width="960" height="340"/>
&lt;div class="learning-hub-image__zoom">
&lt;svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
&lt;path d="M21 21L15 15M17 10C17 13.866 13.866 17 10 17C6.13401 17 3 13.866 3 10C3 6.13401 6.13401 3 10 3C13.866 3 17 6.13401 17 10Z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
&lt;path d="M10 7V13M7 10H13" stroke="currentColor" stroke-width="2" stroke-linecap="round"/>
&lt;/svg>
&lt;/div>
&lt;/a>
&lt;/div>
&lt;p>&lt;strong>Complexity:&lt;/strong> Moderate | &lt;strong>Infrastructure:&lt;/strong> Managed | &lt;strong>Latency:&lt;/strong> Buffered (60s default)&lt;/p></description></item><item><title>Azure logs: Functions</title><link>https://grafana.com/docs/learning-hub/intro-to-cp-olly/02-cloud-logs/17-azure-logs-functions/</link><pubDate>Fri, 02 Oct 2026 08:47:49 -0500</pubDate><guid>https://grafana.com/docs/learning-hub/intro-to-cp-olly/02-cloud-logs/17-azure-logs-functions/</guid><content><![CDATA[&lt;h1 id=&#34;azure-logs-functions&#34;&gt;Azure logs: Functions&lt;/h1&gt;

&lt;div class=&#34;learning-hub-image&#34;&gt;
  &lt;a href=&#34;cp-olly-viz-azure-logs-functions-light.svg&#34; title=&#34;Azure logs Functions architecture: Diagnostic Settings to Event Hub to Azure Functions to Grafana Cloud Logs&#34;&gt;
    &lt;img
      
      
      class=&#34;d-inline-block&#34;
      src=&#34;cp-olly-viz-azure-logs-functions-light.svg&#34;
      
      alt=&#34;Azure logs Functions architecture: Diagnostic Settings to Event Hub to Azure Functions to Grafana Cloud Logs&#34; width=&#34;960&#34; height=&#34;340&#34;/&gt;
    &lt;div class=&#34;learning-hub-image__zoom&#34;&gt;
      &lt;svg width=&#34;24&#34; height=&#34;24&#34; viewBox=&#34;0 0 24 24&#34; fill=&#34;none&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
        &lt;path d=&#34;M21 21L15 15M17 10C17 13.866 13.866 17 10 17C6.13401 17 3 13.866 3 10C3 6.13401 6.13401 3 10 3C13.866 3 17 6.13401 17 10Z&#34; stroke=&#34;currentColor&#34; stroke-width=&#34;2&#34; stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34;/&gt;
        &lt;path d=&#34;M10 7V13M7 10H13&#34; stroke=&#34;currentColor&#34; stroke-width=&#34;2&#34; stroke-linecap=&#34;round&#34;/&gt;
      &lt;/svg&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Complexity:&lt;/strong&gt; Simple | &lt;strong&gt;Infrastructure:&lt;/strong&gt; Serverless | &lt;strong&gt;Latency:&lt;/strong&gt; Event-driven&lt;/p&gt;
&lt;p&gt;Configure diagnostic settings on your Azure resources to stream logs to an Event Hub. An Azure Function triggers when logs arrive and forwards them to Grafana Cloud Logs.&lt;/p&gt;
&lt;h2 id=&#34;considerations&#34;&gt;Considerations&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Serverless and event-driven&lt;/li&gt;
&lt;li&gt;Native Azure integration&lt;/li&gt;
&lt;li&gt;Near real-time delivery&lt;/li&gt;
&lt;li&gt;Function execution and Event Hub costs&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;when-to-use&#34;&gt;When to use&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Event-driven log collection&lt;/li&gt;
&lt;li&gt;Serverless architecture&lt;/li&gt;
&lt;li&gt;Azure-native teams&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;documentation&#34;&gt;Documentation&lt;/h2&gt;
&lt;p&gt;View the &lt;a href=&#34;/docs/grafana-cloud/monitor-infrastructure/monitor-cloud-provider/azure/config-azure-logs-azure-function/&#34;&gt;Azure Functions logs&lt;/a&gt; documentation.&lt;/p&gt;
]]></content><description>&lt;h1 id="azure-logs-functions">Azure logs: Functions&lt;/h1>
&lt;div class="learning-hub-image">
&lt;a href="cp-olly-viz-azure-logs-functions-light.svg" title="Azure logs Functions architecture: Diagnostic Settings to Event Hub to Azure Functions to Grafana Cloud Logs">
&lt;img
class="d-inline-block"
src="cp-olly-viz-azure-logs-functions-light.svg"
alt="Azure logs Functions architecture: Diagnostic Settings to Event Hub to Azure Functions to Grafana Cloud Logs" width="960" height="340"/>
&lt;div class="learning-hub-image__zoom">
&lt;svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
&lt;path d="M21 21L15 15M17 10C17 13.866 13.866 17 10 17C6.13401 17 3 13.866 3 10C3 6.13401 6.13401 3 10 3C13.866 3 17 6.13401 17 10Z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
&lt;path d="M10 7V13M7 10H13" stroke="currentColor" stroke-width="2" stroke-linecap="round"/>
&lt;/svg>
&lt;/div>
&lt;/a>
&lt;/div>
&lt;p>&lt;strong>Complexity:&lt;/strong> Simple | &lt;strong>Infrastructure:&lt;/strong> Serverless | &lt;strong>Latency:&lt;/strong> Event-driven&lt;/p></description></item><item><title>Azure logs: Grafana Alloy</title><link>https://grafana.com/docs/learning-hub/intro-to-cp-olly/02-cloud-logs/18-azure-logs-grafana-alloy/</link><pubDate>Fri, 02 Oct 2026 08:47:49 -0500</pubDate><guid>https://grafana.com/docs/learning-hub/intro-to-cp-olly/02-cloud-logs/18-azure-logs-grafana-alloy/</guid><content><![CDATA[&lt;h1 id=&#34;azure-logs-grafana-alloy&#34;&gt;Azure logs: Grafana Alloy&lt;/h1&gt;

&lt;div class=&#34;learning-hub-image&#34;&gt;
  &lt;a href=&#34;cp-olly-viz-azure-logs-alloy-light.svg&#34; title=&#34;Azure logs Alloy architecture: Azure Monitor to Event Hub with Kafka endpoint, Alloy pulls logs and pushes to Grafana Cloud Logs&#34;&gt;
    &lt;img
      
      
      class=&#34;d-inline-block&#34;
      src=&#34;cp-olly-viz-azure-logs-alloy-light.svg&#34;
      
      alt=&#34;Azure logs Alloy architecture: Azure Monitor to Event Hub with Kafka endpoint, Alloy pulls logs and pushes to Grafana Cloud Logs&#34; width=&#34;960&#34; height=&#34;340&#34;/&gt;
    &lt;div class=&#34;learning-hub-image__zoom&#34;&gt;
      &lt;svg width=&#34;24&#34; height=&#34;24&#34; viewBox=&#34;0 0 24 24&#34; fill=&#34;none&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
        &lt;path d=&#34;M21 21L15 15M17 10C17 13.866 13.866 17 10 17C6.13401 17 3 13.866 3 10C3 6.13401 6.13401 3 10 3C13.866 3 17 6.13401 17 10Z&#34; stroke=&#34;currentColor&#34; stroke-width=&#34;2&#34; stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34;/&gt;
        &lt;path d=&#34;M10 7V13M7 10H13&#34; stroke=&#34;currentColor&#34; stroke-width=&#34;2&#34; stroke-linecap=&#34;round&#34;/&gt;
      &lt;/svg&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Complexity:&lt;/strong&gt; Flexible | &lt;strong&gt;Infrastructure:&lt;/strong&gt; Linux, Windows, or MacOS VM | &lt;strong&gt;Latency:&lt;/strong&gt; Configurable&lt;/p&gt;
&lt;p&gt;Azure Monitor streams log data to an Event Hubs namespace with a Kafka endpoint. Alloy pulls the logs using the Kafka protocol and forwards them to Grafana Cloud Logs. Its pipeline can parse, filter, relabel, and enrich logs first. If you already deployed Alloy for metrics, the same deployment can collect logs.&lt;/p&gt;
&lt;h2 id=&#34;considerations&#34;&gt;Considerations&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Event Hub ingestion over the Kafka protocol&lt;/li&gt;
&lt;li&gt;Full processing pipeline for parsing, filtering, and enrichment&lt;/li&gt;
&lt;li&gt;Managed identity authentication&lt;/li&gt;
&lt;li&gt;One deployment for both metrics and logs&lt;/li&gt;
&lt;li&gt;Alloy infrastructure to deploy, maintain, and update&lt;/li&gt;
&lt;li&gt;Event Hubs namespace must be Standard or Premium so the Kafka endpoint is available&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;when-to-use&#34;&gt;When to use&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Complex processing needs&lt;/li&gt;
&lt;li&gt;Event Hub log sources&lt;/li&gt;
&lt;li&gt;Combined metrics &#43; logs collection&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;documentation&#34;&gt;Documentation&lt;/h2&gt;
&lt;p&gt;View the &lt;a href=&#34;/docs/grafana-cloud/monitor-infrastructure/monitor-cloud-provider/azure/config-azure-logs-alloy/&#34;&gt;Azure Alloy logs&lt;/a&gt; documentation.&lt;/p&gt;
]]></content><description>&lt;h1 id="azure-logs-grafana-alloy">Azure logs: Grafana Alloy&lt;/h1>
&lt;div class="learning-hub-image">
&lt;a href="cp-olly-viz-azure-logs-alloy-light.svg" title="Azure logs Alloy architecture: Azure Monitor to Event Hub with Kafka endpoint, Alloy pulls logs and pushes to Grafana Cloud Logs">
&lt;img
class="d-inline-block"
src="cp-olly-viz-azure-logs-alloy-light.svg"
alt="Azure logs Alloy architecture: Azure Monitor to Event Hub with Kafka endpoint, Alloy pulls logs and pushes to Grafana Cloud Logs" width="960" height="340"/>
&lt;div class="learning-hub-image__zoom">
&lt;svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
&lt;path d="M21 21L15 15M17 10C17 13.866 13.866 17 10 17C6.13401 17 3 13.866 3 10C3 6.13401 6.13401 3 10 3C13.866 3 17 6.13401 17 10Z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
&lt;path d="M10 7V13M7 10H13" stroke="currentColor" stroke-width="2" stroke-linecap="round"/>
&lt;/svg>
&lt;/div>
&lt;/a>
&lt;/div>
&lt;p>&lt;strong>Complexity:&lt;/strong> Flexible | &lt;strong>Infrastructure:&lt;/strong> Linux, Windows, or MacOS VM | &lt;strong>Latency:&lt;/strong> Configurable&lt;/p></description></item><item><title>GCP logs: Alloy + Pub/Sub</title><link>https://grafana.com/docs/learning-hub/intro-to-cp-olly/02-cloud-logs/19-gcp-logs-alloy-pubsub/</link><pubDate>Fri, 02 Oct 2026 08:47:49 -0500</pubDate><guid>https://grafana.com/docs/learning-hub/intro-to-cp-olly/02-cloud-logs/19-gcp-logs-alloy-pubsub/</guid><content><![CDATA[&lt;h1 id=&#34;gcp-logs-alloy--pubsub&#34;&gt;GCP logs: Alloy &#43; Pub/Sub&lt;/h1&gt;
&lt;p&gt;&lt;strong&gt;Complexity:&lt;/strong&gt; Moderate | &lt;strong&gt;Infrastructure:&lt;/strong&gt; Pub/Sub &#43; Alloy | &lt;strong&gt;Latency:&lt;/strong&gt; Streaming&lt;/p&gt;

&lt;div class=&#34;learning-hub-image&#34;&gt;
  &lt;a href=&#34;gcp-logs-pipeline.svg&#34; title=&#34;GCP logs collection pipeline&#34;&gt;
    &lt;img
      
      
      class=&#34;d-inline-block&#34;
      src=&#34;gcp-logs-pipeline.svg&#34;
      
      alt=&#34;GCP logs collection pipeline&#34; width=&#34;850&#34; height=&#34;280&#34;/&gt;
    &lt;div class=&#34;learning-hub-image__zoom&#34;&gt;
      &lt;svg width=&#34;24&#34; height=&#34;24&#34; viewBox=&#34;0 0 24 24&#34; fill=&#34;none&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
        &lt;path d=&#34;M21 21L15 15M17 10C17 13.866 13.866 17 10 17C6.13401 17 3 13.866 3 10C3 6.13401 6.13401 3 10 3C13.866 3 17 6.13401 17 10Z&#34; stroke=&#34;currentColor&#34; stroke-width=&#34;2&#34; stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34;/&gt;
        &lt;path d=&#34;M10 7V13M7 10H13&#34; stroke=&#34;currentColor&#34; stroke-width=&#34;2&#34; stroke-linecap=&#34;round&#34;/&gt;
      &lt;/svg&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;You create a log sink in Cloud Logging with filters that select which logs to export. The sink routes them to a topic in Pub/Sub, Google Cloud&amp;rsquo;s managed messaging service. Alloy subscribes to the topic, processes the logs, and forwards them to Grafana Cloud Logs. Sink filters let you reduce volume at the source.&lt;/p&gt;
&lt;h2 id=&#34;considerations&#34;&gt;Considerations&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Log sink filtering to reduce volume&lt;/li&gt;
&lt;li&gt;Application Default Credentials for Alloy&lt;/li&gt;
&lt;li&gt;Processing pipeline for filtering and relabeling&lt;/li&gt;
&lt;li&gt;Alloy infrastructure to deploy, maintain, and update&lt;/li&gt;
&lt;li&gt;Pub/Sub cost, plus setup steps&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;documentation&#34;&gt;Documentation&lt;/h2&gt;
&lt;p&gt;View the &lt;a href=&#34;/docs/grafana-cloud/monitor-infrastructure/monitor-cloud-provider/gcp/config-gcp-logs/&#34;&gt;GCP logs&lt;/a&gt; documentation.&lt;/p&gt;
]]></content><description>&lt;h1 id="gcp-logs-alloy--pubsub">GCP logs: Alloy + Pub/Sub&lt;/h1>
&lt;p>&lt;strong>Complexity:&lt;/strong> Moderate | &lt;strong>Infrastructure:&lt;/strong> Pub/Sub + Alloy | &lt;strong>Latency:&lt;/strong> Streaming&lt;/p>
&lt;div class="learning-hub-image">
&lt;a href="gcp-logs-pipeline.svg" title="GCP logs collection pipeline">
&lt;img
class="d-inline-block"
src="gcp-logs-pipeline.svg"
alt="GCP logs collection pipeline" width="850" height="280"/>
&lt;div class="learning-hub-image__zoom">
&lt;svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
&lt;path d="M21 21L15 15M17 10C17 13.866 13.866 17 10 17C6.13401 17 3 13.866 3 10C3 6.13401 6.13401 3 10 3C13.866 3 17 6.13401 17 10Z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
&lt;path d="M10 7V13M7 10H13" stroke="currentColor" stroke-width="2" stroke-linecap="round"/>
&lt;/svg>
&lt;/div>
&lt;/a>
&lt;/div>
&lt;p>You create a log sink in Cloud Logging with filters that select which logs to export. The sink routes them to a topic in Pub/Sub, Google Cloud&amp;rsquo;s managed messaging service. Alloy subscribes to the topic, processes the logs, and forwards them to Grafana Cloud Logs. Sink filters let you reduce volume at the source.&lt;/p></description></item><item><title>Logs resources</title><link>https://grafana.com/docs/learning-hub/intro-to-cp-olly/02-cloud-logs/20-logs-resources/</link><pubDate>Fri, 02 Oct 2026 08:47:49 -0500</pubDate><guid>https://grafana.com/docs/learning-hub/intro-to-cp-olly/02-cloud-logs/20-logs-resources/</guid><content><![CDATA[&lt;h1 id=&#34;resources&#34;&gt;Resources&lt;/h1&gt;
&lt;p&gt;These docs go deeper on each log collection method covered in this section.&lt;/p&gt;
&lt;h2 id=&#34;documentation&#34;&gt;Documentation&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;/docs/grafana-cloud/observe-and-act/monitor-infrastructure/monitor-cloud-provider/&#34;&gt;Cloud Provider Observability&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;/docs/grafana-cloud/observe-and-act/monitor-infrastructure/monitor-cloud-provider/aws/logs/firehose-logs/&#34;&gt;AWS Firehose logs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;/docs/grafana-cloud/observe-and-act/monitor-infrastructure/monitor-cloud-provider/aws/logs/cloudwatch-logs/&#34;&gt;AWS CloudWatch logs with Lambda&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;/docs/grafana-cloud/observe-and-act/monitor-infrastructure/monitor-cloud-provider/azure/config-azure-logs-azure-function/&#34;&gt;Azure logs with Functions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;/docs/grafana-cloud/observe-and-act/monitor-infrastructure/monitor-cloud-provider/azure/config-azure-logs-alloy/&#34;&gt;Azure logs with Grafana Alloy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;/docs/grafana-cloud/observe-and-act/monitor-infrastructure/monitor-cloud-provider/gcp/config-gcp-logs/&#34;&gt;GCP logs with Grafana Alloy and Pub/Sub&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;blog-posts&#34;&gt;Blog posts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;/blog/multi-cloud-monitoring-made-easy-monitor-aws-microsoft-azure-and-google-cloud-services-all-in-one-app/&#34;&gt;Multi-cloud monitoring made easy: monitor AWS, Azure, and GCP in one app&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;community&#34;&gt;Community&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://community.grafana.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Grafana Community Forums&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://slack.grafana.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Grafana Slack&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="resources">Resources&lt;/h1>
&lt;p>These docs go deeper on each log collection method covered in this section.&lt;/p>
&lt;h2 id="documentation">Documentation&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="/docs/grafana-cloud/observe-and-act/monitor-infrastructure/monitor-cloud-provider/">Cloud Provider Observability&lt;/a>&lt;/li>
&lt;li>&lt;a href="/docs/grafana-cloud/observe-and-act/monitor-infrastructure/monitor-cloud-provider/aws/logs/firehose-logs/">AWS Firehose logs&lt;/a>&lt;/li>
&lt;li>&lt;a href="/docs/grafana-cloud/observe-and-act/monitor-infrastructure/monitor-cloud-provider/aws/logs/cloudwatch-logs/">AWS CloudWatch logs with Lambda&lt;/a>&lt;/li>
&lt;li>&lt;a href="/docs/grafana-cloud/observe-and-act/monitor-infrastructure/monitor-cloud-provider/azure/config-azure-logs-azure-function/">Azure logs with Functions&lt;/a>&lt;/li>
&lt;li>&lt;a href="/docs/grafana-cloud/observe-and-act/monitor-infrastructure/monitor-cloud-provider/azure/config-azure-logs-alloy/">Azure logs with Grafana Alloy&lt;/a>&lt;/li>
&lt;li>&lt;a href="/docs/grafana-cloud/observe-and-act/monitor-infrastructure/monitor-cloud-provider/gcp/config-gcp-logs/">GCP logs with Grafana Alloy and Pub/Sub&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="blog-posts">Blog posts&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="/blog/multi-cloud-monitoring-made-easy-monitor-aws-microsoft-azure-and-google-cloud-services-all-in-one-app/">Multi-cloud monitoring made easy: monitor AWS, Azure, and GCP in one app&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="community">Community&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="https://community.grafana.com/" target="_blank" rel="noopener noreferrer">Grafana Community Forums&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://slack.grafana.com/" target="_blank" rel="noopener noreferrer">Grafana Slack&lt;/a>&lt;/li>
&lt;/ul></description></item></channel></rss>