菜单
开源

配置Pyroscope对象存储后端

Pyroscope可以使用不同的对象存储服务来持久化包含配置文件数据的块。块首先在磁盘上通过摄取器刷新,然后上传到对象存储。

支持的后端有

内部,Pyroscope使用Thanos的对象存储客户端库,因此适用其声明的限制。

Amazon S3

要使用 AWS S3 或兼容 S3 的存储桶进行长期存储,您可以在参考配置中找到 Pyroscope 的配置参数(点击查看)。除了这些参数外,还可以使用 AWS SDK 的知名环境变量来提供配置参数。

至少,您需要为以下键提供值:bucket_nameendpointaccess_key_idsecret_access_key

使用 AWS 存储桶的示例

这是如何在 AWS 区域 eu-west-2 中配置存储桶的方法

yaml
storage:
  backend: s3
  s3:
    bucket_name: #REPLACE_WITH_BUCKET_NAME
    region: eu-west-2
    endpoint: s3.eu-west-2.amazonaws.com
    access_key_id: #REPLACE_WITH_ACCESS_KEY
    secret_access_key: #REPLACE_WITH_SECRET_KEY

使用兼容 S3 的存储桶的示例

这是如何在本地运行的 MinIO 实例上配置存储桶的方法

yaml
storage:
  backend: s3
  s3:
    bucket_name: grafana-pyroscope-data
    endpoint: localhost:9000
    insecure: true
    access_key_id: grafana-pyroscope-data
    secret_access_key: grafana-pyroscope-data

Google Cloud Storage

要使用 Google Cloud Storage (GCS) 存储桶进行长期存储,您可以在参考配置中找到 Pyroscope 的配置参数(点击查看)

至少,您需要为以下键提供值:bucket_name 和服务帐户。提供服务帐户有两种方式

  • 使用 GOOGLE_APPLICATION_CREDENTIALS 环境变量定位您的 应用程序凭据
  • service_account 参数内提供服务帐户密钥的内容。

使用 Google Cloud Storage 存储桶的示例

这是如何使用 service_account 参数配置 GCS 存储桶的方法

yaml
storage:
  backend: gcs
  gcs:
    bucket_name: grafana-pyroscope-data
    service_account: |
      {
        "type": "service_account",
        "project_id": "PROJECT_ID",
        "private_key_id": "KEY_ID",
        "private_key": "-----BEGIN PRIVATE KEY-----\nPRIVATE_KEY\n-----END PRIVATE KEY-----\n",
        "client_email": "SERVICE_ACCOUNT_EMAIL",
        "client_id": "CLIENT_ID",
        "auth_uri": "https://#/o/oauth2/auth",
        "token_uri": "https://#/o/oauth2/token",
        "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
        "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/SERVICE_ACCOUNT_EMAIL"
      }

Azure Blob Storage

要使用 Azure Blob Storage 存储桶进行长期存储,您可以在参考配置中找到 Pyroscope 的配置参数(点击查看)

如果使用 user_assigned_id,则通过用户分配的托管标识进行身份验证。

Swift(OpenStack Object Storage)

要使用 Swift(OpenStack 对象存储)存储桶进行长期存储,您可以在参考配置中找到 Pyroscope 的配置参数(点击查看)

如果使用用户、项目或租户的 name,则必须还通过 ID 或名称指定其域。官方文档中可以找到各种 OpenStack 认证示例(点击查看)