<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
  <channel>
    <title><![CDATA[Alexis Roberson - Elastic Observability Labs]]></title>
    <description><![CDATA[Trusted security news & research from the team at Elastic.]]></description>
    <copyright><![CDATA[© 2026. Elasticsearch B.V. All Rights Reserved]]></copyright>
    <image>
      <title><![CDATA[Alexis Roberson - Elastic Observability Labs]]></title>
      <url>https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltad972c1c27dbefc6/6a88d9782904ea5e8511d473/observability-labs-thumbnail.png</url>
      <link>https://www.elastic.co/observability-labs/author/alexis-roberson</link>
    </image>
    <link>https://www.elastic.co/observability-labs/author/alexis-roberson</link>
    <atom:link href="https://www.elastic.co/observability-labs/rss/author/alexis-roberson.xml" rel="self" type="application/rss+xml"/>
    <language><![CDATA[en]]></language>
    <lastBuildDate>Mon, 14 Sep 2026 13:11:37 GMT</lastBuildDate>
  <item>
    <title><![CDATA[Using the Elastic Agent to monitor Amazon ECS and AWS Fargate with Elastic Observability]]></title>
    <description><![CDATA[In this article, we’ll guide you through how to install the Elastic Agent with the AWS Fargate integration as a sidecar container to send host metrics and logs to Elastic Observability.]]></description>
    <content:encoded><![CDATA[<h2 id="serverlessandawsecsfargate">Serverless and AWS ECS Fargate</h2>
<p>AWS Fargate is a serverless pay-as-you-go engine used for Amazon Elastic Container Service (ECS) to run Docker containers without having to manage servers or clusters. The goal of Fargate is to containerize your application and specify the OS, CPU and memory, networking, and IAM policies needed for launch. Additionally, AWS Fargate can be used with Elastic Kubernetes Service (EKS) in a <a href="https://docs.aws.amazon.com/eks/latest/userguide/fargate.html">similar manner</a>.</p>
<p>Although the provisioning of servers would be handled by a third party, the need to understand the health and performance of containers within your serverless environment becomes even more vital in identifying root causes and system interruptions. Serverless still requires observability. Elastic Observability can provide observability for not only AWS ECS with Fargate, as we will discuss in this blog, but also for a number of AWS services (EC2, RDS, ELB, etc). See our <a href="https://www.elastic.co/blog/aws-service-metrics-monitor-observability-easy">previous blog</a> on managing an EC2-based application with Elastic Observability.</p>
<h2 id="gainingfullvisibilitywithelasticobservability">Gaining full visibility with Elastic Observability</h2>
<p>Elastic Observability is governed by the three pillars involved in creating full visibility within a system: logs, metrics, and traces. Logs list all the events that have taken place in the system. Metrics keep track of data that will tell you if the system is down, like response time, CPU usage, memory usage, and latency. Traces give a good indication of the performance of your system based on the execution of requests.</p>
<p>These pillars by themselves offer some insight, but combining them allows for you to see the full scope of your system and how it handles increases in load or traffic over time. Connecting Elastic Observability to your serverless environment will help you deal with outages quicker and perform root cause analysis to prevent any future problems.</p>
<p>In this article, we’ll guide you through how to install the Elastic Agent with the <a href="https://docs.elastic.co/integrations/awsfargate">AWS Fargate</a> integration as a sidecar container to send host metrics and logs to Elastic Observability.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt803b7dadd7538890/6a85c8b42d64d57d43081cea/Screenshot_2023-06-16_at_12.58.05_PM.png" alt="" /></p>
<h2 id="prerequisites">Prerequisites:</h2>
<ul>
<li>AWS account with AWS CLI configured</li>
<li>GitHub account</li>
<li>Elastic Cloud account</li>
<li>An app running on a container in AWS</li>
</ul>
<p>This tutorial is divided into two parts:</p>
<ol>
<li>Set up the Fleet server to be used by the sidecar container in AWS.</li>
<li>Create the sidecar container in AWS Fargate to send data back to Elastic Observability.</li>
</ol>
<h2 id="partisetupthefleetserver">Part I: Set up the Fleet server</h2>
<p>First, let’s log in to Elastic Cloud.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt8c64699a3a4d241e/6a85c8b74710c65ef1d3cb05/image4.png" alt="" /></p>
<p>You can either create a new deployment or use an existing one.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt6c2c2758222a2477/6a85c8bad7b2e7717efe849c/image35.png" alt="" /></p>
<p>From the <strong>Home</strong> page, use the side panel to scroll to Management &gt; Fleet &gt; Agent policies. Click <strong>Add policy</strong>.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt0fcb9b2f065f6980/6a85c8bd5c27905f1ef59acf/image30.png" alt="" /></p>
<p>Click <strong>Create agent policy</strong>. Here we’ll create a policy to attach to the Fleet agent.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltf7486ca256e624a4/6a85c8c093ffb9c405b913eb/image38.png" alt="" /></p>
<p>Give the policy a name and save changes.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt8affe45d856644e2/6a85c8c30782905f6c32172e/image44.png" alt="" /></p>
<p>Click <strong>Create agent policy</strong>. You should see the agent policy AWS Fargate in the list of policies.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltb90b92edc7f54ea0/6a85c8c69d2b71099cf93945/image42.png" alt="" /></p>
<p>Now that we have an agent policy, let’s add the integration to collect logs and metrics from the host. Click on <strong>AWS Fargate -&gt; Add integration</strong>.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt66bcb99f5f15a63f/6a85c8c8abdc29673b1224ac/image19.png" alt="" /></p>
<p>We’ll be adding to the policy AWS to collect overall AWS metrics and AWS Fargate to collect metrics from this integration. You can find each one by typing them in the search bar.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltd0b1c57451639be3/6a85c8cb11893c866da7ab3a/image1.png" alt="" /></p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blta30ddfb73a520417/6a85c8ce2d64d5e12a081cf2/image34.png" alt="" /></p>
<p>Once you click on the integration, it will take you to its landing page, where you can add it to the policy.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt29db850a592cc5da/6a85c8d1d6cf290f0ebb08bc/image48.png" alt="" /></p>
<p>For the AWS integration, the only collection settings that we will configure are Collect billing metrics, Collect logs from CloudWatch, Collect metrics from CloudWatch, Collect ECS metrics, and Collect Usage metrics. Everything else can be left disabled.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blta9356012ac813662/6a85c8d45c27907614f59ad7/Screenshot_2023-06-15_at_11.35.28_AM.png" alt="" /></p>
<p>Another thing to keep in mind when using this integration is the set of permissions required to collect data from AWS. This can be found on the AWS integration page under AWS permissions. Take note of these permissions, as we will use them to create an IAM policy.</p>
<p>Next, we will add the AWS Fargate integration, which doesn’t require further configuration settings.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt143ff336054d94af/6a85c8d79bf99466ec0a052d/image37.png" alt="" /></p>
<p>Now that we have created the agent policy and attached the proper integrations, let’s create the agent that will implement the policy. Navigate back to the main Fleet page and click <strong>Add agent</strong>.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt70004b5c001ab658/6a85c8dabc5bb3ac12f81aa7/image41.png" alt="" /></p>
<p>Since we’ll be connecting to AWS Fargate through ECS, the host type should be set to this value. All the other default values can stay the same.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt25c143567249b28d/6a85c8dc5c279077d4f59adb/image15.png" alt="" /></p>
<p>Lastly, let’s create the enrollment token and attach the agent policy. This will enable AWS ECS Fargate to access Elastic and send data.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt6f72869a6ec7b0ee/6a85c8df43c0b77c5c2f05d8/image6.png" alt="" /></p>
<p>Once created, you should be able to see policy name, secret, and agent policy listed.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt5f34035a6752e29a/6a85c8e2bc5bb317c8f81aad/image43.png" alt="" /></p>
<p>We’ll be using our Fleet credentials in the next step to send data to Elastic from AWS Fargate.</p>
<h2 id="partiisenddatatoelasticobservability">Part II: Send data to Elastic Observability</h2>
<p>It’s time to create our ECS Cluster, Service, and task definition in order to start running the container.</p>
<p>Log in to your AWS account and navigate to ECS.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt7b7234b6f3e2fa20/6a85c8e418249c2d6c18f755/image46.png" alt="" /></p>
<p>We’ll start by creating the cluster.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltbc0ac0f14d810fda/6a85c8e7eaf24536dda49f19/image9.png" alt="" /></p>
<p>Add a name to the Cluster. And for subnets, only select the first two for us-east-1a and us-eastlb.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt9997e6a16775a270/6a85c8ea501a85704bfbb2e2/image10.png" alt="" /></p>
<p>For the sake of the demo, we’ll keep the rest of the options set to default. Click <strong>Create</strong>.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltadfa4acf490f8759/6a85c8ed331d7a9211c31743/image11.png" alt="" /></p>
<p>We should see the cluster we created listed below.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt4737257dd5cf14ff/6a85c8ef18249c82f618f759/Screenshot_2023-06-15_at_11.15.51_AM.png" alt="" /></p>
<p>Now that we’ve created our cluster to host our container, we want to create a task definition that will be used to set up our container. But before we do this, we will need to create a task role with an associated policy. This task role will allow for AWS metrics to be sent from AWS to the Elastic Agent.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltfe7aa2800cf35d7b/6a85c8f28c2944847eb88ff9/image47.png" alt="" /></p>
<p>Navigate to IAM in AWS.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blta32f8d2eeb1538e1/6a85c8f568266660a61eabbf/image32.png" alt="" /></p>
<p>Go to <strong>Policies -&gt; Create policy</strong>.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt60aaab8d80cfd8da/6a85c8f893ffb9fa6fb913f9/image31.png" alt="" /></p>
<p>Now we will reference the AWS permissions from the Fleet AWS integration page and use them to configure the policy. In addition to these permissions, we will also add the GetAtuhenticationToken action for ECR.</p>
<p>You can configure each one using the visual editor.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltb1ffec16aa32f905/6a85c8fad7b2e7d13cfe84a8/image22.png" alt="" /></p>
<p>Or, use the JSON option. Don’t forget to replace the \&lt;account_id&gt; with your own.</p>
<pre><code>{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "VisualEditor0",
      "Effect": "Allow",
      "Action": [
        "sqs:DeleteMessage",
        "sqs:ChangeMessageVisibility",
        "sqs:ReceiveMessage",
        "ecr:GetDownloadUrlForLayer",
        "ecr:UploadLayerPart",
        "ecr:PutImage",
        "sts:AssumeRole",
        "rds:ListTagsForResource",
        "ecr:BatchGetImage",
        "ecr:CompleteLayerUpload",
        "rds:DescribeDBInstances",
        "logs:FilterLogEvents",
        "ecr:InitiateLayerUpload",
        "ecr:BatchCheckLayerAvailability"
      ],
      "Resource": [
        "arn:aws:iam::&lt;account_id&gt;:role/*",
        "arn:aws:logs:*:&lt;account_id&gt;:log-group:*",
        "arn:aws:sqs:*:&lt;account_id&gt;:*",
        "arn:aws:ecr:*:&lt;account_id&gt;:repository/*",
        "arn:aws:rds:*:&lt;account_id&gt;:target-group:*",
        "arn:aws:rds:*:&lt;account_id&gt;:subgrp:*",
        "arn:aws:rds:*:&lt;account_id&gt;:pg:*",
        "arn:aws:rds:*:&lt;account_id&gt;:ri:*",
        "arn:aws:rds:*:&lt;account_id&gt;:cluster-snapshot:*",
        "arn:aws:rds:*:&lt;account_id&gt;:cev:*/*/*",
        "arn:aws:rds:*:&lt;account_id&gt;:og:*",
        "arn:aws:rds:*:&lt;account_id&gt;:db:*",
        "arn:aws:rds:*:&lt;account_id&gt;:es:*",
        "arn:aws:rds:*:&lt;account_id&gt;:db-proxy-endpoint:*",
        "arn:aws:rds:*:&lt;account_id&gt;:secgrp:*",
        "arn:aws:rds:*:&lt;account_id&gt;:cluster:*",
        "arn:aws:rds:*:&lt;account_id&gt;:cluster-pg:*",
        "arn:aws:rds:*:&lt;account_id&gt;:cluster-endpoint:*",
        "arn:aws:rds:*:&lt;account_id&gt;:db-proxy:*",
        "arn:aws:rds:*:&lt;account_id&gt;:snapshot:*"
      ]
    },
    {
      "Sid": "VisualEditor1",
      "Effect": "Allow",
      "Action": [
        "sqs:ListQueues",
        "organizations:ListAccounts",
        "ec2:DescribeInstances",
        "tag:GetResources",
        "cloudwatch:GetMetricData",
        "ec2:DescribeRegions",
        "iam:ListAccountAliases",
        "sns:ListTopics",
        "sts:GetCallerIdentity",
        "cloudwatch:ListMetrics"
      ],
      "Resource": "*"
    },
    {
      "Sid": "VisualEditor2",
      "Effect": "Allow",
      "Action": "ecr:GetAuthorizationToken",
      "Resource": "arn:aws:ecr:*:&lt;account_id&gt;:repository/*"
    }
  ]
}
</code></pre>
<p>Review your changes.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltfa30238f739c3cbf/6a85c8fed7b2e74b05fe84ac/image3.png" alt="" /></p>
<p>Now let’s attach this policy to a role. Navigate to <strong>IAM -&gt; Roles</strong>. Click <strong>Create role</strong>.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt7927c953da8dd23c/6a85c9014710c60f32d3cb0b/image45.png" alt="" /></p>
<p>Select AWS service as Trusted entity type and select EC2 as Use case. Click <strong>Next</strong>.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt09f9f2b78eccb086/6a85c90480984cadea668f9e/image24.png" alt="" /></p>
<p>Under permissions policies, select the policy we just created, as well as CloudWatchLogsFullAccess and AmazonEC2ContainerRegistryFullAccess. Click <strong>Next</strong>.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt76a43671e00db1ea/6a85c90768266655661eabc7/image27.png" alt="" /></p>
<p>Give the task role a name and description.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt3f49c33f73d635e1/6a85c90a93ffb98d45b913fd/image39.png" alt="" /></p>
<p>Click <strong>Create role</strong>.</p>
<p>Now it’s time to create the task definition. Navigate to <strong>ECS -&gt; Task definitions</strong>. Click <strong>Create new task definition</strong>.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt710c84e6d06460ef/6a85c90c501a8573a7fbb2e8/image21.png" alt="" /></p>
<p>Let’s give this task definition a name.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt60dc8e5f34f7de35/6a85c90f9d2b7111f2f9394d/image14.png" alt="" /></p>
<p>After giving the task definition a name, you’ll add the Fleet credentials to the container section, which you can obtain from the Enrollment Tokens section of the Fleet section in Elastic Cloud. This allows us to host the Elastic Agent on the ECS container as a sidecar and send data to Elastic using Fleet credentials.</p>
<ul>
<li><p>Container name: <strong>elastic-agent-container</strong></p></li>
<li><p>Image: <strong>docker.elastic.co/beats/elastic-agent:8.19.13</strong></p></li>
</ul>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt801abae39b4a9621/6a85c91ebc5bb3be21f81abf/image40.png" alt="" /></p>
<p>Now let’s add the environment variables:</p>
<ul>
<li><p>FLEET_ENROLL: <strong>yes</strong></p></li>
<li><p>FLEET_ENROLLMENT_TOKEN: <strong>\</strong></p></li>
<li><p>FLEET_URL: <strong>\</strong></p></li>
</ul>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt7d33d06272460b61/6a85c92133f244901449f4da/image26.png" alt="" /></p>
<p>For the sake of the demo, leave Environment, Monitoring, Storage, and Tags as default values. Now we will need to create a second container to run the image for the golang app stored in ECR. Click <strong>Add more containers</strong>.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltcfc6c6fd29e5e54b/6a85c924abdc29751c1224b8/image5.png" alt="" /></p>
<p>For Environment, we will reserve 1 vCPU and 3 GB of memory. Under Task role, search for the role we created that uses the IAM policy.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltaa0e4e527e1f6176/6a85c92718249c3d0418f789/image7.png" alt="" /></p>
<p>Review the changes, then click <strong>Create</strong>.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt6145ac851750d6bb/6a85c929e2447ae70a8b13c4/image25.png" alt="" /></p>
<p>You should see your new task definition included in the list.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt0c4109a155aa44bf/6a85c92cabdc293fae1224bc/image20.png" alt="" /></p>
<p>The final step is to create the service that will connect directly to the fleet server.<br />
Navigate to the cluster you created and click <strong>Create</strong> under the Service tab.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltbe52f20828680633/6a85c92f18249cfd8018f78d/image18.png" alt="" /></p>
<p>Let’s get our service environment configured.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt06147dd1ec890489/6a85c932abdc296cfa1224c0/image28.png" alt="" /></p>
<p>Set up the deployment configuration. Here you should provide the name of the task definition you created in the previous step. Also, provide the service with a unique name. Set the number of <strong>desired tasks</strong> to 2 instead of 1.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt83da0a1232f4abe8/6a85c93493ffb97168b91405/image16.png" alt="" /></p>
<p>Click <strong>Create</strong>. Now your service is running two tasks in your cluster using the task definition you provided.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt4f77cfa47a90aeae/6a85c937f9373d15c996f568/image33.png" alt="" /></p>
<p>To recap, we set up a Fleet server in Elastic Cloud to receive AWS Fargate data. We then created our AWS Fargate cluster task definition with the Fleet credentials implemented within the container. Lastly, we created the service to send data about our host to Elastic.</p>
<p>Now let’s verify our Elastic Agent is healthy and properly receiving data from AWS Fargate.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt3d79a96ce36d7900/6a85c93a68266621071eabd3/image36.png" alt="" /></p>
<p>We can also view a better breakdown of our agent on the Observability Overview page.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt04e50bfd77416b38/6a85c93d342d69d55721b0bb/image2.png" alt="" /></p>
<p>If we drill down to hosts, by clicking on host name we should be able to see more granular data. For instance, we can see the CPU Usage of the Elastic Agent itself that is deployed in our AWS Fargate environment.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt5655c577c37482f4/6a85c93f11893c1a84a7ab5c/image8.png" alt="" /></p>
<p>Lastly, we can view the AWS Fargate dashboard generated using the data collected by our Elastic Agent. This is an out-of-the-box dashboard that can also be customized based on the data you would like to visualize.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt640bb8ca9841e713/6a85c9439bf9947fa00a0543/image23.png" alt="" /></p>
<p>As you can see in the dashboard we’re able to filter based on running tasks, as well as see a list of containers running in our environment. Something else that could be useful to show is the CPU usage per cluster as shown under CPU Utilization per Cluster.</p>
<p>The dashboard can pull data from different sources and in this case shows data for both AWS Fargate and the greater ECS cluster. The two containers at the bottom display the CPU and memory usage directly from ECS.</p>
<h2 id="conclusion">Conclusion</h2>
<p>In this article, we showed how to send data from AWS Fargate to Elastic Observability using the Elastic Agent and Fleet. Serverless architectures are quickly becoming industry standard in offloading the management of servers to third parties. However, this does not alleviate the responsibility of operations engineers to manage the data generated within these environments. Elastic Observability provides a way to not only ingest the data from serverless architectures, but also establish a roadmap to address future problems.</p>
<p>Start your own <a href="https://aws.amazon.com/marketplace/pp/prodview-voru33wi6xs7k?trk=5fbc596b-6d2a-433a-8333-0bd1f28e84da%E2%89%BBchannel=el">7-day free trial</a> by signing up via <a href="https://aws.amazon.com/marketplace/pp/prodview-voru33wi6xs7k?trk=d54b31eb-671c-49ba-88bb-7a1106421dfa%E2%89%BBchannel=el">AWS Marketplace</a> and quickly spin up a deployment in minutes on any of the <a href="https://www.elastic.co/guide/en/cloud/current/ec-reference-regions.html#ec_amazon_web_services_aws_regions">Elastic Cloud regions on AWS</a> around the world. Your AWS Marketplace purchase of Elastic will be included in your monthly consolidated billing statement and will draw against your committed spend with AWS.</p>
<p><strong>More resources on serverless and observability and AWS:</strong></p>
<ul>
<li><a href="https://www.elastic.co/blog/aws-service-metrics-monitor-observability-easy">Analyze your AWS application’s service metrics on Elastic Observability (EC2, ELB, RDS, and NAT)</a></li>
<li><a href="https://www.elastic.co/blog/observability-apm-aws-lambda-serverless-functions">Get visibility into AWS Lambda serverless functions with Elastic Observability</a></li>
<li><a href="https://www.elastic.co/blog/trace-based-testing-elastic-apm-tracetest">Trace-based testing with Elastic APM and Tracetest</a></li>
<li><a href="https://www.elastic.co/blog/aws-kinesis-data-firehose-elastic-observability-analytics">Sending AWS logs into Elastic via AWS Firehose</a></li>
</ul>
<p><em>The release and timing of any features or functionality described in this post remain at Elastic's sole discretion. Any features or functionality not currently available may not be delivered on time or at all.</em></p>]]></content:encoded>
    <link>https://www.elastic.co/observability-labs/blog/elastic-agent-monitor-ecs-aws-fargate-observability</link>
    <guid isPermaLink="false">elastic-agent-monitor-ecs-aws-fargate-observability</guid>
    <category><![CDATA[Infrastructure Monitoring]]></category>
    <category><![CDATA[Metrics]]></category>
    <category><![CDATA[Kubernetes]]></category>
    <dc:creator><![CDATA[Alexis Roberson]]></dc:creator>
    <enclosure url="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt916eb77a3c2b2a74/6a85c945682666aa6a1eabd7/blog-thumb-observability-pattern-color.png" length="0" type="image/png"/>
    <pubDate>Thu, 15 Jun 2023 00:00:00 GMT</pubDate>
  </item>
  </channel>
</rss>