Varnish Cache on-host integration は、Varnish Cache 環境のインベントリとメトリクスを収集し、New Relic に送信することで、その健全性を監視することができます。メトリクスは、インスタンス、ロック、メモリプール、ストレージ、バックエンドの各レベルで収集します。
インテグレーションのインストールと、当社がどのようなデータを収集するかについてお読みください。
互換性および要件
Varnish Cache 1.0以上に対応しています。
インテグレーションをインストールする前に、以下の要件を満たしていることを確認してください。
- インフラストラクチャエージェントのインストール.
- Linux ディストリビューションまたは Windows バージョン 当社のインフラストラクチャ・エージェントと互換性がある 。
クイックスタート
ガイド付きインストールで、Varnish Cache 環境をすばやくインスツルメンテーションし、テレメトリーデータを送信します。ガイド付きインストールでは、お客様の環境に合わせてカスタマイズされたCLIコマンドを作成し、New Relic CLIとインフラストラクチャ・エージェントをダウンロードしてインストールします。

始める準備はできていますか?ボタンの1つをクリックし、試行してください。
ガイド付きインストールでは、インフラストラクチャ・エージェントを使用して、Varnish Cacheの統合を設定します。それだけでなく、あなたの環境で稼働している他のアプリケーションやログソースを発見し、どのアプリケーションを導入すべきかを推奨してくれます。
このガイド付きインストールは、ほとんどのセットアップに対応しています。Varnish Cache環境の監視を開始するには、以下の方法がありますので、ご利用ください。
インストールと有効化
Varnish Cacheインテグレーションをインストールするには、以下の手順に従います。
追加の注:
- Advanced: また、 統合機能をtarballファイルからインストールすることも可能です 。これにより、インストールと設定のプロセスを完全にコントロールすることができます。
- オンホストインテグレーションは、自動的にアップデートしません。最善の結果を得るため、インテグレーションパッケージの更新とInfrastructureエージェントの更新を定期的に実施してください。
インテグレーションの設定
インテグレーションのYAML形式設定では、必要なログインクレデンシャルやデータの収集方法を設定できます。どのオプションを変更するかは、設定とプリファレンスにより異なります。
設定ファイルには、 interval
, timeout
, inventory_source
など、すべての統合に適用される共通の設定があります。これらの共通設定については、 Configuration Format のドキュメントを参照してください。
重要
従来の設定/定義ファイルを使用している場合は、こちらの ドキュメント を参照してください。
Varnishに関連する特定の設定は、設定ファイルの env
セクションを使用して定義されます。これらの設定は、Varnishインスタンスへの接続や、その他のセキュリティ設定や機能を制御します。有効な設定のリストは次のセクションで説明します。
Varnish Cacheインスタンスの設定
Varnish Cacheの統合では、メトリクス( M )とインベントリ( I )の両方の情報を収集します。以下の Applies To カラムをチェックして、それぞれの収集に使用できる設定を確認してください。
' '
設定 | 説明 | デフォルト | 適用先 |
---|---|---|---|
INSTANCE_NAME | New Relic でこのインスタンスのデータを識別するためのユーザー定義名。 必須. | 該当なし | M/I |
params_config_file |
| 該当なし | I |
VARNISH_NAME |
| 該当なし | M |
メトリクス |
|
| |
インベントリ |
|
|
varnish-config.yml
コマンドは、以下の引数を受け付けます。
これらの設定値は、いくつかの方法で定義できます。
- コンフィグファイルに直接値を追加する。これが最も一般的な方法です。
{{}}
表記を使用して環境変数から値を置き換えます。これには、インフラストラクチャエージェントv1.14.0+が必要です。詳しくはこちら .- シークレット管理の使用。これを使用して、設定ファイルのプレーンテキストで公開されないようにパスワードなどの重要な情報を保護してください。詳細については、シークレット管理を参照してください。
ラベル/カスタム属性
環境変数は、ライセンスキーなどのコンフィグ設定を制御するために使用することができ、その後、Infrastructureエージェントに引き継がれます。この機能の使用方法については、 インフラストラクチャエージェントの設定 を参照してください。メトリクスは、ラベルを使ってさらに装飾することができます。
デフォルトのサンプル・コンフィグ・ファイルにはラベルの例が含まれていますが、必須ではありませんので、お好みで削除、変更、または新しいものを追加することができます。
labels: env: production role: varnish
構成例
例 varnish-config.yml
ファイルの設定。
オンホストインテグレーション設定の一般的な構成の詳細については、設定を参照してください。
データの検索と使用
インフラストラクチャーに統合データを見つけるには、 one.newrelic.com > インフラストラクチャー> サードパーティサービス にアクセスし、Varnish Cache統合リンクの1つを選択します。
New Relic では、Varnish Cache のデータは以下のイベントタイプに添付されます。
ヴァーニッシュ・サンプル
VarnishLockSample
VarnishStorageSample
VarnishMempoolSample
VarnishBackendSample
データの検索・使用方法の詳細については、 インテグレーションデータを理解するを参照してください。
メトリックデータ
Varnish Cacheインテグレーションでは、以下のメトリックデータ属性を収集します。各メトリック名の前には、 bans.
や main.
のように、カテゴリー・インジケータとピリオドが付いています。
ヒント
いくつかのメトリクスは、メトリクス名から想像されるように、合計ではなくレート(1秒あたり)として計算されます。どのメトリクスがレートとして計算されるかの詳細については、 spec.csvファイルを参照してください。.
Varnishのサンプルメトリクス
これらの属性は、VarnishSampleのイベントタイプを照会することで見つけることができます。
メトリック | 説明 |
---|---|
| 最大接続数に達した回数。 |
| バックドへの接続に失敗した数。 |
| リサイクルされたバックエンドコネクションの数。 |
| 再試行されたバックエンド接続の数。 |
| バックエンド接続の再利用数 |
| バックエンドとの接続に成功した数。 |
| バックエンドの状態が「不健全」であったために試行されなかったバックエンド接続の数。 |
| 開始されたバックエンドのフェッチの合計数。 |
| バックエンドへの接続リクエストの総数。 |
| BANリストに追加されたBANのカウンター |
| 完了」と表示された禁止事項の数 |
| カットオフ(ルーラー)の禁止によって殺されたオブジェクトの数。 |
| BANリストから削除されたBANのカウンター |
| 後の同一バンに置き換えられたバンの数。 |
| 永続化された禁止リストが断片化されているため、余分なバイトが発生する。 |
| オブジェクトの検索中に禁止令によって殺されたオブジェクトの数。 |
| ルックアップ時にテストとオブジェクトが相互にテストされた数をカウントします。 |
| バンラーカーがルックアップを待たされた回数。 |
| バンラーカーに殺されたオブジェクトの数。 |
| BAN-LURKERがどれだけBANとオブジェクトをテストしたかのカウント。 |
| BAN-LURKERが実施したテストやオブジェクトの数をカウントします。 |
|
|
| 永続化された禁止リストが使用するバイト数。 |
|
|
| ハッシュ検索の際に、いくつの禁止事項とオブジェクトが互いにテストされたかのカウント。 |
| 猶予付きキャッシュヒットの数。grace付きキャッシュヒットとは、オブジェクトの有効期限が切れたキャッシュヒットのことです。これらのヒットは、 |
| バックエンドサーバーからオブジェクトを取得せずに、クライアントに配信した回数。 |
| クライアントに配信する前に、バックエンドからオブジェクトをフェッチした回数。 |
| ミス・レスポンスに対してヒット・オブジェクトが返された回数。 |
| パス・レスポンスでヒット・オブジェクトが返された回数。 |
| ESI(Edge Side Includes)の解析エラー(ロック解除)。 |
| Edge Side Includes(ESI)のパース警告(ロック解除)を行います。 |
|
|
|
|
|
|
|
|
|
|
|
|
| 体のない |
|
|
|
|
|
|
|
|
| クリティカル・ビット・ツリー・ベースド・ハッシュ(HCB)の挿入数。 |
| ロック付きHCBルックアップの数 |
| ロックのないHCBルックアップの数 |
| より多くのストレージスペースが必要だったが、制限に達した回数。 |
| LRUリストで行われた移動操作の数。 |
| 新しいオブジェクトのためのスペースを確保するために、ストレージから強制的に退避させられたLRU(Lest Recently Used)オブジェクトの数。 |
| バックエンドの数 |
| 禁止事項の数 |
| ビジー状態のobjhdrでスリープ後にキルされたリクエストの数。 |
| 忙しいobjhdrのスリープに送られたリクエストの数。 |
| ビジー状態のobjhdrでスリープ後に起こされたリクエストの数。 |
| 期限切れのオブジェクトの数。 |
| 期限切れのスレッドにメールされたオブジェクトの数。 |
| expiryスレッドが受信したオブジェクトの数。 |
| gunzipの操作回数。 |
| テスト用 gunzip 操作の回数。 |
| gzip操作の回数。 |
| 作られたobjectcore構造体の数。 |
| オブジェクト化された構造体の作成数 |
| 作られたオブジェクト構造体の数 |
| 見られたパス・レッド・リクエストの総数 |
| 見られたパイプセッションの総数 |
| スレッドプールの数。 |
| パージされたオブジェクトの数。 |
| 実行されたパージ操作の数。 |
| ドロップしたリクエストの数 |
| 見たセッションの総数 |
| スレッドを待つセッションキューの長さ。 |
| スレッドごとの統計値がグローバルカウンタに合計された回数。 |
| 行われたシンセティックな回答の合計。 |
| スレッドの総数です。 |
| すべてのプールで作成されたスレッドの合計数。 |
| 全プールで破壊されたスレッドの合計数。 |
| スレッドの作成に失敗した回数。 |
| より多くのスレッドが必要だったが、スレッドプールの制限に達した回数。 |
| 復活していないオブジェクトの数 |
| 子プロセスの稼働時間をミリ秒単位で表します。 |
| 利用可能なVarnish Configuration Languages (VCL)の数。 |
| 廃棄されたVCLの数。 |
| VCLの故障数。 |
| ロードされたVCLの合計数 |
| ロードされたVarnishモジュールの数(VMOD)。 |
| 子プロセスがシグナルにより死亡した回数。 |
| 子プロセスがコア・ダンプを生成した回数。 |
| 子プロセスがクリーンに停止した回数。 |
| 管理プロセスが子供のパニックを捉えた回数。 |
| 子プロセスが開始された回数。 |
| 子プロセスがクリーンに停止した回数。 |
| 管理プロセスの稼働時間(単位:ミリ秒)。 |
| 受信したクライアントのリクエスト数(400エラーを含む)。 |
| 受信したクライアント・リクエストの数(417件のエラーを含む |
| HTTPヘッダーのオーバーフローの数。 |
| パイプセッションでクライアントから転送された総バイト数。 |
| パイプセッションでクライアントに転送された総バイト数。 |
| パイピングされたセッションで受信したリクエストの総バイト数 |
| 送信されたリクエスト・ボディの総量(単位:バイト)。 |
| 送信されたリクエストヘッダーの合計(バイト)。 |
| 受信したグッド・クライアント・リクエストの数 |
| 送信されたレスポンスボディの合計(単位:バイト)。 |
| 送信されたレスポンスヘッダーの合計(バイト)。 |
| エラーでセッションを閉じた数 |
| エラーでセッションが終了した数 |
| エラーでセッションが終了した数 |
| エラーでセッションを閉じた数 |
| エラー |
| 閉鎖されたセッションの総数 |
| エラーで終了したセッションの合計数 |
| スレッドでドロップされたセッションの数 |
| エラーでセッションが終了した数 |
| エラーでセッションを閉じた数 |
|
|
| エラーでセッションが終了した数 |
| エラーでセッションが終了した数 |
| エラー |
| エラーが発生したセッションクローズの数 |
| エラー |
| スレッドにキューイングされているセッションの数。 |
| Session Read Ahead。 |
| エラーでセッションが閉じられた数 |
| エラーでセッションが終了した数 |
| エラー |
| Number of session closes with error |
| エラー |
| 受け付けに成功したセッションの数 |
| ワーカースレッドが不足しているために静かにドロップしたセッションの数。 |
| TCP接続の受け入れに失敗した回数。 |
| 共有メモリ(SHM)のMTXのコンテンションの数。 |
| バッファを通過したSHMサイクルの数 |
| オーバーフローによるSHMフラッシュの回数。 |
| SHMレコードの数 |
| SHMの書込み回数 |
|
|
|
|
| ワークスペースが不足しているため、配信に失敗しました。 |
|
|
|
|
Varnishロックのサンプルメトリクス
これらの属性は、 VarnishLockSample
のイベントタイプを照会することで見つけることができます。
メトリック | 説明 |
---|---|
| 作成されたロックの数。 |
| 破壊されたロックの数 |
| ロック操作の回数。 |
Varnishストレージのサンプルメトリクス
これらの属性は、 VarnishStorageSample
イベントタイプを照会することで見つけることができます。
メトリック | 説明 |
---|---|
| ストレージがストレージセグメントの提供に失敗した回数。 |
| このストレージで割り当てられた総バイト数。 |
| ストレージ割り当ての未処理数。 |
| ストレージが、ストレージセグメントの提供を求められた回数。 |
| ストレージに残っているバイト数。 |
| このストレージに戻ってきた総バイト数 |
| ストレージから割り当てられたバイト数。 |
Varnish mempool サンプルメトリクス
これらの属性は、 VarnishMempoolSample
イベントタイプを照会することで見つけることができます。
メトリック | 説明 |
---|---|
| メモリプールの割り当てサイズ(単位:バイト)。 |
| メモリプールの割り当てを行います。 |
| メモリプールの空き数。 |
| 使用中のメモリプールの数。 |
| メモリプールのカウント |
| プールが干上がった。 |
| プールからの再利用 |
| メモリプールの要求サイズ(単位:バイト)。 |
| プールには多すぎます。 |
| プールからタイムアウト。 |
| リサイクルするには小さすぎる。 |
Varnishバックエンドのサンプルメトリクス
これらの属性は、 VarnishBackendSample
のイベントタイプを照会することで確認できます。
メトリック | 説明 |
---|---|
| バックエンドがビジー状態のため、取り込みができませんでした。 |
| バックエンドへの同時接続数。 |
| 失敗したバックエンド接続の数 |
| 試されなかったバックエンド接続オープンの数。 |
| 幸せな健康診断 |
| バックエンドが健全でないため、取り込みが行われない |
| パイピングされたセッションで送信された総リクエストバイト数です。 |
| パイプセッションでバックエンドから転送された総バイト数。 |
| パイプセッションでバックエンドに転送された総バイト数。 |
| 送信されたバックエンドのリクエストボディの総バイト数。 |
| 送信されたバックエンドリクエストヘッダの総バイト数。 |
| 送信されたバックエンドリクエストの数。 |
| 受信したバックエンドのレスポンスボディの総バイト数。 |
| 受信したバックエンドのレスポンスヘッダの総バイト数。 |
インベントリデータ
Varnish Cacheの統合では、設定パラメータを取得します。 varnish.params
設定ファイルを解析して、有効なパラメータをすべて取得します。
このデータは、 インベントリページ 、 config/varnish ソースの下で利用できます。インベントリデータの詳細については、 Understand integration data を参照してください。
ソースコードのチェック
このインテグレーションは、オープンソース・ソフトウェアです。つまり、 そのソースコードを閲覧して 改良を送ったり、独自のフォークを作成して構築することができます。