您可以使用 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,请创建一个身份验证令牌。

  1. MST 门户中,单击右上角的 用户信息
  2. 用户个人资料 页面中,导航到 身份验证 选项卡。
  3. 单击 生成令牌
  4. 生成访问令牌 对话框中,为令牌键入描述性名称。其余字段留空。
  5. 复制生成的身份验证令牌并保存它。

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 上的服务。

  1. 更改到包含配置文件的安装目录

    cd ~/.config/aiven/
  2. 使用任何编辑器打开 aiven-credentials.json,并使用您的 Managed Service for TimescaleDB 用户电子邮件 和您生成的 身份验证令牌 更新这些行

    {
    "auth_token": "ABC1+123...TOKEN==",
    "user_email": "your.email@timescale.com"
    }
  3. 保存 aiven-credentials.json 文件。

  4. 要验证您是否可以访问 Managed Service for TimescaleDB 上的服务,请键入

    avn project list

    此命令显示您的所有项目列表

    PROJECT_NAME DEFAULT_CLOUD CREDIT_CARD
    ============= ======================= ===================
    project-xxxx timescale-aws-us-east-1 xxxx-xxxx-xxxx-xxxx
    project-yyyy timescale-aws-us-east-1 xxxx-xxxx-xxxx-xxxx
    project-zzzz timescale-aws-us-east-1 xxxx-xxxx-xxxx-xxxx

当您分支服务时,您将创建服务的精确副本,包括底层数据库。您可以使用服务的分支来

  • 创建生产环境的开发副本。
  • 设置快照以分析问题或测试升级。
  • 在不同的云、地理位置或不同的计划下创建实例。

有关项目、计划和服务其他详细信息的更多信息,请参阅 服务

  1. 在 Aiven 客户端中,连接到您的 Managed Service for TimescaleDB 服务

  2. 切换到包含您要分支的项目的项目

    avn project switch <PROJECT>
  3. 列出项目中的服务,并记下您要分支的服务,该服务在输出中的 SERVICE_NAME 列下列出。

    avn service list
  4. 获取您要分支的服务的详细信息

    avn service get <SERVICE_NAME>
  5. 创建分支

    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 和客户端密钥复制到安全位置。

  1. 在 Aiven Client 中,连接到您的 Managed Service for TimescaleDB 服务

  2. 切换到包含您要集成的 Grafana 服务的项目

    avn switch <PROJECT>
  3. 列出项目中的服务。记下您要集成的 Grafana 服务,该服务在输出中的 SERVICE_NAME 列下列出。

    avn service list
  4. 获取您要集成的服务的详细信息

    avn service get <SERVICE_NAME>
  5. 使用来自您的 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>
  6. 使用您的服务凭据登录到 Grafana。

  7. 导航到 ConfigurationPlugins 并验证 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 和客户端密钥存储在安全位置。

  1. 在 Aiven Client 中,连接到您的 Managed Service for TimescaleDB 服务

  2. 切换到包含您要集成的 Grafana 服务的项目

    avn switch <PROJECT>
  3. 列出项目中的服务,并记下您要集成的 Grafana 服务,该服务在输出中的 SERVICE_NAME 列下列出。

    avn service list
  4. 获取您要集成的服务的详细信息

    avn service get <SERVICE_NAME>
  5. 使用来自您的 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>
  6. 使用您的服务凭据登录到 Grafana。

  7. 导航到 ConfigurationPlugins。插件页面列出了 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
  1. 在 Aiven Client 中,连接到您的 Managed Service for TimescaleDB 服务

  2. 切换到包含您要集成的 Grafana 服务的项目

    avn project switch <PROJECT>
  3. 列出项目中的服务。记下您要集成的 Grafana 服务,该服务在输出中的 SERVICE_NAME 列下列出。

    avn service list
  4. 获取您要集成的服务的详细信息

    avn service get <SERVICE_NAME>
  5. 使用来自您的 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>
  6. 使用您的服务凭据登录到 Grafana。

  7. 导航到 ConfigurationPlugins。插件页面列出了 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 服务器端口用户名密码发件人电子邮件地址发件人姓名
  1. 在 Aiven 客户端中,连接到您的 Managed Service for TimescaleDB 服务

  2. 切换到包含您要集成的 Grafana 服务的项目

    avn project switch <PROJECT>
  3. 列出项目中的服务。记下您要配置的 Grafana 服务,该服务在输出中的 SERVICE_NAME 列下列出。

    avn service list
  4. 获取您要集成的服务的详细信息

    avn service get <SERVICE_NAME>
  5. 使用 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"
  6. 可选 查看所有可用的自定义选项,并配置

    avn service types -v

您现在可以为 MST 上的 Grafana 服务发送电子邮件。

只读副本使您能够对副本执行只读查询,并减少主服务器上的负载。它们也是优化不同地理位置的查询响应时间的好方法。您可以通过将副本放置在不同的区域,甚至不同的云提供商中来实现这一点。

  1. 在 Aiven 客户端中,连接到您的 Managed Service for TimescaleDB 服务

  2. 切换到包含您要为其创建只读副本的 TimescaleDB 服务的项目

    avn project switch <PROJECT>
  3. 列出项目中的服务。记下您将为其创建只读副本的服务。您可以在输出中的 SERVICE_NAME 列下找到它

    avn service list
  4. 获取您要分支的服务的详细信息

    avn service get <SERVICE_NAME>
  5. 创建只读副本

    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 上编辑此页