Timescale Cloud:性能、扩展、企业

自托管产品

MST

您可以使用 Aiven 客户端管理 Managed Service for TimescaleDB 上的服务。

您可以使用 Aiven 客户端工具来

  • 连接到 Managed Service for TimescaleDB
  • 创建服务
  • 创建分支
  • 向附加的 Grafana 服务添加身份验证插件

说明

Aiven 客户端是用于完全托管服务的命令行工具。要使用 Aiven 客户端,您首先需要创建一个身份验证令牌。然后,您配置客户端以使用命令行连接到 Managed Service for TimescaleDB。

要使用 Aiven 客户端连接到 Managed Service for TimescaleDB,请创建一个身份验证令牌。

  1. MST Portal中,点击右上角的 User Information
  2. User Profile 页面,导航到 Authentication 选项卡。
  3. 点击 Generate Token
  4. Generate access token 对话框中,为令牌输入一个描述性名称。其余字段留空。
  5. 复制生成的身份验证令牌并保存。

Aiven 客户端作为 Python 包提供。如果您已经安装了 Python,可以使用 pip 在 Linux、macOS 或 Windows 系统上安装客户端。

pip install aiven-client

有关安装 Aiven 客户端的更多信息,请参阅 Aiven" width="16" height="16" class="inline m-0 ml-1">文档。

要使用 Aiven 客户端访问 Managed Service for TimescaleDB,您需要一个身份验证令牌。Aiven 客户端使用它来访问您在 Managed Service for TimescaleDB 上的服务。

  1. 切换到包含配置文件的安装目录

    cd ~/.config/aiven/
  2. 使用任何编辑器打开 aiven-credentials.json 并使用您的 Managed Service for TimescaleDB User email 和您生成的 authentication token 更新这些行。

    {
    "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 客户端中,连接到您的 Managed Service for TimescaleDB 服务

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

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

    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 客户端中,连接到您的 Managed Service for TimescaleDB 服务

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

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

    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 客户端中,连接到您的 Managed Service for TimescaleDB 服务

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

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

    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 or hostname(IP 或主机名)、SMTP server port(SMTP 服务器端口)、Username(用户名)、Password(密码)、Sender email address(发件人电子邮件地址)和 Sender name(发件人姓名)。
  1. 在 Aiven 客户端中,连接到您的 Managed Service for TimescaleDB 服务

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

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

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