groundcover supports ingesting CloudWatch metrics directly into our platform, allowing you to visualize them using dashboards and create alerts.
How does it work
CloudWatch integration is done by deploying a service called integrations-agent which is responsible for pulling metrics from CloudWatch using periodic polling of these APIs:
The integration is setup using the following steps:
Create a role with permissions to access the metrics on the target AWS account
Provide the needed permissions to allow the integrations-agent service account to assume the new role
Select the AWS namespaces you wish to collect metrics from
Deploy the integrations-agent service and start collecting metrics
The actual steps differ for inCloud Managed and inCloud deployments. Follow the instructions below depending on your deployment type.
Things to know
Ingestion interval
The integration pulls data from CloudWatch every five minutes.
Data storage
Data fetched is stored in the Victoria Metrics database, meaning metrics are queried via the CloudWatch API only one time per data point.
Metric Statistics
Each metric has a label called stat which denotes the AWS statistic used during querying. Some metrics have multiple stats which are useful for different cases.
The integration is supported for both inCloud Managed and inCloud deployments, by following slightly different steps. Make sure to select the deployment relevant for you.
Not sure? Contact us on slack!
inCloud Managed
In this setup, the integrations-agent is deployed inside the managed backend. A service account is automatically provisioned inside the managed account, so the installation mainly requires creating a role in the target AWS account with the correct trust relationship.
Create an IAM role and policy
The following part requires two parameters:
YOUR_GROUNDCOVER_ACCOUNT_ID - the AWS account id hosting the groundcover backend, created during onboarding
YOUR_GROUNDCOVER_SITE_ID - your unique groundcover endpoint ID:
Fetch your inCloud Site from these docs
It will look like <SITE_ID>.platform.grcv.io
The ID is the first part marked above as <SITE_ID>
Select the AWS namespaces you wish to ingest metrics from. The list of supported services is here.
Share details with groundcover
Share the following details with the groundcover team to complete the integration:
The ARN of the role created above
The list of namespaces you wish to ingest
The region of the account you wish to ingest metrics from
inCloud
In this setup, the integrations-agent is deployed inside your cluster. The deployment comes with a built-in service account, and permissions will be provided to it using IRSA. Afterwards you will need to create a role + trust policy to allow the integrations-agent service account to assume the role and query the metrics.
Create an identity provider (OIDC) for your EKS cluster
If you already have an identity provider set up in the account where the EKS cluster is set up, skip this stage
The recommended way to give the integrations-agent the ability to interact with AWS resources inside an EKS cluster is using IRSA . The deployment comes in with a built-in service account, which can be used alongside OIDC to provide it with AWS permissions.
Create an OIDC provider for the EKS cluster where groundcover resides in. Once created, the details you will need in the next steps are:
Provider Name
Provider ARN
Namespace - the namespace where groundcover is installed (default: groundcover)