{"id":21042773,"url":"https://github.com/aws-observability/amazon-managed-grafana-migrator","last_synced_at":"2025-05-15T17:31:11.392Z","repository":{"id":156748784,"uuid":"632424085","full_name":"aws-observability/amazon-managed-grafana-migrator","owner":"aws-observability","description":"CLI migration utility to migrate Grafana content to Amazon Managed Grafana","archived":false,"fork":false,"pushed_at":"2024-05-15T20:25:10.000Z","size":74,"stargazers_count":24,"open_issues_count":2,"forks_count":7,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-05-17T07:12:44.745Z","etag":null,"topics":["aws","golang"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aws-observability.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-04-25T11:32:47.000Z","updated_at":"2024-05-17T07:12:44.745Z","dependencies_parsed_at":null,"dependency_job_id":"f4f9b5fc-49a3-4684-98fe-afa9b217d3b5","html_url":"https://github.com/aws-observability/amazon-managed-grafana-migrator","commit_stats":null,"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws-observability%2Famazon-managed-grafana-migrator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws-observability%2Famazon-managed-grafana-migrator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws-observability%2Famazon-managed-grafana-migrator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws-observability%2Famazon-managed-grafana-migrator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aws-observability","download_url":"https://codeload.github.com/aws-observability/amazon-managed-grafana-migrator/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225365962,"owners_count":17462973,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","golang"],"created_at":"2024-11-19T14:08:59.470Z","updated_at":"2024-11-19T14:09:00.208Z","avatar_url":"https://github.com/aws-observability.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Amazon Managed Grafana Migrator\n\n[![Build](https://github.com/aws-observability/amazon-managed-grafana-migrator/actions/workflows/go.yml/badge.svg)](https://github.com/aws-observability/amazon-managed-grafana-migrator/actions/workflows/go.yml)\n[![Go Report Card](https://goreportcard.com/badge/github.com/aws-observability/amazon-managed-grafana-migrator)](https://goreportcard.com/report/github.com/aws-observability/amazon-managed-grafana-migrator)\n\n🎉 May-15-24: v0.2.0 supports Grafana Service Accounts for v9 and v10 workspaces.\nSee [Amazon Managed Grafana announces support for Grafana version 10.4]()\n\n🚨 Jul-25-23: Alerts migration are currently disabled with v0.1.9. See [#19](https://github.com/aws-observability/amazon-managed-grafana-migrator/issues/19)\n\n🎉 Jul-19-23: [Amazon Grafana supports now in-place update from v8.4 to v9.4](https://aws.amazon.com/about-aws/whats-new/2023/07/amazon-managed-grafana-in-place-update-version-9-4/)\n\nAmazon Managed Grafana Migrator is a CLI migration utility to migrate Grafana\ncontent (data sources, dashboards, folders and alert rules) to Amazon Managed\nGrafana. It supports the following migration scenarios:\n\n- Migrating from and to Amazon Managed Grafana Workspace (eg. Moving to v10.4), although consider using the native functionality in the AWS Console, after testing\n- Migrating from a Grafana server to an Amazon Managed Grafana Workspace\n\n\u003cimg src=\"https://user-images.githubusercontent.com/10175027/235176809-9b71af1a-79a9-416a-b26e-ccdf725779d7.gif\" width=\"80%\" height=\"80%\"/\u003e\n\nAmazon Managed Grafana v10.4 workspaces will require to\nprovide an `ADMIN` level [Grafana Service Account]() with the\n`--src-service-account-id` or `--src-service-account-id` flags.\n\n## Installation\n\nBuild from latest release. This requires Go (1.21 +) installed on your environement.\n\n```console\ngo install github.com/aws-observability/amazon-managed-grafana-migrator@latest\n```\n\nThis command above will build the binary into your Go path `($HOME/go/bin)`.\nMake sure to add your Go bin in your $PATH to run the command.\nFor Linux, this is usually `export PATH=$PATH:$HOME/go/bin`.\n\nYou can also download the pre-compiled binary for your OS and CPU architecture\nfrom our [GitHub releases](https://github.com/aws-observability/amazon-managed-grafana-migrator/releases/latest).\n\nExample on Amazon Linux:\n\n```console\nwget https://github.com/aws-observability/amazon-managed-grafana-migrator/releases/download/v0.1.11/amazon-managed-grafana-migrator-linux-amd64.tar.gz\ntar -zxvf amazon-managed-grafana-migrator-linux-amd64.tar.gz\nsudo mv amazon-managed-grafana-migrator /usr/local/bin/\namazon-managed-grafana-migrator -v\n```\n\n## Usage\n\n### Discovering your Workspaces\n\n```console\namazon-managed-grafana-migrator discover --region eu-west-1\n```\n\n### Migrating to Amazon Managed Grafana v10\n\nv9 and v10 introduced Grafana Service Accounts which will be required by the\nmigrator, especially for v10. Note that Service Accounts are billed as active\nusers\n\n1. Creating a Service Account\n\n```console\n aws grafana create-workspace-service-account --workspace-id g-abcdef5678 \\\n    --grafana-role ADMIN \\\n    --name \u003cSA_NAME_HERE\u003e\n```\n\n2. Running the migration\n\n```console\namazon-managed-grafana-migrator migrate \\\n  --src-url https://grafana.example.com/\n  --src-api-key API_KEY_HERE\n  --dst g-abcdef5678.grafana-workspace.us-west-2.amazonaws.com\n  --dst-service-account-id SERVICE_ACCOUNT_ID_HERE\n```\n\n### Migrating between Workspaces\n\n```console\namazon-managed-grafana-migrator migrate \\\n  --src g-abcdef1234.grafana-workspace.eu-central-1.amazonaws.com \\\n  --dst g-abcdef5678.grafana-workspace.us-west-2.amazonaws.com\n```\n\nOr for v9+ workspaces:\n\n```console\namazon-managed-grafana-migrator migrate \\\n  --src g-abcdef1234.grafana-workspace.eu-central-1.amazonaws.com \\\n  --src-service-account-id SERVICE_ACCOUNT_ID_HERE\n  --dst g-abcdef5678.grafana-workspace.us-west-2.amazonaws.com\n  --dst-service-account-id SERVICE_ACCOUNT_ID_HERE\n```\n\n### Migrating to Amazon Managed Grafana v8/v9\n\n```console\namazon-managed-grafana-migrator migrate \\\n  --src-url https://grafana.example.com/\n  --src-api-key API_KEY_HERE\n  --dst g-abcdef5678.grafana-workspace.us-west-2.amazonaws.com\n```\n\n### Getting help\n\n```console\namazon-managed-grafana-migrator --help\n\n# command specific help\namazon-managed-grafana-migrator migrate --help\n```\n\n## Permissions\n\nTo run this tool you need AWS permissions through IAM. Make sure you have the\nAWS command line tool installed and have already run `aws configure` before you\nstart. Below are the minimum permissions required by the tool:\n\n```json\n{\n    \"Version\": \"2012-10-17\",\n    \"Statement\": [\n        {\n            \"Effect\": \"Allow\",\n            \"Action\": [\n                \"grafana:DescribeWorkspace\",\n                \"grafana:CreateWorkspaceApiKey\",\n                \"grafana:DeleteWorkspaceApiKey\",\n                \"grafana:CreateWorkspaceServiceAccountToken\",\n                \"grafana:DeleteWorkspaceServiceAccountToken\"\n            ],\n            \"Resource\": \"arn:aws:grafana:*:\u003cACCOUNT_ID\u003e:/workspaces/\u003cWORKSPACE_ID\u003e\"\n        },\n        {\n            \"Effect\": \"Allow\",\n            \"Action\": \"grafana:ListWorkspaces\",\n            \"Resource\": \"*\"\n        }\n    ]\n}\n```\n\nIf you a migrating from a Grafana server, you will need an active API Key with\n\"ADMIN\" role.\n\n## Contributing\n\nSee [CONTRIBUTING](CONTRIBUTING.md) for more information.\n\n\n## License\n\nThis project is licensed under the Apache-2.0 License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faws-observability%2Famazon-managed-grafana-migrator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faws-observability%2Famazon-managed-grafana-migrator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faws-observability%2Famazon-managed-grafana-migrator/lists"}