텔레메트리
텔레메트리 (Telemetry)
Vault 서버 프로세스는 다양한 라이브러리와 하위 시스템의 성능에 관한 런타임 메트릭을 수집합니다. 이 메트릭들은 10초 간격으로 집계되어 메모리에 1분 동안 보관됩니다. vault.secret.kv.count 같은 고카디널리티(high-cardinality) 메트릭은 10분마다 또는 telemetry 스탠자(stanza)에서 설정한 간격으로 보고됩니다.
Vault의 텔레메트리를 모니터링하고 내구성 있는 메트릭을 수집하려면, 텔레메트리 데이터를 메트릭 집계 소프트웨어로 스트리밍해서 저장해야 합니다.
출처: 문서
본문
Vault는 go-metrics 패키지를 사용해 텔레메트리를 내보냅니다. 시계열 모니터링을 위해 다음과 같은 집계 에이전트(aggregation agent)를 지원합니다.
| Config prefix | Name | Company |
|---|---|---|
circonus |
Circonus | Circonus |
dogstatsd |
DogStatsD | Datadog |
prometheus |
Prometheus | Prometheus / Open source |
stackdriver |
Cloud Operations | |
statsd |
Statsd | Open source |
statsite |
Statsite | Open source |
핵심 상태 메트릭부터 시작하기
Well-Architected Framework 문서에는 일반 상태 점검을 위한 핵심 Vault 메트릭에 관한 모범 사례 가이드가 있습니다. 바로 모니터링을 시작하고 싶은 메트릭을 고를 때는 이 핵심 메트릭 권장 사항을 먼저 검토해 보시길 권합니다.
원시 텔레메트리 데이터 다루기
디버깅 목적으로 원시 텔레메트리 데이터를 보려면 Vault 프로세스에 USR1(*nix의 경우) 또는 BREAK(Windows의 경우) 신호를 보내면 됩니다. Vault 프로세스가 이 신호를 받으면 지난 10초간의 텔레메트리 데이터를 stderr로 덤프합니다.
원시 텔레메트리 데이터에는 해당 메트릭 타입을 가리키는 접두사가 붙습니다.
[C]는 이 메트릭이 **카운터(counter)**임을 나타냅니다.[G]는 이 메트릭이 **게이지(gauge)**임을 나타냅니다.[S]는 이 메트릭이 **요약(summary)**임을 나타냅니다.
원시 텔레메트리 덤프 예시
[2017-12-19 20:37:50 +0000 UTC][G] 'vault.7f320e57f9fe.expire.num_leases': 5100.000
[2017-12-19 20:37:50 +0000 UTC][G] 'vault.7f320e57f9fe.runtime.num_goroutines': 39.000
[2017-12-19 20:37:50 +0000 UTC][G] 'vault.7f320e57f9fe.runtime.sys_bytes': 222746880.000
[2017-12-19 20:37:50 +0000 UTC][G] 'vault.7f320e57f9fe.runtime.malloc_count': 109189192.000
[2017-12-19 20:37:50 +0000 UTC][G] 'vault.7f320e57f9fe.runtime.free_count': 108408240.000
[2017-12-19 20:37:50 +0000 UTC][G] 'vault.7f320e57f9fe.runtime.heap_objects': 780953.000
[2017-12-19 20:37:50 +0000 UTC][G] 'vault.7f320e57f9fe.runtime.total_gc_runs': 232.000
[2017-12-19 20:37:50 +0000 UTC][G] 'vault.7f320e57f9fe.runtime.alloc_bytes': 72954392.000
[2017-12-19 20:37:50 +0000 UTC][G] 'vault.7f320e57f9fe.runtime.total_gc_pause_ns': 150293024.000
[2017-12-19 20:37:50 +0000 UTC][S] 'vault.merkle.flushDirty': Count: 100 Min: 0.008 Mean: 0.027 Max: 0.183 Stddev: 0.024 Sum: 2.681 LastUpdated: 2017-12-19 20:37:59.848733035 +0000 UTC m=+10463.692105920
[2017-12-19 20:37:50 +0000 UTC][S] 'vault.merkle.saveCheckpoint': Count: 4 Min: 0.021 Mean: 0.054 Max: 0.110 Stddev: 0.039 Sum: 0.217 LastUpdated: 2017-12-19 20:37:57.048458148 +0000 UTC m=+10460.891835029
[2017-12-19 20:38:00 +0000 UTC][G] 'vault.7f320e57f9fe.runtime.alloc_bytes': 73326136.000
[2017-12-19 20:38:00 +0000 UTC][G] 'vault.7f320e57f9fe.runtime.sys_bytes': 222746880.000
[2017-12-19 20:38:00 +0000 UTC][G] 'vault.7f320e57f9fe.runtime.malloc_count': 109195904.000
[2017-12-19 20:38:00 +0000 UTC][G] 'vault.7f320e57f9fe.runtime.free_count': 108409568.000
[2017-12-19 20:38:00 +0000 UTC][G] 'vault.7f320e57f9fe.runtime.heap_objects': 786342.000
[2017-12-19 20:38:00 +0000 UTC][G] 'vault.7f320e57f9fe.runtime.total_gc_pause_ns': 150293024.000
[2017-12-19 20:38:00 +0000 UTC][G] 'vault.7f320e57f9fe.expire.num_leases': 5100.000
[2017-12-19 20:38:00 +0000 UTC][G] 'vault.7f320e57f9fe.runtime.num_goroutines': 39.000
[2017-12-19 20:38:00 +0000 UTC][G] 'vault.7f320e57f9fe.runtime.total_gc_runs': 232.000
[2017-12-19 20:38:00 +0000 UTC][S] 'vault.route.rollback.consul-': Count: 1 Sum: 0.013 LastUpdated: 2017-12-19 20:38:01.968471579 +0000 UTC m=+10465.811842067
[2017-12-19 20:38:00 +0000 UTC][S] 'vault.rollback.attempt.consul-': Count: 1 Sum: 0.073 LastUpdated: 2017-12-19 20:38:01.968502743 +0000 UTC m=+10465.811873131
[2017-12-19 20:38:00 +0000 UTC][S] 'vault.rollback.attempt.pki-': Count: 1 Sum: 0.070 LastUpdated: 2017-12-19 20:38:01.96867005 +0000 UTC m=+10465.812041936
[2017-12-19 20:38:00 +0000 UTC][S] 'vault.route.rollback.auth-app-id-': Count: 1 Sum: 0.012 LastUpdated: 2017-12-19 20:38:01.969146401 +0000 UTC m=+10465.812516689
[2017-12-19 20:38:00 +0000 UTC][S] 'vault.rollback.attempt.identity-': Count: 1 Sum: 0.063 LastUpdated: 2017-12-19 20:38:01.968029888 +0000 UTC m=+10465.811400276
[2017-12-19 20:38:00 +0000 UTC][S] 'vault.rollback.attempt.database-': Count: 1 Sum: 0.066 LastUpdated: 2017-12-19 20:38:01.969394215 +0000 UTC m=+10465.812764603
[2017-12-19 20:38:00 +0000 UTC][S] 'vault.barrier.get': Count: 16 Min: 0.010 Mean: 0.015 Max: 0.031 Stddev: 0.005 Sum: 0.237 LastUpdated: 2017-12-19 20:38:01.983268118 +0000 UTC m=+10465.826637008
[2017-12-19 20:38:00 +0000 UTC][S] 'vault.merkle.flushDirty': Count: 100 Min: 0.006 Mean: 0.024 Max: 0.098 Stddev: 0.019 Sum: 2.386 LastUpdated: 2017-12-19 20:38:09.848158309 +0000 UTC m=+10473.691527099