OpenTelemetry Collector を使用して、Squid Cache Manager に関するメトリクスを収集できます。コレクターは、テレメトリ データを収集、処理し、New Relic (または任意の可観測性バックエンド) にエクスポートする OpenTelemetry のコンポーネントです。
以下の手順を実行して、Squid からメトリクスを収集します。
ステップ 1: 無料アカウントにサインアップします (まだサインアップしていない場合)。
ステップ 2: 前提条件
squid.conf
ファイルで許可を設定して、Squid Prometheus エクスポーターが実行されるホストが Squid キャッシュ マネージャー にアクセスできるようにします。
squid.conf
の例:
acl localnet src 192.168.0.0/16
# We would allow that ip range to access the manager by setting this directive
http_access allow localnet manager
Squid キャッシュ マネージャー用のSquid Prometheus エクスポーターをインストールし 、監視する Squid キャッシュ マネージャーを指すように設定します。
エクスポーターの実行例:
squid-exporter -squid-hostname localhost -squid-port 3128 -listen ":9301" -squid-login admin -squid-password admin
ヒント
Squid Prometheus エクスポーター v1.10.4 以降が必要です。利用可能な最新バージョンをお勧めします。
ステップ 3: Opentelemetry コレクターをインストールする
Opentelemetry docsに従って、Opentelemetry コレクターをダウンロードしてインストールします。
以下の例からconfig.yaml
という名前の新しいファイルを作成します。
ファイル内の次のキーを独自の値に置き換えます。
イカ:
SQUID_EXPORTER_HOSTNAME
SQUID_EXPORTER_PORT
SQUID_EXPORTER_METRICS_PATH
SQUID_CACHEMGR
New Relic ライセンス キー:
SQUID_CACHEMGR
エンティティを作成し、関連するダッシュボードを実行するには、ラベル squid_cachemgr: SQUID_CACHEMGR
(SQUID_CACHEMGR は一意の識別子である必要があります) が必要です。
- targets: [ "SQUID_EXPORTER_HOSTNAME:SQUID_EXPORTER_PORT" ]
squid_cachemgr: SQUID_CACHEMGR
metrics_path: SQUID_EXPORTER_METRICS_PATH
- source_labels: [__name__]
endpoint: https://otlp.nr-data.net:4317
api-key: NEW_RELIC_LICENSE_KEY
processors: [batch, memory_limiter]
追加の構成の詳細については 、Opentelemetry Collector のドキュメント と Prometheus 構成のドキュメント を確認してください。
ステップ 4: コレクターを実行する
Opentelemetry コレクターを実行します (実行方法は、選択したインストール方法によって異なる場合があります)。例:
/usr/bin/otelcol --config ./config.yaml
ステップ 5: データを見つけて使用する
データを調べる
メトリクス エクスプローラーを 使用して、取り込まれているメトリクスを確認できます。Squid Prometheus エクスポータによって報告されるすべての指標は、 SQUID_CACHEMGR
に設定された名前で squid_
プレフィックスで始まる SQUID_CACHEMGR
エンティティにグループ化されます。
メトリックデータ
これらは、squid キャッシュ マネージャーによって報告され、スクレイピングされる 2 つのグループのメトリックです。
名前 | メトリックタイプ | 説明 |
squid_client_http_errors_total
| counter | クライアント http エラーの総数 |
squid_client_http_hit_kbytes_out_bytes_total
| counter | クライアント キャッシュ ヒットの合計キロバイト数 |
squid_client_http_hits_total
| counter | クライアント キャッシュ ヒットの総数 |
squid_client_http_kbytes_in_kbytes_total
| counter | 受信したクライアントの総キロバイト数 |
squid_client_http_kbytes_out_kbytes_total
| counter | 転送されたクライアントの合計キロバイト数 |
squid_client_http_requests_total
| counter | クライアント要求の総数 |
squid_exporter_build_info
| ゲージ | バージョン、リビジョン、ブランチ、および squid_exporter の作成元である goversion によってラベル付けされた定数「1」値を持つメトリック。 |
squid_server_all_errors_total
| counter | サーバーオールエラーの総数 |
squid_server_all_kbytes_in_kbytes_total
| counter | サーバーが受信した総キロバイト数 |
squid_server_all_kbytes_out_kbytes_total
| counter | 転送されたサーバーの合計キロバイト数 |
squid_server_all_requests_total
| counter | サーバー全リクエストの総数 |
squid_server_ftp_errors_total
| counter | サーバーの ftp エラーの総数 |
squid_server_ftp_kbytes_in_kbytes_total
| counter | 受信したサーバー ftp キロバイトの総数 |
squid_server_ftp_kbytes_out_kbytes_total
| counter | 転送されたサーバー ftp キロバイトの総数 |
squid_server_ftp_requests_total
| counter | サーバーの ftp 要求の総数 |
squid_server_http_errors_total
| counter | サーバーの http エラーの総数 |
squid_server_http_kbytes_in_kbytes_total
| counter | 受信したサーバー http キロバイトの総数 |
squid_server_http_kbytes_out_kbytes_total
| counter | 転送されたサーバー http キロバイトの総数 |
squid_server_http_requests_total
| counter | サーバーの http リクエストの総数 |
squid_server_other_errors_total
| counter | サーバーのその他のエラーの総数 |
squid_server_other_kbytes_in_kbytes_total
| counter | 受信したサーバーのその他のキロバイトの総数 |
squid_server_other_kbytes_out_kbytes_total
| counter | 転送されたサーバーのその他のキロバイトの総数 |
squid_server_other_requests_total
| counter | サーバーその他のリクエストの総数 |
squid_swap_files_cleaned_total
| counter | 定期的なクリーンアップ手順によって削除された孤立したキャッシュ ファイルの数 |
squid_swap_ins_total
| counter | ディスクから読み取られたオブジェクトの数 |
squid_swap_outs_total
| counter | ディスクに保存されたオブジェクトの数 |
squid_up
| ゲージ | squid の最後のクエリは成功しましたか? |
名前 | メトリックタイプ |
squid_Cache_Hits_5
| counter | サービス時間パーセンタイル 5 分 |
squid_Cache_Hits_10
| counter | サービス時間パーセンタイル 5 分 |
squid_Cache_Hits_15
| counter | サービス時間パーセンタイル 5 分 |
squid_Cache_Hits_20
| counter | サービス時間パーセンタイル 5 分 |
squid_Cache_Hits_25
| counter | サービス時間パーセンタイル 5 分 |
squid_Cache_Hits_30
| counter | サービス時間パーセンタイル 5 分 |
squid_Cache_Hits_35
| counter | サービス時間パーセンタイル 5 分 |
squid_Cache_Hits_40
| counter | サービス時間パーセンタイル 5 分 |
squid_Cache_Hits_45
| counter | サービス時間パーセンタイル 5 分 |
squid_Cache_Hits_50
| counter | サービス時間パーセンタイル 5 分 |
squid_Cache_Hits_55
| counter | サービス時間パーセンタイル 5 分 |
squid_Cache_Hits_60
| counter | サービス時間パーセンタイル 5 分 |
squid_Cache_Hits_65
| counter | サービス時間パーセンタイル 5 分 |
squid_Cache_Hits_70
| counter | サービス時間パーセンタイル 5 分 |
squid_Cache_Hits_75
| counter | サービス時間パーセンタイル 5 分 |
squid_Cache_Hits_80
| counter | サービス時間パーセンタイル 5 分 |
squid_Cache_Hits_85
| counter | サービス時間パーセンタイル 5 分 |
squid_Cache_Hits_90
| counter | サービス時間パーセンタイル 5 分 |
squid_Cache_Hits_95
| counter | サービス時間パーセンタイル 5 分 |
squid_Cache_Misses_5
| counter | サービス時間パーセンタイル 5 分 |
squid_Cache_Misses_10
| counter | サービス時間パーセンタイル 5 分 |
squid_Cache_Misses_15
| counter | サービス時間パーセンタイル 5 分 |
squid_Cache_Misses_20
| counter | サービス時間パーセンタイル 5 分 |
squid_Cache_Misses_25
| counter | サービス時間パーセンタイル 5 分 |
squid_Cache_Misses_30
| counter | サービス時間パーセンタイル 5 分 |
squid_Cache_Misses_35
| counter | サービス時間パーセンタイル 5 分 |
squid_Cache_Misses_40
| counter | サービス時間パーセンタイル 5 分 |
squid_Cache_Misses_45
| counter | サービス時間パーセンタイル 5 分 |
squid_Cache_Misses_50
| counter | サービス時間パーセンタイル 5 分 |
squid_Cache_Misses_55
| counter | サービス時間パーセンタイル 5 分 |
squid_Cache_Misses_60
| counter | サービス時間パーセンタイル 5 分 |
squid_Cache_Misses_65
| counter | サービス時間パーセンタイル 5 分 |
squid_Cache_Misses_70
| counter | サービス時間パーセンタイル 5 分 |
squid_Cache_Misses_75
| counter | サービス時間パーセンタイル 5 分 |
squid_Cache_Misses_80
| counter | サービス時間パーセンタイル 5 分 |
squid_Cache_Misses_85
| counter | サービス時間パーセンタイル 5 分 |
squid_Cache_Misses_90
| counter | サービス時間パーセンタイル 5 分 |
squid_Cache_Misses_95
| counter | サービス時間パーセンタイル 5 分 |
squid_DNS_Lookups_5
| counter | サービス時間パーセンタイル 5 分 |
squid_DNS_Lookups_10
| counter | サービス時間パーセンタイル 5 分 |
squid_DNS_Lookups_15
| counter | サービス時間パーセンタイル 5 分 |
squid_DNS_Lookups_20
| counter | サービス時間パーセンタイル 5 分 |
squid_DNS_Lookups_25
| counter | サービス時間パーセンタイル 5 分 |
squid_DNS_Lookups_30
| counter | サービス時間パーセンタイル 5 分 |
squid_DNS_Lookups_35
| counter | サービス時間パーセンタイル 5 分 |
squid_DNS_Lookups_40
| counter | サービス時間パーセンタイル 5 分 |
squid_DNS_Lookups_45
| counter | サービス時間パーセンタイル 5 分 |
squid_DNS_Lookups_50
| counter | サービス時間パーセンタイル 5 分 |
squid_DNS_Lookups_55
| counter | サービス時間パーセンタイル 5 分 |
squid_DNS_Lookups_60
| counter | サービス時間パーセンタイル 5 分 |
squid_DNS_Lookups_65
| counter | サービス時間パーセンタイル 5 分 |
squid_DNS_Lookups_70
| counter | サービス時間パーセンタイル 5 分 |
squid_DNS_Lookups_75
| counter | サービス時間パーセンタイル 5 分 |
squid_DNS_Lookups_80
| counter | サービス時間パーセンタイル 5 分 |
squid_DNS_Lookups_85
| counter | サービス時間パーセンタイル 5 分 |
squid_DNS_Lookups_90
| counter | サービス時間パーセンタイル 5 分 |
squid_DNS_Lookups_95
| counter | サービス時間パーセンタイル 5 分 |
squid_HTTP_Requests_All_5
| counter | サービス時間パーセンタイル 5 分 |
squid_HTTP_Requests_All_10
| counter | サービス時間パーセンタイル 5 分 |
squid_HTTP_Requests_All_15
| counter | サービス時間パーセンタイル 5 分 |
squid_HTTP_Requests_All_20
| counter | サービス時間パーセンタイル 5 分 |
squid_HTTP_Requests_All_25
| counter | サービス時間パーセンタイル 5 分 |
squid_HTTP_Requests_All_30
| counter | サービス時間パーセンタイル 5 分 |
squid_HTTP_Requests_All_35
| counter | サービス時間パーセンタイル 5 分 |
squid_HTTP_Requests_All_40
| counter | サービス時間パーセンタイル 5 分 |
squid_HTTP_Requests_All_45
| counter | サービス時間パーセンタイル 5 分 |
squid_HTTP_Requests_All_5
| counter | サービス時間パーセンタイル 5 分 |
squid_HTTP_Requests_All_50
| counter | サービス時間パーセンタイル 5 分 |
squid_HTTP_Requests_All_55
| counter | サービス時間パーセンタイル 5 分 |
squid_HTTP_Requests_All_60
| counter | サービス時間パーセンタイル 5 分 |
squid_HTTP_Requests_All_65
| counter | サービス時間パーセンタイル 5 分 |
squid_HTTP_Requests_All_70
| counter | サービス時間パーセンタイル 5 分 |
squid_HTTP_Requests_All_75
| counter | サービス時間パーセンタイル 5 分 |
squid_HTTP_Requests_All_80
| counter | サービス時間パーセンタイル 5 分 |
squid_HTTP_Requests_All_85
| counter | サービス時間パーセンタイル 5 分 |
squid_HTTP_Requests_All_90
| counter | サービス時間パーセンタイル 5 分 |
squid_HTTP_Requests_All_95
| counter | サービス時間パーセンタイル 5 分 |
squid_Near_Hits_5
| counter | サービス時間パーセンタイル 5 分 |
squid_Near_Hits_10
| counter | サービス時間パーセンタイル 5 分 |
squid_Near_Hits_15
| counter | サービス時間パーセンタイル 5 分 |
squid_Near_Hits_20
| counter | サービス時間パーセンタイル 5 分 |
squid_Near_Hits_25
| counter | サービス時間パーセンタイル 5 分 |
squid_Near_Hits_30
| counter | サービス時間パーセンタイル 5 分 |
squid_Near_Hits_35
| counter | サービス時間パーセンタイル 5 分 |
squid_Near_Hits_40
| counter | サービス時間パーセンタイル 5 分 |
squid_Near_Hits_45
| counter | サービス時間パーセンタイル 5 分 |
squid_Near_Hits_50
| counter | サービス時間パーセンタイル 5 分 |
squid_Near_Hits_55
| counter | サービス時間パーセンタイル 5 分 |
squid_Near_Hits_60
| counter | サービス時間パーセンタイル 5 分 |
squid_Near_Hits_65
| counter | サービス時間パーセンタイル 5 分 |
squid_Near_Hits_70
| counter | サービス時間パーセンタイル 5 分 |
squid_Near_Hits_75
| counter | サービス時間パーセンタイル 5 分 |
squid_Near_Hits_80
| counter | サービス時間パーセンタイル 5 分 |
squid_Near_Hits_85
| counter | サービス時間パーセンタイル 5 分 |
squid_Near_Hits_90
| counter | サービス時間パーセンタイル 5 分 |
squid_Near_Hits_95
| counter | サービス時間パーセンタイル 5 分 |
トラブルシューティング
Squid ダッシュボードは累積合計メトリックを使用しますが、 Opentelemetry 累積合計メトリックの移行ガイドに記載されているように、累積合計を使用するアカウントは移行 EOL までそれらを ゲージ として報告し続けます。
その場合は、 移行ガイドで推奨されているように、移行 EOL の前に累積カウンターとしてレポートするために、squid メトリクスに属性を一時的に含める必要があります。
これを行うには、Opentelemetry コレクター構成の squid パイプラインで Opentelemetry 属性プロセッサーを使用できます。例:
- key: newrelic_metric_type
Squids のダッシュボードとエンティティは、Squid の Prometheus エクスポータによってレポートされるメトリクスと一致するように、Prometheus メトリクスの命名規則を使用します。ただし、OpenTelemetry Prometheus レシーバーは、 v076.3以降、デフォルトで OpenTelemetry 命名規則を使用します。
Prometheus メトリクスの命名規則を使用するには、OpenTelemetry コレクターの実行時に pkg.translator.prometheus.NormalizeName
feature-gate
を無効にします。
$otelcol-contrib --config ./config.yaml --feature-gates=-pkg.translator.prometheus.NormalizeName