Thanos 스토리지 클라이언트로 마이그레이션
원본: https://grafana.com/docs/loki/latest/setup/migrate/migrate-storage-clients/ (opens in a new tab)
Loki 릴리스 3.4에서는 Thanos 객체 스토리지 클라이언트 Go 모듈 (opens in a new tab)을 기반으로 하는 새로운 객체 스토리지 클라이언트를 도입했습니다.
이러한 변경을 한 이유 중 하나는 Grafana Loki, Mimir 및 Grafana Labs의 다른 원격 측정 데이터베이스에서 일관된 스토리지 구성을 갖기 위함입니다. 이미 Grafana Mimir 또는 Pyroscope를 사용하고 있다면 해당 스토리지 구성을 재사용하여 Loki를 설정할 수 있습니다.
이것은 Loki 3.4 릴리스의 선택적 기능입니다. 향후 릴리스에서는 Thanos가 스토리지를 구성하는 기본 방법이 되고 기존 스토리지 클라이언트는 더 이상 사용되지 않습니다.
참고: 새 스토리지 구성은 기존 형식과 다릅니다. 다음 섹션에서는 각 공급자에 대한 변경 사항을 자세히 설명합니다. 지원되는 스토리지 공급자 및 해당 구성 옵션의 전체 목록을 보려면 Thanos 스토리지 구성 참조 (opens in a new tab)를 참조하십시오.
새 스토리지 클라이언트 활성화
-
storage_config
섹션에서use_thanos_objstore
를true
로 설정하거나-use-thanos-objstore
플래그를 true로 설정하여 Thanos 스토리지 클라이언트를 활성화합니다. 활성화되면storage_config.object_store
아래의 구성이 기존 스토리지 구성 대신 적용됩니다.# gcs 백엔드에 연결하기 위해 새 스토리지 클라이언트를 사용합니다. storage_config: use_thanos_objstore: true # 새 스토리지 클라이언트 활성화 object_store: gcs: bucket_name: "example-bucket"
-
또는
common
구성 섹션을 사용하려는 경우 공통storage
섹션에서 새 클라이언트를 구성할 수도 있습니다.storage_config: use_thanos_objstore: true # 새 스토리지 클라이언트 활성화 common: storage: object_store: gcs: bucket_name: "example-bucket"
-
새 스토리지 클라이언트를 사용할 때 눈금자 스토리지는
ruler_storage
섹션 아래에 구성해야 합니다.storage_config: use_thanos_objstore: true # 새 스토리지 클라이언트 활성화 ruler_storage: backend: gcs gcs: bucket_name: "example-bucket"
-
store.object-prefix
플래그 또는 해당object_prefix
YAML 설정을 사용하는 경우 새object_store.storage-prefix
플래그 또는 해당storage_prefix
YAML 설정을 사용하도록 구성을 업데이트해야 합니다.# 모든 객체에 "prefix"를 접두사로 붙이는 예제 구성 storage_config: use_thanos_objstore: true # 새 스토리지 클라이언트 활성화 object_store: storage_prefix: "prefix"
GCS 스토리지 마이그레이션
기존 Google Cloud Storage (GCS) (opens in a new tab) 스토리지 클라이언트에서 새 Thanos 기반 클라이언트로 마이그레이션할 때 다음과 같이 구성 매개변수를 업데이트해야 합니다.
기존 매개변수 | 새 매개변수 | 필요한 변경 사항 |
---|---|---|
bucket_name | bucket_name | 변경 필요 없음 |
service_account | service_account | 변경 필요 없음 |
chunk_buffer_size | chunk_buffer_size | 변경 필요 없음 |
enable_retries | max_retries | enable_retries (bool)를 max_retries (int)로 바꿉니다. 재시도를 활성화하려면 1보다 큰 값을 설정하고 비활성화하려면 1을 설정합니다. |
request_timeout | 제거됨 | 매개변수 제거 |
enable_opencensus | 제거됨 | 매개변수 제거 |
enable_http2 | 제거됨 | 매개변수 제거 |
구성 마이그레이션 예시 (GCS):
기존 구성:
storage_config:
gcs:
bucket_name: example-bucket
chunk_buffer_size: 10MB
enable_retries: true
새 구성 (Thanos 기반):
storage_config:
use_thanos_objstore: true
object_store:
gcs:
bucket_name: example-bucket
chunk_buffer_size: 10MB
max_retries: 5
Amazon S3 스토리지 마이그레이션
기존 Amazon S3 (opens in a new tab) 스토리지 클라이언트에서 새 Thanos 기반 클라이언트로 마이그레이션할 때 다음과 같이 매개변수를 업데이트하거나 제거합니다.
기존 매개변수 | 새 매개변수 | 필요한 변경 사항 |
---|---|---|
bucket_names | bucket_name | 이 매개변수의 이름을 바꿉니다. 이전에 여러 버킷을 사용한 경우 단일 버킷으로 통합해야 합니다(Thanos는 하나만 지원). |
endpoint | endpoint | 변경 필요 없음. |
region | region | 변경 필요 없음. |
access_key_id | access_key_id | 변경 필요 없음. |
secret_access_key | secret_access_key | 변경 필요 없음. |
session_token | session_token | 변경 필요 없음. |
insecure | insecure | 변경 필요 없음. |
disable_dualstack | dualstack_enabled | 이름이 바뀌고 반전되었습니다. disable_dualstack: false 였다면 dualstack_enabled: true 로 설정합니다. |
storage_class | storage_class | 변경 필요 없음. |
s3 | 제거됨 | URL 기반 설정을 사용한 경우 endpoint 로 제거하거나 바꿉니다. |
S3ForcePathStyle | 제거 또는 교체됨 | 경로 기반 주소 지정이 필요한 경우 새 구성에서 bucket_lookup_type: path 를 설정합니다. 그렇지 않으면 제거합니다. |
signature_version | 제거됨 | 매개변수를 제거합니다. Thanos는 항상 서명 버전 4(V4)를 사용합니다. |
http_config | http | 하위 필드(예: 시간 초과, CA 파일 등)를 Thanos 구성의 http: 블록으로 이동합니다. |
sse | sse | 모든 SSE 설정(예: type , kms_key_id )을 Thanos 구성의 sse: 블록으로 마이그레이션합니다. |
backoff_config | max_retries | 고급 백오프 설정을 단일 정수(max_retries )로 바꿉니다. 재시도를 비활성화하려면 1로 설정하고 활성화하려면 더 높은 값을 설정합니다. |
구성 마이그레이션 예시 (S3):
기존 구성
storage_config:
aws:
bucket_names: my-bucket1,my-bucket2 # 더 이상 여러 버킷이 지원되지 않음
endpoint: s3.amazonaws.com
region: us-west-2
access_key_id: example-key
secret_access_key: example-secret
signature_version: v4
disable_dualstack: true
storage_class: STANDARD
http_config:
timeout: 1m
insecure_skip_verify: false
# ...
backoff_config:
max_retries: 5
sse:
type: SSE-KMS
kms_key_id: mySSEKey
새 구성 (Thanos 기반)
storage_config:
use_thanos_objstore: true
object_store:
s3:
bucket_name: my-bucket1 # 단일 버킷
endpoint: s3.amazonaws.com
region: us-west-2
access_key_id: example-key
secret_access_key: example-secret
dualstack_enabled: false # disable_dualstack: true 였음
storage_class: STANDARD
max_retries: 5
http:
insecure_skip_verify: false
sse:
type: SSE-KMS
kms_key_id: mySSEKey
list_objects_version
, bucket_lookup_type
등과 같은 고급 구성 옵션은 Thanos S3 구성 참조 (opens in a new tab)를 참조하십시오.
Azure 스토리지 마이그레이션
기존 Azure (opens in a new tab) 스토리지 클라이언트에서 새 Thanos 기반 클라이언트로 마이그레이션할 때 다음 매개변수를 사용하는 경우 변경이 필요하지 않습니다.
기존 매개변수 | 새 매개변수 | 필요한 변경 사항 |
---|---|---|
account_name | account_name | 변경 필요 없음 |
account_key | account_key | 변경 필요 없음 |
container_name | container_name | 변경 필요 없음 |
endpoint_suffix | endpoint_suffix | 변경 필요 없음 |
user_assigned_id | user_assigned_id | 변경 필요 없음 |
connection_string | connection_string | 변경 필요 없음 |
max_retries | max_retries | 변경 필요 없음 |
chunk_delimiter | chunk_delimiter | 변경 필요 없음 |
스토리지 계정 키 또는 사용자 할당 관리 ID 이외의 인증 방법을 사용하는 경우 환경 변수를 사용하여 필요한 자격 증명을 전달해야 합니다. 자세한 내용은 Go용 Azure ID 클라이언트 모듈 (opens in a new tab)을 참조하십시오.
파일 시스템 스토리지 마이그레이션
기존 파일 시스템 스토리지 (opens in a new tab) 클라이언트에서 새 Thanos 기반 클라이언트로 마이그레이션할 때 다음과 같이 매개변수를 업데이트하거나 제거합니다.
기존 매개변수 | 새 매개변수 | 필요한 변경 사항 |
---|---|---|
directory | dir | directory 를 dir 로 이름을 바꿉니다. |
구성 마이그레이션 예시 (파일 시스템):
기존 구성 (FSConfig
)
storage_config:
filesystem:
directory: /var/loki/chunks
새 구성 (Thanos 기반)
storage_config:
use_thanos_objstore: true
object_store:
filesystem:
dir: /var/loki/chunks
여기에 나열되지 않은 공급자는 Thanos 스토리지 구성 참조 (opens in a new tab)를 참조하십시오.