This page contains information for customers who previously used buckets
functionality in Chronosphere Observability Platform. Use the details provided here
to update and migrate your resources to non-bucket versions.
Create and manage teams
You might already have and use teams. This migration is an opportunity to review
and adjust team membership to better align them with how you want to organize your
resources.
Migrate resources defined as code
If you manage Chronosphere resources in code with Terraform, the changes to buckets and the migration to collections both require action.Upgrade the Terraform provider for Observability Platform
To use the migratedchronosphere_bucket resource, upgrade the Chronosphere
Terraform provider to at least version 0.40.
Update resource properties
Your automatically migrated buckets can now use features available to collections. If you use Terraform to define your resources, add theteam_id property to assign
a team, and the notification_policy_id property to set a default
notification policy for any monitors
in the collection.
To fully migrate resource definitions to use collections, you can also use the collection_id
property in Terraform.
- Terraform
- Chronoctl
For example, if you have an unowned You can add the If you’ve also defined the team in the same Terraform project as the bucket, you
can reference it instead:
chronosphere_bucket definition:team_id property with the team’s
slug as the value to assign the
migrated bucket:Convert inline notification policies
If you specify owned notification policies in your buckets, you must create dedicated notification policy resources, associate them to your buckets by identifier instead of as owned data, and assign a team and name to the notification policy. This re-creates those policies as independent resources, which Observability Platform requires before you can associate them with collections.- Terraform
- Chronoctl
To convert owned notification policies to be explicitly defined:You can replace Also update the
- Change references to each bucket resource’s notification policy to use the policy’s
notification_policy_idfield instead of itsnotification_policy_datafield. - Add the
team_idandnamefields to the notification policy resource. - Commit the change using
terraform apply.
notification_policy_data in the bucket definition with notification_policy_id,
and refer to its id instead of its data:notificiation_policy_id in the monitor resource to use the policy’s
id instead of the bucket’s:Update resource types and terminology
Your resource definitions using bucket resource types still work because Observability Platform has already converted buckets to collections for you. But to complete the migration in your code definitions, you can update resource types and field names from “bucket” to “collection”. This keeps your code definitions consistent both internally and with the Observability Platform interface.- Terraform
- Chronoctl
Although you can manage migrated buckets using resources that refer to
Add an equivalent collection resource definition with a unique Given this example monitor, replace any Use the Replace You don’t need to change the resource name or Replace the Delete the bucket from your Terraform project state by running:Import the revised collection into your Terraform project state by running:After committing the changes, Terraform should return a no-diff result.Replace all Commit the changes and apply them by running
chronosphere_bucket resources, you can modify those resources further to become
chronosphere_collection resources. This aligns the resources you use for these
migrated resources to the Observability Platform user interface and any new
collection resources you create.You can modify these terms by either creating new collection resources with the
same contents as the bucket, or by modifying your Terraform state.Replace buckets with newly created collections
To migrate a bucket to a newly created collection in Terraform:- Create a new collection resource with a unique name and slug.
- Replace the
bucket_idfield of each resource in that bucket with acollection_idfield using the new collection as its value. - Commit the changes with
terraform applyto migrate the resources out of the bucket. - Remove the bucket resource from your Terraform definitions.
- Commit the changes again with
terraform applyto delete the bucket.
name value:bucket_id fields that refer to the bucket:collection_id field to point to the new collection:Edit Terraform state
Observability Platform has already converted buckets to collections on the backend, and Observability Platform can’t modify Terraform state to realign it with that migration. By directly changing your Terraform state, you can manually align your Terraform state to Observability Platform without resulting in Observability Platform applying any changes.To changechronosphere_monitor resource definitions to chronosphere_collection
resources without making changes to Observability Platform, you can use the chronotf import-state
command to directly modify your Terraform state. You can also change bucket_id fields
to collection_id fields without resulting in changes because Observability Platform treats
them as equivalent fields.- Remove all labels from any
chronosphere_bucketresources. - Replace
chronosphere_bucketin your bucket definitions withchronosphere_collection. - Replace all references to the bucket with collection references.
- Delete the
chronosphere_bucketyou’re migrating from your Terraform project state by runningterraform state rm. - Import the updated collection into the Terraform state with
chronotf import-state. - Commit your configuration changes. Terraform reports no differences.
- Replace all
bucket_idfields on monitors and Grafana dashboards withcollection_id. - Commit the changes and apply them by running
terraform apply. Terraform reports a diff, but nothing changes in Observability Platform.
chronosphere_bucket definition:chronosphere_bucket with chronosphere_collection:name field values in this process.Given resources contained in that bucket, such as this monitor:bucket_id value with a reference to the collection.bucket_id fields in the bucket’s resources with collection_id. Given
the previous monitor example, change it to:terraform apply. Terraform will report
a diff, but because bucket_id and collection_id are equivalent and the value
didn’t change, nothing changes in Observability Platform.Migrate recording rules
Prometheus definitions require you to assign recording rules to rule groups. To maintain portability between Observability Platform and Prometheus definitions, recording rules instead use a new property called the execution group. When you runchronoctl convert prometheus to convert a Prometheus definition to
Observability Platform, Chronoctl maps Prometheus rule groups to Observability
Platform execution groups.
Take advantage of collection features
To get the most out of collections, organize your teams by responsibility, assign teams in ways that help them work together, and curate and maintain your collections.- Collect your resources by specific themes. Collect any dashboards and monitors related to something you’re monitoring, such as a server, storage, or service, into a collection. Maintain the collection’s contents regularly to keep them relevant to your infrastructure. The contents of well-curated collections stay relevant to the members of their assigned teams.
- Align your teams with its members’ responsibilities. Create teams and assign accounts to them based on the infrastructure components they’re responsible for. Chronosphere has designed the collections feature to put the most relevant data and tools within reach of your teams, so when assigning accounts to a team, keep that team’s common goal in mind.
- Share and collaborate on collections. You can assign more than one team to a collection, which helps facilitate cross-team collaboration. Collection and team home pages also give teams shared spaces where they can include links or context about a collection’s focus.
- Use your on-call structure. Consider creating Observability Platform teams for any on-call response groups in your organization. You can efficiently connect responders with the most relevant resources for an incident by assigning your on-call response team to the affected infrastructure’s collections.
- Stay flexible in team assignments. Your team members’ responsibilities change over time. When you change team assignments in Observability Platform accordingly, those team members gain immediate access to their new team’s collections with no need to manually reassign them, which reduces the overhead for adding a new member to a team.