Skip to content
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@
/linux-server-integration-lj/ @chri2547
/logql-101/ @nicolevanderhoeven
/macos-integration-lj/ @chri2547
/monitor-aws-resources-lj/ @hcloward
/monitor-azure-resources-lj/ @hcloward
/mysql-data-source-lj/ @chri2547
/mysql-integration-lj/ @chri2547
Expand Down
30 changes: 30 additions & 0 deletions monitor-aws-resources-lj/advantages/content.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
{
"schemaVersion": "1.1.0",
"id": "monitor-aws-resources-advantages",
"title": "Advantages of Grafana Cloud Provider Observability",
"blocks": [
{
"type": "markdown",
"content": "Grafana Cloud Provider Observability is a comprehensive monitoring solution that simplifies AWS observability without the operational overhead of managing monitoring infrastructure. The integration provides immediate visibility into your AWS environment through pre-configured dashboards and alerting rules.\n\nGrafana Cloud Provider Observability differs from traditional AWS monitoring approaches by providing a unified observability platform that offers centralized access and management. This approach gives you complete visibility into your AWS environment alongside other infrastructure components."
},
{
"type": "section",
"title": "Advantages of Cloud Provider Observability for AWS",
"autoCollapse": false,
"blocks": [
{
"type": "markdown",
"content": "With Grafana Cloud Provider Observability, you can:\n\n- **Deploy instantly**: Connect your AWS account in minutes without installing agents or configuring complex monitoring pipelines.\n- **Use pre-built dashboards**: Access ready-to-use dashboards covering popular AWS services like EC2, RDS, Lambda, and S3.\n- **Scale automatically**: Handle monitoring for thousands of AWS resources without managing monitoring infrastructure.\n- **Customize visualizations**: Modify existing dashboards or create new ones tailored to your specific use cases.\n- **Set intelligent alerts**: Use templated alert rules optimized for AWS services with smart thresholds and notification routing."
},
{
"type": "markdown",
"content": "Cloud Provider Observability gives you a single place to monitor AWS alongside your other infrastructure."
}
]
},
{
"type": "markdown",
"content": "In your next milestone, you'll access the Cloud Provider Observability AWS configuration interface in Grafana Cloud to begin setting up the integration."
}
]
}
17 changes: 17 additions & 0 deletions monitor-aws-resources-lj/advantages/manifest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"id": "monitor-aws-resources-advantages",
"type": "guide",
"description": "Learn the specific benefits of using Grafana Cloud Provider Observability to monitor your AWS infrastructure and services.",
"category": "data-availability",
"author": {
"name": "Jack Baldry",
"team": "Grafana Documentation"
},
"testEnvironment": {
"tier": "cloud"
},
"depends": [],
"recommends": ["monitor-aws-resources-navigate-aws-config"],
"suggests": [],
"provides": []
}
13 changes: 13 additions & 0 deletions monitor-aws-resources-lj/advantages/website.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
menuTitle: Advantages
weight: 200
step: 3
layout: single-journey
cta:
type: continue
description: Learn the specific benefits of using Grafana Cloud to monitor your AWS infrastructure and services.
keywords:
- Grafana Cloud
- AWS integration
- monitoring advantages
- unified observability
- pre-built dashboards
40 changes: 40 additions & 0 deletions monitor-aws-resources-lj/business-value/content.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
{
"schemaVersion": "1.1.0",
"id": "monitor-aws-resources-business-value",
"title": "The case for observability",
"blocks": [
{
"type": "markdown",
"content": "IT systems are complicated. There are nodes, pods, services, system resources - sometimes thousands of them - all connected in a complex web of relationships. And when things go wrong, it can be very difficult to determine the root cause and fix it quickly. Consider the following:\n\n- Slow performance in an application might be caused by heavy load, or it could be a memory leak or even a hardware error. Monitoring your infrastructure allows you to find the root cause quickly and accurately.\n- Running out of disk space can be a disaster for any environment. Understanding that there's a problem before it becomes a problem enables you to prevent it.\n- When applications or services are co-located, being able to identify hotspots and conflicts between them can help you redistribute the load properly.\n\nAnd time is of the essence. System downtime can be very expensive. If you run customer-facing applications such as e-commerce site or a financial institution, every minute of downtime costs you money. Some estimates put the average cost of downtime at $5,600 per minute. If you are a large retailer, this cost can be much more. Even if you're not running a commercial service, downtime can have impact. If you can't turn on your lights because your home automation is having problems, it's still a real issue."
},
{
"type": "section",
"title": "Enter observability",
"autoCollapse": false,
"blocks": [
{
"type": "video",
"src": "https://www.youtube.com/embed/TQur9GJHIIQ",
"provider": "youtube",
"title": "What is observability?"
},
{
"type": "markdown",
"content": "Observability is the process of making a system's internal state more transparent. Systems are made observable by the data they produce, which in turn helps you to determine if your infrastructure or application is healthy and functioning normally."
},
{
"type": "markdown",
"content": "Observability is a holistic approach to understanding and managing complex systems. It involves collecting data from all parts of the system to create a deep understanding of the system's internal workings and how these interact with each other. Observability focuses on understanding and interpreting data to make the system's behavior and performance as transparent as possible. It also requires a means of making the data easily available for humans to interpret.\n\nAn observability system enables system operators, DevOps practitioners, and site reliability engineers to ask questions across the information gathered. These are questions that are not anticipated in advance, but rather questions that arise due to unexpected or novel events within a system."
},
{
"type": "markdown",
"content": "Observability helps you answer unanticipated questions when complex systems behave unexpectedly."
}
]
},
{
"type": "markdown",
"content": "In your next milestone, you'll learn the advantages of monitoring AWS resources with Cloud Provider Observability."
}
]
}
17 changes: 17 additions & 0 deletions monitor-aws-resources-lj/business-value/manifest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"id": "monitor-aws-resources-business-value",
"type": "guide",
"description": "Learn about observability and how it can help you solve real-world problems.",
"category": "data-availability",
"author": {
"name": "Jack Baldry",
"team": "Grafana Documentation"
},
"testEnvironment": {
"tier": "cloud"
},
"depends": [],
"recommends": ["monitor-aws-resources-advantages"],
"suggests": [],
"provides": []
}
17 changes: 17 additions & 0 deletions monitor-aws-resources-lj/business-value/website.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
menuTitle: The case for observability
Comment thread
jeffgoll marked this conversation as resolved.
description: Learn about observability and how it can help you solve real-world problems
weight: 100
step: 2
layout: single-journey
cta:
type: continue
keywords:
- Grafana Labs
- observability
- monitoring
side_journeys:
title: More to explore (optional)
heading: 'At this point in your journey, you can explore the following paths:'
items:
- title: What is observability?
link: /docs/grafana-cloud/introduction/what-is-observability/
61 changes: 61 additions & 0 deletions monitor-aws-resources-lj/connect-aws-account/content.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
{
"schemaVersion": "1.1.0",
"id": "monitor-aws-resources-connect-aws-account",
"title": "Connect to AWS account",
"blocks": [
{
"type": "markdown",
"content": "In this milestone, you'll establish the connection between your AWS account and Grafana Cloud using the IAM role you created in the previous milestone. This connection enables Grafana Cloud to securely access your AWS metrics and begin monitoring your resources.\n\nNavigate to the **Create new account** page in Grafana Cloud if you're not already there."
},
{
"type": "section",
"title": "Configure the integration",
"autoCollapse": false,
"blocks": [
{
"type": "interactive",
"action": "formfill",
"reftarget": "#name",
"targetvalue": "aws-ec2-account",
"content": "In the **Account name** field, enter a unique name that contains only alphanumeric characters, dashes, and underscores, for example `aws-ec2-account`.",
"doIt": false,
"requirements": ["exists-reftarget", "on-page:/a/grafana-csp-app/aws/configuration"]
},
{
"type": "interactive",
"action": "formfill",
"reftarget": "#arn",
"targetvalue": "arn:aws:iam::123456789012:role/GrafanaCloudMonitoringRole",
"content": "In the **ARN** field, paste the role ARN you copied from the previous milestone, for example `arn:aws:iam::123456789012:role/GrafanaCloudMonitoringRole`.",
"doIt": false,
"requirements": ["exists-reftarget"]
},
{
"type": "interactive",
"action": "formfill",
"reftarget": "#regions-selector",
"targetvalue": "us-east-1",
"content": "In the AWS Regions field, select all regions where the AWS resources you want to monitor are located, for example `us-east-1`.",
"doIt": false,
"requirements": ["exists-reftarget"]
},
{
"type": "interactive",
"action": "button",
"reftarget": "Add account",
"content": "Click **Add account** to verify the connection and complete the setup.",
"doIt": false,
"requirements": ["exists-reftarget"]
}
]
},
{
"type": "markdown",
"content": "Your AWS account is connected to Grafana Cloud and ready to collect metrics.\n\nIn your next milestone, you'll create a scrape job to customize metric collection for specific AWS services."
},
{
"type": "markdown",
"content": "---\n\n### More to explore (optional)\n\n- [Manage AWS accounts](https://grafana.com/docs/grafana-cloud/monitor-infrastructure/monitor-cloud-provider/aws/cloudwatch-metrics/cw-accounts/)"
}
]
}
18 changes: 18 additions & 0 deletions monitor-aws-resources-lj/connect-aws-account/manifest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"id": "monitor-aws-resources-connect-aws-account",
"type": "guide",
"description": "Configure the connection between your AWS account and Grafana Cloud using the IAM role you created.",
"category": "data-availability",
"author": {
"name": "Jack Baldry",
"team": "Grafana Documentation"
},
"startingLocation": "/a/grafana-csp-app/aws/configuration",
"testEnvironment": {
"tier": "cloud"
},
"depends": ["monitor-aws-resources-create-iam-role"],
"recommends": ["monitor-aws-resources-create-scrape-job"],
"suggests": [],
"provides": []
}
19 changes: 19 additions & 0 deletions monitor-aws-resources-lj/connect-aws-account/website.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
menuTitle: Connect AWS account
weight: 500
step: 6
layout: single-journey
cta:
type: continue
description: Configure the connection between your AWS account and Grafana Cloud using the IAM role you created.
keywords:
- AWS connection
- IAM role
- authentication
- account setup
- integration
side_journeys:
title: More to explore (optional)
heading: 'At this point in your journey, you can explore the following paths:'
items:
- title: Manage AWS accounts
link: /docs/grafana-cloud/monitor-infrastructure/monitor-cloud-provider/aws/cloudwatch-metrics/cw-accounts/
22 changes: 22 additions & 0 deletions monitor-aws-resources-lj/content.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"id": "monitor-aws-resources-lj",
"title": "Monitor AWS resources with Grafana Cloud",
"blocks": [
{
"type": "markdown",
"content": "Welcome to the Grafana learning path that shows you how to monitor AWS resources using Grafana Cloud Provider Observability.\n\nYou'll use this path to connect your AWS account to Grafana Cloud and monitor your AWS services through comprehensive dashboards and metrics.\n\nThe Cloud provider AWS solution collects metrics from Amazon CloudWatch and presents them through pre-built dashboards optimized for AWS services.\n\nThe Cloud Provider AWS solution differs from traditional monitoring solutions by providing a unified observability platform that offers centralized access and management. This approach gives you complete visibility into your AWS environment alongside other infrastructure components."
},
{
"type": "markdown",
"content": "## Here's what to expect\n\nWhen you complete this journey, you'll be able to:\n\n- Understand the value of observability and the advantages of Grafana Cloud Provider Observability\n- Navigate to the Cloud provider AWS configuration interface in Grafana Cloud\n- Create an AWS IAM role with appropriate permissions for monitoring\n- Connect your AWS account to Grafana Cloud\n- Create scrape jobs to collect metrics from AWS services\n- Verify data is collected and sent to Grafana Cloud\n- Explore AWS service data using pre-built dashboards"
},
{
"type": "markdown",
"content": "## Before you begin\n\nBefore you monitor AWS resources, ensure that you have:\n\n- A Grafana Cloud account. To create a free account, go to [Grafana Cloud](https://grafana.com/signup/cloud/connect-account) and enter an email address and password.\n- An AWS account with administrative access or appropriate IAM permissions to create roles and policies.\n- AWS resources running that you want to monitor, such as EC2 instances, RDS databases, or Lambda functions, and at least one [Amazon tag](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html) on the resources in AWS so AWS can ingest metrics from CloudWatch into Grafana Cloud.\n- Basic familiarity with AWS services and understanding of their operation."
},
{
"type": "markdown",
"content": "## Troubleshooting\n\nIf you get stuck, we've got your back! Where appropriate, troubleshooting information is just a click away.\n\n## More to explore\n\nWe understand you might want to explore other capabilities not strictly on this path. We'll provide you opportunities where it makes sense."
}
]
}
57 changes: 57 additions & 0 deletions monitor-aws-resources-lj/create-iam-role/content.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
{
"schemaVersion": "1.1.0",
"id": "monitor-aws-resources-create-iam-role",
"title": "Create an AWS IAM role",
"blocks": [
{
"type": "markdown",
"content": "In this milestone, you'll create an AWS IAM role that grants Grafana Cloud the necessary permissions to collect metrics from your AWS account. This role uses the principle of least privilege, providing only the read-only access required for monitoring.\n\nThe IAM role establishes a secure trust relationship between your AWS account and Grafana Cloud, allowing metric collection without sharing long-term credentials or compromising security.\n\nYou can configure the AWS role automatically with CloudFormation or Terraform, or manually in the AWS Management Console. This milestone uses CloudFormation, the recommended approach."
},
{
"type": "section",
"title": "Start the IAM role setup in Grafana Cloud",
"autoCollapse": false,
"blocks": [
{
"type": "interactive",
"action": "highlight",
"reftarget": "[data-testid='configuration-card-accounts']",
"content": "From the **Configuration** tab, click the **AWS accounts** tile.",
"requirements": ["exists-reftarget", "on-page:/a/grafana-csp-app/aws/configuration"]
},
{
"type": "interactive",
"action": "button",
"reftarget": "Add new account",
"content": "On the **AWS accounts** page, click **Add new account** to open the **Create new account** page.",
"requirements": ["exists-reftarget"]
},
{
"type": "interactive",
"action": "noop",
"content": "For **Create a new AWS role**, leave the **Automatically** and **Use CloudFormation** tiles selected."
},
{
"type": "interactive",
"action": "highlight",
"reftarget": "a:contains('Launch stack')",
"content": "Click **Launch stack** to open a CloudFormation template in your AWS account in a new tab.\n\nThe AWS account you're logged into when you click this button is the account that opens. To use a different account, log out of the current account and log in to the account you want to use.",
"doIt": false,
"requirements": ["exists-reftarget"]
}
]
},
{
"type": "markdown",
"content": "Complete the remaining steps in the AWS console tab, then return to Grafana Cloud:\n\n1. Select the **I acknowledge that AWS CloudFormation might create IAM resources with custom names** checkbox.\n1. Click **Create stack**.\n1. Copy the `RoleARN` in the **Outputs** tab of the stack to use in the next milestone.\n1. Return to the **Create new account** page in Grafana Cloud when you have finished in AWS."
},
{
"type": "markdown",
"content": "You created a read-only AWS IAM role and copied its role ARN for the next milestone.\n\nIn your next milestone, you'll use this IAM role to connect your AWS account to Grafana Cloud."
},
{
"type": "markdown",
"content": "---\n\n### More to explore (optional)\n\n- [Additional ways to create an AWS IAM role](https://grafana.com/docs/grafana-cloud/monitor-infrastructure/monitor-cloud-provider/aws/cloudwatch-metrics/config-cw-metric-scrape/#create-an-aws-iam-role)"
}
]
}
18 changes: 18 additions & 0 deletions monitor-aws-resources-lj/create-iam-role/manifest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"id": "monitor-aws-resources-create-iam-role",
"type": "guide",
"description": "Learn how to create the required AWS IAM role and policies to allow Grafana Cloud to access your AWS metrics.",
"category": "data-availability",
"author": {
"name": "Jack Baldry",
"team": "Grafana Documentation"
},
"startingLocation": "/a/grafana-csp-app/aws/configuration",
"testEnvironment": {
"tier": "cloud"
},
"depends": ["monitor-aws-resources-navigate-aws-config"],
"recommends": ["monitor-aws-resources-connect-aws-account"],
"suggests": [],
"provides": []
}
19 changes: 19 additions & 0 deletions monitor-aws-resources-lj/create-iam-role/website.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
menuTitle: Create IAM role
weight: 400
step: 5
layout: single-journey
cta:
type: continue
description: Learn how to create the required AWS IAM role and policies to allow Grafana Cloud to access your AWS metrics.
keywords:
- AWS IAM
- IAM role
- permissions
- CloudWatch access
- security
side_journeys:
title: More to explore (optional)
heading: 'At this point in your journey, you can explore the following paths:'
items:
- title: Additional ways to create an AWS IAM role
link: /docs/grafana-cloud/monitor-infrastructure/monitor-cloud-provider/aws/cloudwatch-metrics/config-cw-metric-scrape/#create-an-aws-iam-role
Loading
Loading