配置Pyroscope对象存储后端
Pyroscope可以使用不同的对象存储服务来持久化包含配置文件数据的块。块首先在磁盘上通过摄取器刷新,然后上传到对象存储。
支持的后端有
内部,Pyroscope使用Thanos的对象存储客户端库,因此适用其声明的限制。
Amazon S3
要使用 AWS S3 或兼容 S3 的存储桶进行长期存储,您可以在参考配置中找到 Pyroscope 的配置参数(点击查看)。除了这些参数外,还可以使用 AWS SDK 的知名环境变量来提供配置参数。
至少,您需要为以下键提供值:bucket_name
、endpoint
、access_key_id
和 secret_access_key
。
使用 AWS 存储桶的示例
这是如何在 AWS 区域 eu-west-2
中配置存储桶的方法
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 实例上配置存储桶的方法
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 存储桶的方法
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 认证示例(点击查看)。