• ログイン今すぐ開始

本書は、お客様のご参考のために原文の英語版を機械翻訳したものです。

英語版と齟齬がある場合、英語版の定めが優先するものとします。より詳しい情報については、本リンクをご参照ください。

問題を作成する

Varnish Cacheのモニタリング統合

Varnish Cache on-host integration は、Varnish Cache 環境のインベントリとメトリクスを収集し、New Relic に送信することで、その健全性を監視することができます。メトリクスは、インスタンス、ロック、メモリプール、ストレージ、バックエンドの各レベルで収集します。

統合をインストールし、収集するデータを確認するために読んでください。

互換性と要件

Varnish Cache 1.0以上に対応しています。

統合をインストールする前に、次の要件を満たしていることを確認してください。

クイックスタート

ガイド付きインストールで、Varnish Cache 環境をすばやくインスツルメンテーションし、テレメトリーデータを送信します。ガイド付きインストールでは、お客様の環境に合わせてカスタマイズされたCLIコマンドを作成し、New Relic CLIとインフラストラクチャ・エージェントをダウンロードしてインストールします。

始める準備はできましたか?これらのボタンのいずれかをクリックして試してください。

ガイド付きインストール

ガイド付きインストールでは、インフラストラクチャ・エージェントを使用して、Varnish Cacheの統合を設定します。それだけでなく、あなたの環境で稼働している他のアプリケーションやログソースを発見し、どのアプリケーションを導入すべきかを推奨してくれます。

このガイド付きインストールは、ほとんどのセットアップに対応しています。Varnish Cache環境の監視を開始するには、以下の方法がありますので、ご利用ください。

インストールしてアクティブ化する

Varnish Cacheインテグレーションをインストールするには、以下の手順に従います。

その他の注意事項:

While you wait for your data to come in...

Did this doc help you install?

統合を構成する

統合のYAML形式の構成では、必要なログイン資格情報を配置し、データの収集方法を構成できます。どのオプションを変更するかは、セットアップと設定によって異なります。

構成ファイルには、 intervaltimeoutinventory_sourceなどのすべての統合に適用できる共通の設定があります。これらの一般的な設定の詳細については、 構成フォーマットのドキュメントを参照してください。

重要

従来の設定/定義ファイルを使用している場合は、こちらの ドキュメント を参照してください。

Varnish に関連する特定の設定は、構成ファイルのenvセクションを使用して定義されます。これらの設定は、Varnish インスタンスへの接続、およびその他のセキュリティ設定と機能を制御します。有効な設定のリストについては、次のセクションで説明します。

Varnish Cacheインスタンスの設定

Varnish Cacheの統合では、メトリクス( M )とインベントリ( I )の両方の情報を収集します。以下の Applies To カラムをチェックして、それぞれの収集に使用できる設定を確認してください。

''

設定

説明

デフォルト

に適用されます

INSTANCE_NAME

New Relic でこのインスタンスのデータを識別するためのユーザー定義名。 必須.

該当なし

M / I

params_config_file

varnish.params構成ファイルの場所。この引数を省略すると、次の場所がチェックされます。

  • /etc/default/varnish/varnish.params

  • /etc/sysconfig/varnish/varnish.params

    注意:Varnishの設定ファイルの場所や名前が異なる場合があります。詳細については、 Different locations of the Varnish configuration file を参照してください。Varnishのバージョンが6以下の場合、このパラメータは必要ありませんので、統合はメトリクス収集のみに設定してください。 Varnish 6の例を参照してください.

該当なし

VARNISH_NAME

カスタム-nフラグでvarnishdデーモンを実行するときに使用される名前。オプションです。

該当なし

M

METRICS

メトリックのみの収集を有効にするには、 trueに設定します。

false

在庫

インベントリのみの収集を有効にするには、 trueに設定します。

false

varnish-config.ymlコマンドは次の引数を受け入れます:

これらの設定の値は、いくつかの方法で定義できます。

  • 設定ファイルに直接値を追加します。これが最も一般的な方法です。
  • {{}}表記を使用して環境変数の値を置き換えます。これには、インフラストラクチャエージェントv1.14.0以降が必要です。詳細はこちらをご覧ください
  • シークレット管理を使用します。これを使用して、構成ファイルにプレーンテキストで公開されるパスワードなどの機密情報を保護します。詳細については、シークレット管理を参照してください。

ラベル/カスタム属性

環境変数を使用して、ライセンスキーなどの構成設定を制御し、インフラストラクチャエージェントに渡すことができます。この機能の使用方法については、インフラストラクチャエージェントの構成を参照してください。ラベルを使用して、メトリックをさらに装飾できます。ラベルを使用すると、キーと値のペアの属性をメトリックに追加して、メトリックのクエリ、フィルタリング、またはグループ化に使用できます。
デフォルトのサンプル構成ファイルにはラベルの例が含まれていますが、必須ではないため、選択した新しいラベルを削除、変更、または追加できます。

labels:
env: production
role: varnish

構成例

varnish-config.ymlファイル構成の例:

オンホスト統合構成の一般的な構造の詳細については、「 構成」を参照してください。

データを見つけて使用する

Infrastructure で統合データを見つけるには、 one.newrelic.com > Infrastructure > Third-party servicesに移動し、Varnish Cache 統合リンクのいずれかを選択します。

New Relic では、Varnish Cache のデータは以下のイベントタイプに添付されます。

  • VarnishSample
  • VarnishLockSample
  • VarnishStorageSample
  • VarnishMempoolSample
  • VarnishBackendSample

データを検索して使用する方法の詳細については、統合データについてを参照してください。

メトリックデータ

Varnish Cache 統合は、次のメトリック データ属性を収集します。各メトリック名には、 bans.main.などのカテゴリ インジケータとピリオドがプレフィックスとして付けられます。

ヒント

いくつかのメトリクスは、メトリクス名から想像されるように、合計ではなくレート(1秒あたり)として計算されます。どのメトリクスがレートとして計算されるかの詳細については、 spec.csvファイルを参照してください。.

Varnishのサンプルメトリクス

これらの属性は、VarnishSampleのイベントタイプを照会することで見つけることができます。

メトリック

説明

backend.connectionBusy

最大接続数に達した回数。

backend.connectionFails

バックドへの接続に失敗した数。

backend.connectionRecycles

リサイクルされたバックエンドコネクションの数。

backend.connectionRetries

再試行されたバックエンド接続の数。

backend.connectionReuses

バックエンド接続の再利用数

backend.connectionSuccess

バックエンドとの接続に成功した数。

backend.connectionUnHealthy

バックエンドの状態が「不健全」であったために試行されなかったバックエンド接続の数。

backend.fetches

開始されたバックエンドのフェッチの合計数。

backend.requests

バックエンドへの接続リクエストの総数。

bans.added

BANリストに追加されたBANのカウンター

bans.completed

完了」と表示された禁止事項の数

bans.cutoffLurkerKilled

カットオフ(ルーラー)の禁止によって殺されたオブジェクトの数。

bans.deleted

BANリストから削除されたBANのカウンター

bans.dups

後の同一バンに置き換えられたバンの数。

bans.fragmentationInBytes

永続化された禁止リストが断片化されているため、余分なバイトが発生する。

bans.lookupKilled

オブジェクトの検索中に禁止令によって殺されたオブジェクトの数。

bans.lookupTestsTested

ルックアップ時にテストとオブジェクトが相互にテストされた数をカウントします。

bans.lurkerCon

バンラーカーがルックアップを待たされた回数。

bans.lurkerKilled

バンラーカーに殺されたオブジェクトの数。

bans.lurkerTested

BAN-LURKERがどれだけBANとオブジェクトをテストしたかのカウント。

bans.lurkerTestsTested

BAN-LURKERが実施したテストやオブジェクトの数をカウントします。

bans.obj

obj.*変数を使用した禁止の数。これらの禁止は、禁止に潜む者によって洗い流される可能性があります。

bans.persistedInBytes

永続化された禁止リストが使用するバイト数。

bans.req

req.*変数を使用する禁止の数。これらのバンは、バンラーカーによって洗浄することはできません。

bans.tested

ハッシュ検索の際に、いくつの禁止事項とオブジェクトが互いにテストされたかのカウント。

cache.graceHits

猶予のあるキャッシュ ヒットの数。猶予のあるキャッシュ ヒットは、オブジェクトの有効期限が切れているキャッシュ ヒットです。これらのヒットはcache_hitカウンターにも含まれています。

cache.hits

バックエンドサーバーからオブジェクトを取得せずに、クライアントに配信した回数。

cache.misses

クライアントに配信する前に、バックエンドからオブジェクトをフェッチした回数。

cache.missHits

ミス・レスポンスに対してヒット・オブジェクトが返された回数。

cache.passHits

パス・レスポンスでヒット・オブジェクトが返された回数。

esi.errors

ESI(Edge Side Includes)の解析エラー(ロック解除)。

esi.warnings

Edge Side Includes(ESI)のパース警告(ロック解除)を行います。

fetch.bad

beresp.bodyの長さ/フェッチを特定できませんでした。

fetch.chuncked

beresp.bodyのチャンク。

fetch.contentLength

content-length の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(Lest Recently Used)オブジェクトの数。

main.backends

バックエンドの数

main.bans

禁止事項の数

main.busyKilled

ビジー状態のobjhdrでスリープ後にキルされたリクエストの数。

main.busySleep

忙しいobjhdrのスリープに送られたリクエストの数。

main.busyWakeup

ビジー状態のobjhdrでスリープ後に起こされたリクエストの数。

main.expired

期限切れのオブジェクトの数。

main.expiredMailed

期限切れのスレッドにメールされたオブジェクトの数。

main.expiredReceived

expiryスレッドが受信したオブジェクトの数。

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

利用可能なVarnish Configuration Languages (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で終了したセッションの数 (不正な要求/応答を受け取りました)。

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

Session Read Ahead。

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のスペースがなくなった回数。

Varnishロックのサンプルメトリクス

これらの属性は、 VarnishLockSampleイベントタイプを照会することで見つけることができます。

メトリック

説明

lock.created

作成されたロックの数。

lock.destroyed

破壊されたロックの数

lock.locks

ロック操作の回数。

Varnishストレージのサンプルメトリクス

これらの属性は、 VarnishStorageSampleイベントタイプを照会することで見つけることができます。

メトリック

説明

storage.allocFails

ストレージがストレージセグメントの提供に失敗した回数。

storage.allocInBytes

このストレージで割り当てられた総バイト数。

storage.allocOustanding

ストレージ割り当ての未処理数。

storage.allocReqs

ストレージが、ストレージセグメントの提供を求められた回数。

storage.availableInBytes

ストレージに残っているバイト数。

storage.freeInBytes

このストレージに戻ってきた総バイト数

storage.outstandingInBytes

ストレージから割り当てられたバイト数。

Varnish mempool サンプルメトリクス

これらの属性は、 VarnishMempoolSampleイベントタイプを照会することで見つけることができます。

メトリック

説明

mempool.allocatedSizeInBytes

メモリプールの割り当てサイズ(単位:バイト)。

mempool.allocs

メモリプールの割り当てを行います。

mempool.frees

メモリプールの空き数。

mempool.live

使用中のメモリプールの数。

mempool.pool

メモリプールのカウント

mempool.ranDry

プールが干上がった。

mempool.recycles

プールからの再利用

mempool.requestSizeInBytes

メモリプールの要求サイズ(単位:バイト)。

mempool.surplus

プールには多すぎます。

mempool.timeouts

プールからタイムアウト。

mempool.tooSmall

リサイクルするには小さすぎる。

Varnishバックエンドのサンプルメトリクス

これらの属性は、 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 ソースの下で利用できます。インベントリデータの詳細については、 Understand integration data を参照してください。

ソースコードを確認してください

この統合はオープン ソース ソフトウェアです。つまり、ソース コードを参照して改善を送信したり、独自のフォークを作成してビルドしたりできます。

Copyright © 2022 New Relic Inc.

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