Prometheus 문서/스토리지

1 개요

STROAGE
스토리지

Prometheus에는 로컬 온디스크 시계열 데이터베이스가 포함되어 있지만 선택적으로 원격 스토리지 시스템과도 연계됩니다.

2 로컬 스토리지

Prometheus의 로컬 시계열 데이터베이스는 로컬 스토리지에 매우 효율적인 맞춤형 포맷으로 데이터를 저장합니다.

2.1 온디스크 레이아웃

인제스트된 샘플은 2시간 단위로 그룹화됩니다. 각 2시간 블록은 해당 시간 윈도우에 대한 모든 시계열 샘플이 포함된 Chunks 하위 디렉터리, 메타데이터 파일 및 인덱스 파일(지표 이름 및 레이블을 청크 디렉터리의 시계열에 색인화함)이 포함된 디렉터리로 구성됩니다. 청크 디렉터리의 샘플은 기본적으로 각각 최대 512MB의 하나 이상의 세그먼트 파일로 그룹화됩니다. API를 통해 시리즈가 삭제되면 삭제 기록은 별도의 삭제 표시 파일에 저장됩니다(청크 세그먼트에서 데이터를 즉시 삭제하는 대신).

들어오는 샘플의 현재 블록은 메모리에 보관되며 완전히 저장되지 않습니다. Prometheus 서버가 다시 시작될 때 재생할 수 있는 WAL(미리 쓰기 로그)을 통해 충돌로부터 보호됩니다. 미리 쓰기 로그(WAL) 파일은 128MB 세그먼트로 wal디렉토리에 저장됩니다. 이러한 파일에는 아직 압축되지 않은 원시 데이터가 포함되어 있습니다. 따라서 일반 블록 파일보다 훨씬 더 큽니다. Prometheus는 최소 3개의 미리 쓰기 로그 파일을 보관합니다. 트래픽이 많은 서버는 최소 2시간의 원시 데이터를 보관하기 위해 3개 이상의 WAL 파일을 보관할 수 있습니다.

Prometheus 서버의 데이터 디렉터리는 다음과 같습니다.

./data
├── 01BKGV7JBM69T2G1BGBGM6KB12
│   └── meta.json
├── 01BKGTZQ1SYQJTR4PB43C8PD98
│   ├── chunks
│   │   └── 000001
│   ├── tombstones
│   ├── index
│   └── meta.json
├── 01BKGTZQ1HHWHV8FBJXW1Y3W0K
│   └── meta.json
├── 01BKGV7JC0RY8A6MACW02A2PJD
│   ├── chunks
│   │   └── 000001
│   ├── tombstones
│   ├── index
│   └── meta.json
├── chunks_head
│   └── 000001
└── wal
    ├── 000000002
    └── checkpoint.00000001
        └── 00000000

로컬 스토리지의 한계는 클러스터링되거나 복제되지 않는다는 것입니다. 따라서 드라이브 또는 노드 중단 시 임의로 확장 가능하거나 내구성이 없으며 다른 단일 노드 데이터베이스처럼 관리되어야 합니다. 스토리지 가용성을 위해 RAID 사용이 권장되며, 백업을 위해 스냅샷이 권장됩니다. 적절한 아키텍처를 사용하면 수년간의 데이터를 로컬 스토리지에 보관할 수 있습니다.

또는 원격 읽기/쓰기 API를 통해 외부 저장소를 사용할 수도 있습니다 . 이러한 시스템은 내구성, 성능 및 효율성이 크게 다르기 때문에 신중한 평가가 필요합니다.

파일 형식에 대한 자세한 내용은 TSDB 형식을 참조하세요 .

3 압축

4 운영 관점

5 원격 스토리지 통합

5.1 개요

5.2 기존 통합

6 OpenMetrics 형식에서 백필

6.1 개요

6.2 용법

7 기록 규칙 채우기

7.1 개요

7.2 용법

7.3 제한점

8 참고

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}