# Amazon Managed Grafana Migrator
[](https://github.com/aws-observability/amazon-managed-grafana-migrator/actions/workflows/go.yml)
[](https://goreportcard.com/report/github.com/aws-observability/amazon-managed-grafana-migrator)
🚨 Jul-25: Alerts migration are currently disabled with v0.1.9. See [#19](https://github.com/aws-observability/amazon-managed-grafana-migrator/issues/19)
🎉 Jul-19: [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/)
Amazon Managed Grafana Migrator is a CLI migration utility to migrate Grafana
content (data sources, dashboards, folders and alert rules) to Amazon Managed
Grafana. It supports the following migration scenarios:
- Migrating from and to Amazon Managed Grafana Workspace (eg. Moving to v9.4), although consider using the native functionality in the AWS Console
- Migrating from a Grafana server to an Amazon Managed Grafana Workspace
:warning: Alerting rules migration are only supported in a migration to Amazon
Managed Grafana v9.4. (migrating alerts to v8.x is not supported)
## Installation
Build from latest release. This requires Go installed on your environement.
```console
go install github.com/aws-observability/amazon-managed-grafana-migrator@latest
```
This command above will build the binary into your Go path `($HOME/go/bin)`.
Make sure to add your Go bin in your $PATH to run the command.
For Linux, this is usually `export PATH=$PATH:$HOME/go/bin`.
You can also download the pre-compiled binary for your OS and CPU architecture
from our [GitHub releases](https://github.com/aws-observability/amazon-managed-grafana-migrator/releases/latest).
## Usage
### Discovering your Workspaces
```console
amazon-managed-grafana-migrator discover --region eu-west-1
```
### Migrating between Workspaces
```console
amazon-managed-grafana-migrator migrate \
--src g-abcdef1234.grafana-workspace.eu-central-1.amazonaws.com \
--dst g-abcdef5678.grafana-workspace.us-west-2.amazonaws.com
```
### Migrating to Amazon Managed Grafana
```console
amazon-managed-grafana-migrator migrate \
--src-url https://grafana.example.com/
--src-api-key API_KEY_HERE
--dst g-abcdef5678.grafana-workspace.us-west-2.amazonaws.com
```
### Getting help
```console
amazon-managed-grafana-migrator --help
# command specific help
amazon-managed-grafana-migrator migrate --help
```
## Permissions
To run this tool you need AWS permissions through IAM. Make sure you have the
AWS command line tool installed and have already run `aws configure` before you
start. Below are the minimum permissions required by the tool:
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"grafana:DeleteWorkspaceApiKey",
"grafana:DescribeWorkspace",
"grafana:CreateWorkspaceApiKey"
],
"Resource": "arn:aws:grafana:*::/workspaces/"
},
{
"Effect": "Allow",
"Action": "grafana:ListWorkspaces",
"Resource": "*"
}
]
}
```
If you a migrating from a Grafana server, you will need an active API Key with
"ADMIN" role.
## Contributing
See [CONTRIBUTING](CONTRIBUTING.md) for more information.
## License
This project is licensed under the Apache-2.0 License.