• EnglishEspañol日本語한국어Português
  • 로그인지금 시작하기

이 한글 문서는 사용자의 편의를 위해 기계 번역되었습니다.

영문본과 번역본이 일치하지 않는 경우 영문본이 우선합니다. 보다 자세한 내용은 이 페이지를 방문하시기 바랍니다.

문제 신고

Varnish Cache 모니터링 통합

Varnish Cache 온-호스트 통합 은 Varnish Cache 환경에서 인벤토리 및 메트릭을 수집하여 New Relic으로 전송하여 상태를 모니터링할 수 있습니다. 인스턴스, 잠금, 메모리 풀, 스토리지 및 백엔드 수준에서 메트릭을 수집합니다.

통합을 설치하고 수집하는 데이터를 보려면 계속 읽으십시오.

호환성 및 요구 사항

통합은 Varnish Cache 1.0 이상과 호환됩니다.

통합을 설치하기 전에 다음 요구 사항을 충족하는지 확인하십시오.

빠른 시작

Varnish Cache 환경을 신속하게 계측하고 설치 안내를 통해 원격 측정 데이터를 보내십시오. 가이드 설치는 New Relic CLI 및 인프라 에이전트를 다운로드하고 설치하는 사용자 환경에 대한 사용자 정의 CLI 명령을 생성합니다.

시작할 준비가 되셨습니까? 이 버튼 중 하나를 클릭하여 사용해 보십시오.

안내 설치

가이드 설치는 인프라 에이전트를 사용하여 Varnish Cache 통합을 설정합니다. 뿐만 아니라 사용자 환경에서 실행 중인 다른 애플리케이션 및 로그 소스를 검색한 다음 계측해야 할 항목을 추천합니다.

안내 설치는 대부분의 설정에서 작동합니다. 그러나 귀하의 요구 사항에 적합하지 않은 경우 아래에서 다른 방법을 찾아 Varnish Cache 환경 모니터링을 시작할 수 있습니다.

설치 및 활성화

Varnish Cache 통합을 설치하려면:

추가 참고 사항:

이 문서가 설치하는데 도움이 되셨나요?

통합 구성

통합의 YAML 형식 구성은 필수 로그인 자격 증명을 배치하고 데이터 수집 방법을 구성할 수 있는 곳입니다. 변경하는 옵션은 설정 및 기본 설정에 따라 다릅니다.

구성 파일에는 interval , timeout , inventory_source 와 같은 모든 통합에 적용할 수 있는 공통 설정이 있습니다. 이러한 공통 설정에 대한 모든 내용을 보려면 구성 형식 문서를 참조하십시오.

중요

여전히 레거시 구성/정의 파일을 사용하고 있다면 이 문서 에서 도움을 받으십시오.

Varnish와 관련된 특정 설정은 구성 파일의 env 섹션을 사용하여 정의됩니다. 이러한 설정은 Varnish 인스턴스에 대한 연결과 기타 보안 설정 및 기능을 제어합니다. 유효한 설정 목록은 다음 섹션에 설명되어 있습니다.

바니시 캐시 인스턴스 설정

Varnish Cache 통합은 메트릭( M ) 및 인벤토리( I ) 정보를 모두 수집합니다. 아래의 적용 대상 열을 확인하여 각 특정 컬렉션에 사용할 수 있는 설정을 찾으십시오.

' '

환경

설명

기본값

적용 대상

INSTANCE_NAME

New Relic에서 이 인스턴스의 데이터를 식별하기 위한 사용자 정의 이름입니다. 필수 .

해당 없음

PARAMS_CONFIG_FILE

varnish.params 구성 파일의 위치입니다. 이 인수를 생략하면 다음 위치가 확인됩니다.

  • /etc/default/varnish/varnish.params

  • /etc/sysconfig/varnish/varnish.params

    참고: 광택 구성 파일의 위치와 이름은 다를 수 있습니다. 자세한 내용은 광택 구성 파일의 다양한 위치를 참조하십시오. Varnish 6 이상의 경우 이 매개변수가 필요하지 않으며 측정항목 수집에 대해서만 통합을 설정해야 합니다. Varnish 6의 예를 참조하십시오.

해당 없음

바니쉬_이름

사용자 정의 -n 플래그로 varnishd 데몬을 실행할 때 사용되는 이름입니다. 선택 사항 .

해당 없음

측정항목

측정항목 전용 수집을 활성화하려면 true 으로 설정합니다.

false

목록

인벤토리 전용 컬렉션을 활성화하려면 true 으로 설정합니다.

false

varnish-config.yml 명령은 다음 인수를 허용합니다.

이러한 설정의 값은 여러 가지 방법으로 정의할 수 있습니다.

  • 구성 파일에 직접 값을 추가합니다. 이것은 가장 일반적인 방법입니다.
  • {{}} 표기법을 사용하여 환경 변수의 값 바꾸기. 이를 위해서는 인프라 에이전트 v1.14.0 이상이 필요합니다. 여기에서 더 읽어보세요.
  • 비밀 관리를 사용합니다. 이를 사용하여 구성 파일에서 일반 텍스트로 노출될 암호와 같은 민감한 정보를 보호하십시오. 자세한 내용은 비밀 관리 를 참조하십시오.

라벨/맞춤 속성

환경 변수를 사용하여 다음과 같은 구성 설정을 제어할 수 있습니다. , 그런 다음 인프라 에이전트로 전달됩니다. 이 기능을 사용하는 방법에 대한 지시사항은 인프라 에이전트 구성을 참조하십시오. 레이블을 사용하여 메트릭을 추가로 꾸밀 수 있습니다. 레이블을 사용하면 메트릭에 키/값 쌍 특성을 추가한 다음 메트릭을 쿼리, 필터링 또는 그룹화하는 데 사용할 수 있습니다.
기본 샘플 구성 파일에는 레이블의 예가 포함되어 있지만 필수가 아니므로 선택한 새 레이블을 제거, 수정 또는 추가할 수 있습니다.

labels:
env: production
role: varnish

구성 예

varnish-config.yml 파일 구성 예:

호스트 내 통합 구성의 일반 구조에 대한 자세한 내용은 구성 을 참조하십시오.

데이터 찾기 및 사용

New Relic에서 통합 데이터를 찾으려면 one.newrelic.com > All capabilities > Infrastructure > Third-party services 로 이동하고 Varnish Cache 통합 링크 중 하나를 선택하십시오.

New Relic에서 Varnish Cache 데이터는 다음 이벤트 유형에 첨부됩니다.

  • VarnishSample
  • VarnishLockSample
  • VarnishStorageSample
  • VarnishMempoolSample
  • VarnishBackendSample

데이터를 찾고 사용하는 방법에 대한 자세한 내용은 통합 데이터 이해 를 참조하십시오.

측정항목 데이터

Varnish Cache 통합은 다음 메트릭 데이터 속성을 수집합니다. 각 측정항목 이름에는 bans. 또는 main. 과 같은 카테고리 표시기와 마침표가 접두사로 붙습니다.

메트릭 이름에서 알 수 있듯이 많은 메트릭이 총계 대신 비율(초당)로 계산됩니다. 요율로 계산되는 측정항목에 대한 자세한 내용은 spec.csv 파일 을 참조하세요.

샘플 메트릭 바니시

이러한 속성은 VarnishSample 이벤트 유형을 쿼리하여 찾을 수 있습니다.

미터법

설명

backend.connectionBusy

최대 연결에 도달한 횟수입니다.

backend.connectionFails

백업에 실패한 연결 수입니다.

backend.connectionRecycles

재활용된 백엔드 연결 수입니다.

backend.connectionRetries

재시도된 백엔드 연결 수입니다.

backend.connectionReuses

백엔드 연결 재사용 횟수입니다.

backend.connectionSuccess

성공적인 백엔드 연결 수,

backend.connectionUnHealthy

'비정상' 백엔드 상태로 인해 시도되지 않은 백엔드 연결 수입니다.

backend.fetches

시작된 총 백엔드 가져오기 수입니다.

backend.requests

이루어진 총 백엔드 연결 요청 수입니다.

bans.added

금지 목록에 금지 카운터가 추가되었습니다.

bans.completed

'완료'로 표시된 차단 수입니다.

bans.cutoffLurkerKilled

차단(lurker)에 대한 금지로 인해 사망한 개체의 수입니다.

bans.deleted

차단 목록에서 삭제된 차단 카운터입니다.

bans.dups

나중에 동일한 금지로 대체된 금지의 수입니다.

bans.fragmentationInBytes

조각화로 인해 지속 금지 목록에 추가 바이트가 있습니다.

bans.lookupKilled

개체 조회 중 차단으로 인해 사망한 개체 수입니다.

bans.lookupTestsTested

조회하는 동안 서로에 대해 테스트된 테스트 및 개체 수입니다.

bans.lurkerCon

ban-lurker가 조회를 기다려야 했던 횟수입니다.

bans.lurkerKilled

ban-lurker가 죽인 개체의 수입니다.

bans.lurkerTested

ban-lurker가 서로에 대해 테스트한 금지 및 개체 수를 계산합니다.

bans.lurkerTestsTested

ban-lurker가 동안 서로에 대해 테스트한 테스트와 개체의 수입니다.

bans.obj

obj.* 변수를 사용하는 차단 수입니다. 이러한 금지는 금지 루커에 의해 지워질 수 있습니다.

bans.persistedInBytes

지속 금지 목록에서 사용하는 바이트입니다.

bans.req

req.* 변수를 사용하는 금지 수입니다. 이러한 금지는 ban-lurker에 의해 세척될 수 없습니다.

bans.tested

해시 조회 중에 서로에 대해 테스트된 금지 및 개체 수입니다.

cache.graceHits

유예된 캐시 적중 횟수입니다. 유예 캐시 적중은 개체가 만료된 캐시 적중입니다. 이 조회수는 cache_hit 카운터에도 포함됩니다.

cache.hits

백엔드 서버에서 객체를 가져오지 않고 클라이언트에 객체가 전달된 횟수입니다.

cache.misses

객체를 클라이언트에 전달하기 전에 백엔드에서 가져온 횟수입니다.

cache.missHits

누락 응답에 대해 적중 개체가 반환된 횟수입니다.

cache.passHits

통과 응답에 대해 적중 개체가 반환된 횟수입니다.

esi.errors

Edge Side Include(ESI) 구문 분석 오류(잠금 해제).

esi.warnings

ESI(Edge Side Include) 구문 분석 경고(잠금 해제).

fetch.bad

beresp.body 길이/가져오기를 결정할 수 없습니다.

fetch.chuncked

beresp.body 이(가) 청크되었습니다.

fetch.contentLength

콘텐츠 길이가 있는 beresp.body .

fetch.eof

EOF가 있는 beresp.body .

fetch.failed

beresp 이(가) 실패했습니다.

fetch.head

요청이 HEAD이므로 본문이 없는 beresp .

fetch.noBody

본문이 없는 beresp .

fetch.noBody1xx

1XX 응답으로 인해 본문이 없는 beresp .

fetch.noBody204

204 응답으로 인해 본문이 없는 beresp .

fetch.noBody304

304 응답으로 인해 본문이 없는 beresp .

fetch.noThreadFail

beresp 가져오기에 실패했으며 사용 가능한 스레드가 없습니다.

hcb.inserts

중요 비트 트리 기반 해시(HCB) 삽입 수입니다.

hcb.lock

잠금이 있는 HCB 조회 수입니다.

hcb.noLock

잠금이 없는 HCB 조회 수입니다.

lru.limited

더 많은 저장 공간이 필요한 횟수이지만 한계에 도달했습니다.

lru.moved

LRU 목록에서 수행된 이동 작업의 수입니다.

lru.nuked

새 개체를 위한 공간을 만들기 위해 저장소에서 강제로 제거된 LRU(가장 최근에 사용한 개체) 개체의 수입니다.

main.backends

백엔드 수.

main.bans

금지 횟수입니다.

main.busyKilled

사용 중인 objhdr에서 절전 모드 후 종료된 요청 수입니다.

main.busySleep

사용 중인 objhdr에서 절전 모드로 전송된 요청 수입니다.

main.busyWakeup

사용 중인 objhdr에서 절전 모드 후 깨운 요청 수입니다.

main.expired

만료된 개체의 수입니다.

main.expiredMailed

만료 스레드에 메일로 전송된 개체 수입니다.

main.expiredReceived

만료 스레드에서 받은 개체 수입니다.

main.gunzip

gunzip 작업의 수입니다.

main.gunzipTest

테스트 gunzip 작업의 수입니다.

main.gzip

gzip 작업의 수입니다.

main.objectcores

만들어진 objectcore 구조체의 수입니다.

main.objectheads

생성된 반대된 구조체의 수입니다.

main.objects

만들어진 객체 구조체의 수입니다.

main.passedRequests

통과된 총 요청이 표시됩니다.

main.pipeSessions

본 총 파이프 세션입니다.

main.pools

스레드 풀의 수입니다.

main.purgeObjects

제거된 개체의 수입니다.

main.purgeOperations

실행된 제거 작업의 수입니다.

main.reqDropped

삭제된 요청 수입니다.

main.sessions

본 총 세션 수입니다.

main.sessQueueLength

스레드를 기다리는 세션 큐의 길이입니다.

main.summs

스레드당 통계가 전역 카운터에 합산된 횟수입니다.

main.syntheticResponses

총 합성 반응이 이루어졌습니다.

main.threads

총 스레드 수입니다.

main.threadsCreated

모든 풀에서 생성된 총 스레드 수입니다.

main.threadsDestroyed

모든 풀에서 파괴된 총 스레드 수입니다.

main.threadsFailed

스레드 생성에 실패한 횟수입니다.

main.threadsLimited

더 많은 스레드가 필요했지만 스레드 풀에서 한계에 도달한 횟수입니다.

main.unresurrectedObjects

부활하지 않은 개체의 수입니다.

main.uptimeInMilliseconds

하위 프로세스 가동 시간(밀리초)입니다.

main.vclAvailable

사용 가능한 VCL(바니시 구성 언어) 수.

main.vclDiscarded

폐기된 VCL의 수입니다.

main.vclFails

VCL 실패 횟수입니다.

main.vclLoaded

총 로드된 VCL 수입니다.

main.vmodsLoaded

로드된 Varnish 모듈(VMOD)의 수입니다.

mgt.childDied

신호로 인해 자식 프로세스가 종료된 횟수입니다.

mgt.childDump

자식 프로세스가 코어 덤프를 생성한 횟수입니다.

mgt.childExit

자식 프로세스가 완전히 중지된 횟수입니다.

mgt.childPanic

관리 프로세스가 아동의 패닉을 포착한 횟수입니다.

mgt.childStart

자식 프로세스가 시작된 횟수입니다.

mgt.childStop

자식 프로세스가 완전히 중지된 횟수입니다.

mgt.uptimeInMilliseconds

관리 프로세스 가동 시간(밀리초)입니다.

net.400Errors

400개 오류에 따라 수신된 클라이언트 요청 수입니다.

net.417Errors

417 오류에 따라 수신된 클라이언트 요청 수

net.httpOverflow

HTTP 헤더 오버플로의 수입니다.

net.pipe.inInBytes

파이프 세션의 클라이언트에서 전달된 총 바이트 수입니다.

net.pipe.outInBytes

파이프 세션에서 클라이언트로 전달된 총 바이트 수입니다.

net.pipereq.headerInBytes

파이프된 세션에 대해 수신된 총 요청 바이트입니다.

net.request.bodyInBytes

전송된 총 요청 본문(바이트)입니다.

net.request.headerInBytes

전송된 총 요청 헤더(바이트)입니다.

net.requests

수신된 양호한 클라이언트 요청 수입니다.

net.response.bodyInBytes

전송된 총 응답 본문(바이트)입니다.

net.response.headerInBytes

전송된 총 응답 헤더(바이트)입니다.

sess.backendClose

오류 RESP_CLOSE (백엔드/VCL이 닫기를 요청함)로 닫은 세션 수입니다.

sess.badClose

오류 Error RX_BAD (잘못된 req/resp를 수신함)으로 닫은 세션 수입니다.

sess.bodyFailClose

오류 Error RX_BODY (req.body 수신 실패)로 닫힌 세션 수입니다.

sess.clientClose

오류 REM_CLOSE (클라이언트 닫힘)으로 닫힌 세션 수입니다.

sess.clientReqClose

REQ_CLOSE 오류(클라이언트가 닫기를 요청함)로 닫은 세션 수입니다.

sess.closed

마감된 총 세션 수입니다.

sess.closedError

오류로 마감된 총 세션 수입니다.

sess.dropped

스레드에 대해 삭제된 세션 수입니다.

sess.eofTxnClose

TX_EOF 오류(EOF 전송)로 닫힌 세션 수입니다.

sess.errorTxnClose

TX_ERROR 오류(오류 트랜잭션)로 닫힌 세션 수입니다.

sess.herd

timeout_linger 이(가) 트리거된 횟수입니다.

sess.junkClose

RX_JUNK 오류(정크 데이터 수신)와 함께 세션이 닫힙니다.

sess.overflowClose

RX_OVERFLOW 오류(수신된 버퍼 오버플로)로 닫힌 세션 수입니다.

sess.overloadClose

세션 수가 OVERLOAD (일부 리소스 부족) 오류와 함께 닫힙니다.

sess.pipeOverflowClose

PIPE_OVERFLOW 오류(세션 파이프 오버플로)로 닫힌 세션 수입니다.

sess.pipeTxnClose

TX_PIPE 오류와 함께 닫힌 세션 수(파이프 트랜잭션).

sess.queued

스레드에 대해 대기 중인 세션 수입니다.

sess.readAhead

세션 미리 읽기.

sess.requestHTTP10Close

REQ_HTTP10 오류(Proto < HTTP/1.1)와 함께 닫힌 세션 수입니다.

sess.requestHTTP20Close

오류 REQ_HTTP20 (HTTP2가 허용되지 않음)와 함께 닫힌 세션 수입니다.

sess.shortRangeClose

RANGE_SHORT 오류(범위에 대한 데이터가 충분하지 않음)와 함께 닫힌 세션 수입니다.

sess.timeoutClose

RX_TIMEOUT 오류(수신 시간 초과)로 닫힌 세션 수입니다.

sess.vclFailClose

VCL_FAILURE 오류(VCL 실패)와 함께 닫힌 세션 수입니다.

session.connections

성공적으로 수락된 세션 수입니다.

session.drops

작업자 스레드 부족으로 인해 자동으로 삭제된 세션 수입니다.

session.fail

TCP 연결 수락 실패 횟수입니다.

shm.contentions

SHM(공유 메모리) MTX 경합 수입니다.

shm.cycles

버퍼를 통한 SHM 주기 수입니다.

shm.flushes

오버플로로 인한 SHM 플러시 횟수입니다.

shm.records

SHM 레코드 수.

shm.writes

SHM 쓰기 수입니다.

workspace.backendOverflow

workspace_backend 에서 공간이 부족한 횟수입니다.

workspace.clientOverflow

workspace_client 에서 공간이 부족한 횟수입니다.

workspace.deliveryFail

작업 공간이 부족하여 배송에 실패했습니다.

workspace.sessionOverflow

workspace_session 에서 공간이 부족한 횟수입니다.

workspace.threadOverflow

workspace_thread 에서 공간이 부족한 횟수입니다.

바니시 잠금 샘플 메트릭

이러한 속성은 VarnishLockSample 이벤트 유형을 쿼리하여 찾을 수 있습니다.

미터법

설명

lock.created

생성된 잠금의 수입니다.

lock.destroyed

파괴된 잠금의 수입니다.

lock.locks

잠금 작업 수입니다.

바니시 스토리지 샘플 메트릭

이러한 속성은 VarnishStorageSample 이벤트 유형을 쿼리하여 찾을 수 있습니다.

미터법

설명

storage.allocFails

스토리지가 스토리지 세그먼트를 제공하지 못한 횟수입니다.

storage.allocInBytes

이 스토리지에서 할당한 총 바이트 수입니다.

storage.allocOustanding

미해결 스토리지 할당 수입니다.

storage.allocReqs

스토리지가 스토리지 세그먼트를 제공하도록 요청받은 횟수입니다.

storage.availableInBytes

스토리지에 남아 있는 바이트 수입니다.

storage.freeInBytes

이 저장소에 반환된 총 바이트 수입니다.

storage.outstandingInBytes

스토리지에서 할당된 바이트 수입니다.

mempool 샘플 메트릭 바니시

이러한 속성은 VarnishMempoolSample 이벤트 유형을 쿼리하여 찾을 수 있습니다.

미터법

설명

mempool.allocatedSizeInBytes

메모리 풀의 할당된 크기(바이트)입니다.

mempool.allocs

메모리 풀 할당.

mempool.frees

사용 가능한 메모리 풀의 수입니다.

mempool.live

사용 중인 메모리 풀의 수입니다.

mempool.pool

메모리 풀에서 계산합니다.

mempool.ranDry

수영장이 말랐습니다.

mempool.recycles

수영장에서 재활용.

mempool.requestSizeInBytes

메모리 풀의 요청 크기(바이트)입니다.

mempool.surplus

수영장에 너무 많습니다.

mempool.timeouts

풀에서 시간이 초과되었습니다.

mempool.tooSmall

재활용하기에는 너무 작습니다.

백엔드 샘플 메트릭 바니시

이러한 속성은 VarnishBackendSample 이벤트 유형을 쿼리하여 찾을 수 있습니다.

미터법

설명

backend.busyFetches

백엔드가 사용 중이어서 가져오기가 시도되지 않았습니다.

backend.connections

백엔드에 대한 동시 연결 수입니다.

backend.connectionsFailed

백엔드 연결 수가 실패했습니다.

backend.connectionsNotAttempted

백엔드 연결 열기가 시도되지 않았습니다.

backend.happy

행복한 건강 프로브.

backend.unhealtyFetches

백엔드가 비정상이어서 가져오기가 시도되지 않았습니다.

net.backend.pipeHeaderInBytes

파이프된 세션에 대해 전송된 총 요청 바이트입니다.

net.backend.pipeInInBytes

파이프 세션의 백엔드에서 전달된 총 바이트 수입니다.

net.backend.pipeOutInBytes

파이프 세션에서 백엔드로 전달된 총 바이트 수입니다.

net.backend.requestBodyInBytes

전송된 총 백엔드 요청 본문 바이트입니다.

net.backend.requestHeaderInBytes

보낸 총 백엔드 요청 헤더 바이트입니다.

net.backend.requests

보낸 백엔드 요청 수,

net.backend.responseBodyInBytes

수신된 총 백엔드 응답 본문 바이트입니다.

net.backend.responseHeaderInBytes

수신된 총 백엔드 응답 헤더 바이트입니다.

인벤토리 데이터

Varnish Cache 통합은 구성 매개변수를 캡처합니다. 활성 상태인 모든 매개변수에 대해 varnish.params 구성 파일을 구문 분석합니다.

데이터는 config/varnish 소스 아래의 인벤토리 페이지 에서 사용할 수 있습니다. 인벤토리 데이터에 대한 자세한 내용은 통합 데이터 이해 를 참조하십시오.

소스 코드 확인

이 통합은 오픈 소스 소프트웨어입니다. 즉 , 소스 코드를 탐색하고 개선 사항을 보내거나 자신만의 포크를 만들어 빌드할 수 있습니다.

Copyright © 2024 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.