您可以使用 Aiven Client 在 Managed Service for TimescaleDB 上管理您的服务。
您可以使用 Aiven Client 工具来
- 连接到 Managed Service for TimescaleDB
- 创建服务
- 创建分支
- 向您连接的 Grafana 服务添加身份验证插件
说明
Aiven Client 是用于完全托管服务的命令行工具。要使用 Aiven Client,您首先需要创建一个身份验证令牌。然后,您配置客户端以使用命令行连接到您的 Managed Service for TimescaleDB。
要使用 Aiven Client 连接到 Managed Service for TimescaleDB,请创建一个身份验证令牌。
- 在 MST 门户中,单击右上角的
用户信息
。 - 在
用户个人资料
页面中,导航到身份验证
选项卡。 - 单击
生成令牌
。 - 在
生成访问令牌
对话框中,为令牌键入描述性名称。其余字段留空。 - 复制生成的身份验证令牌并保存它。
Aiven Client 作为 Python 包提供。如果您已经安装了 Python,则可以使用 pip
在 Linux、MacOS 或 Windows 系统上安装客户端
pip install aiven-client
有关安装 Aiven Client 的更多信息,请参阅 Aiven 文档。
要使用 Aiven Client 访问 Managed Service for TimescaleDB,您需要一个身份验证令牌。Aiven Client 使用它来访问您在 Managed Service for TimescaleDB 上的服务。
更改到包含配置文件的安装目录
cd ~/.config/aiven/使用任何编辑器打开
aiven-credentials.json
,并使用您的 Managed Service for TimescaleDB用户电子邮件
和您生成的身份验证令牌
更新这些行{"auth_token": "ABC1+123...TOKEN==","user_email": "your.email@timescale.com"}保存
aiven-credentials.json
文件。要验证您是否可以访问 Managed Service for TimescaleDB 上的服务,请键入
avn project list此命令显示您的所有项目列表
PROJECT_NAME DEFAULT_CLOUD CREDIT_CARD============= ======================= ===================project-xxxx timescale-aws-us-east-1 xxxx-xxxx-xxxx-xxxxproject-yyyy timescale-aws-us-east-1 xxxx-xxxx-xxxx-xxxxproject-zzzz timescale-aws-us-east-1 xxxx-xxxx-xxxx-xxxx
当您分支服务时,您将创建服务的精确副本,包括底层数据库。您可以使用服务的分支来
- 创建生产环境的开发副本。
- 设置快照以分析问题或测试升级。
- 在不同的云、地理位置或不同的计划下创建实例。
有关项目、计划和服务其他详细信息的更多信息,请参阅 服务。
在 Aiven 客户端中,连接到您的 Managed Service for TimescaleDB 服务。
切换到包含您要分支的项目的项目
avn project switch <PROJECT>列出项目中的服务,并记下您要分支的服务,该服务在输出中的
SERVICE_NAME
列下列出。avn service list获取您要分支的服务的详细信息
avn service get <SERVICE_NAME>创建分支
avn service create <NAME_OF_FORK> --project <PROJECT_ID>\-t <SERVICE_TYPE> --plan <PLAN> --cloud <CLOUD_NAME>\-c service_to_fork_from=<NAME_OF_SERVICE_TO_FORK>
要为名为 grafana
的服务创建名为 grafana-fork
的分支,并使用以下参数
- PROJECT_ID:
project-fork
- CLOUD_NAME:
timescale-aws-us-east-1
- PLAN_TYPE:
dashboard-1
avn service create grafana-fork --project project-fork -t grafana --plan dashboard-1 --cloud timescale-aws-us-east-1 -c service_to_fork_from=grafana
您可以切换到 project-fork
并使用以下命令查看新创建的 grafana-fork
avn service list
除了内置的用户名和密码身份验证之外,Grafana 还支持多种身份验证插件。
在 Managed Service for TimescaleDB 上,Grafana 支持 Google、GitHub 和 GitLab 身份验证。您可以使用 Aiven 命令行客户端配置身份验证集成。
要将 Google 身份验证与 Managed Service for TimescaleDB 上的 Grafana 服务集成,您需要创建您的 Google OAuth 密钥。将您的客户端 ID 和客户端密钥复制到安全位置。
在 Aiven Client 中,连接到您的 Managed Service for TimescaleDB 服务。
切换到包含您要集成的 Grafana 服务的项目
avn switch <PROJECT>列出项目中的服务。记下您要集成的 Grafana 服务,该服务在输出中的
SERVICE_NAME
列下列出。avn service list获取您要集成的服务的详细信息
avn service get <SERVICE_NAME>使用来自您的 Google 开发者控制台的
<CLIENT_ID>
和<CLIENT_SECRET>
将插件与您的服务集成avn service update -c auth_google.allowed_domains=<G-SUITE_DOMAIN>\-c auth_google.client_id=<CLIENT_ID>\-c auth_google.client_secret=<CLIENT_SECRET><SERVICE_NAME>使用您的服务凭据登录到 Grafana。
导航到
Configuration
→Plugins
并验证 Google OAuth 应用程序是否列为插件。
注意
当您允许使用 -c auth_google.allow_sign_up=true
选项注册时,默认情况下,每个新用户都使用 viewer
权限创建,并添加到他们自己新创建的组织中。要指定不同的权限,请使用 -c user_auto_assign_org_role=ROLE_NAME
。要将所有新用户添加到主组织,请使用 -c user_auto_assign_org=true
选项。
要将 GitHub 身份验证与 Managed Service for TimescaleDB 上的 Grafana 服务集成,您需要创建您的 GitHub OAuth 应用程序。将您的客户端 ID 和客户端密钥存储在安全位置。
在 Aiven Client 中,连接到您的 Managed Service for TimescaleDB 服务。
切换到包含您要集成的 Grafana 服务的项目
avn switch <PROJECT>列出项目中的服务,并记下您要集成的 Grafana 服务,该服务在输出中的
SERVICE_NAME
列下列出。avn service list获取您要集成的服务的详细信息
avn service get <SERVICE_NAME>使用来自您的 GitHub OAuth 应用程序的
<CLIENT_ID>
和<CLIENT_SECRET>
将插件与您的服务集成avn service update -c auth_github.client_id=<CLIENT_ID>\-c auth_github.client_secret=<CLIENT_SECRET> <SERVICE_NAME>使用您的服务凭据登录到 Grafana。
导航到
Configuration
→Plugins
。插件页面列出了 Grafana 实例的 GitHub OAuth 应用程序。
注意
当您允许使用 -c auth_github.allow_sign_up=true
选项注册时,默认情况下,每个新用户都使用 viewer
权限创建,并添加到他们自己新创建的组织中。要指定不同的权限,请使用 -c user_auto_assign_org_role=ROLE_NAME
。要将所有新用户添加到主组织,请使用 -c user_auto_assign_org=true
选项。
要将 GitLab 身份验证与 Managed Service for TimescaleDB 上的 Grafana 服务集成,您需要创建您的 GitLab OAuth 应用程序。将您的客户端 ID、客户端密钥和 GitLab 组名称复制到安全位置。
如果您使用自己的 GitLab 实例而不是 gitlab.com,则需要设置以下内容
- auth_gitlab.api_url
- auth_github.auth_url
- auth_github.token_url
在 Aiven Client 中,连接到您的 Managed Service for TimescaleDB 服务。
切换到包含您要集成的 Grafana 服务的项目
avn project switch <PROJECT>列出项目中的服务。记下您要集成的 Grafana 服务,该服务在输出中的
SERVICE_NAME
列下列出。avn service list获取您要集成的服务的详细信息
avn service get <SERVICE_NAME>使用来自您的 GitLab OAuth 应用程序的
<CLIENT_ID>
、<CLIENT_SECRET>
和<GITLAB_GROUPS>
将插件与您的服务集成avn service update -c auth_gitlab.client_id=<CLIENT_ID>\-c auth_gitlab.client_secret=<CLIENT_SECRET>\-c auth_gitlab.allowed_groups=<GITLAB_GROUPS> <SERVICE_NAME>使用您的服务凭据登录到 Grafana。
导航到
Configuration
→Plugins
。插件页面列出了 Grafana 实例的 GitLab OAuth 应用程序。
注意
当您允许使用 -c auth_gitlab.allow_sign_up=true
选项注册时,默认情况下,每个新用户都使用 viewer
权限创建,并添加到他们自己新创建的组织中。要指定不同的权限,请使用 -c user_auto_assign_org_role=ROLE_NAME
。要将所有新用户添加到主组织,请使用 -c user_auto_assign_org=true
选项。
使用 Aiven 客户端配置简单邮件传输协议 (SMTP) 服务器设置,并从 Managed Service for TimescaleDB for Grafana 发送电子邮件。这包括邀请电子邮件、重置密码电子邮件和警报消息。
在开始之前,请确保您已拥有
- (可选):记录 SMTP 服务器中的这些值:
IP 或主机名
、SMTP 服务器端口
、用户名
、密码
、发件人电子邮件地址
和发件人姓名
。
在 Aiven 客户端中,连接到您的 Managed Service for TimescaleDB 服务。
切换到包含您要集成的 Grafana 服务的项目
avn project switch <PROJECT>列出项目中的服务。记下您要配置的 Grafana 服务,该服务在输出中的
SERVICE_NAME
列下列出。avn service list获取您要集成的服务的详细信息
avn service get <SERVICE_NAME>使用 SMTP 值配置 Grafana 服务
avn service update --project <PROJECT> <SERVICE_NAME>\-c smtp_server.host=smtp.example.com \-c smtp_server.port=465 \-c smtp_server.username=emailsenderuser \-c smtp_server.password=emailsenderpass \-c smtp_server.from_address="grafana@yourcompany.com"- avn service types -v
您现在可以为 MST 上的 Grafana 服务发送电子邮件。
只读副本使您能够对副本执行只读查询,并减少主服务器上的负载。它们也是优化不同地理位置的查询响应时间的好方法。您可以通过将副本放置在不同的区域,甚至不同的云提供商中来实现这一点。
在 Aiven 客户端中,连接到您的 Managed Service for TimescaleDB 服务。
切换到包含您要为其创建只读副本的 TimescaleDB 服务的项目
avn project switch <PROJECT>列出项目中的服务。记下您将为其创建只读副本的服务。您可以在输出中的
SERVICE_NAME
列下找到它avn service list获取您要分支的服务的详细信息
avn service get <SERVICE_NAME>创建只读副本
avn service create <NAME_OF_REPLICA> --project <PROJECT_ID>\-t pg --plan <PLAN_TYPE> --cloud timescale-aws-us-east-1\-c pg_read_replica=true\-c service_to_fork_from=<NAME_OF_SERVICE_TO_FORK>\-c pg_version=11 -c variant=timescale
要为名为 timescaledb
的服务创建名为 replica-fork
的分支,并使用以下参数
- PROJECT_ID:
fork-project
- CLOUD_NAME:
timescale-aws-us-east-1
- PLAN_TYPE:
timescale-basic-100-compute-optimized
avn service create replica-fork --project fork-project\-t pg --plan timescale-basic-100-compute-optimized\--cloud timescale-aws-us-east-1 -c pg_read_replica=true\-c service_to_fork_from=timescaledb -c\pg_version=11 -c variant=timescale
您可以切换到 project-fork
并使用以下命令查看新创建的 replica-fork
avn service list
在此页面上发现问题?报告问题 或 在 GitHub 上编辑此页。