ATP が正しく動作していることを確認し、ホストおよびKubernetes環境全体で一般的な設定の問題をトラブルシューティングする方法を学習します。
ATPが機能していることを確認する
ATP をインストールした後、書き込みビルダーで次の書き込みを実行して、 New Relicプロセス データを受信していることを確認します。
最近のプロセスのメトリクスを表示するには:
FROM Metric SELECT *WHERE metricName LIKE 'process.%'LIMIT 100固有のプロセス メトリクス タイプをカウントするには:
FROM Metric SELECT uniqueCount(metricName)WHERE metricName LIKE 'process.%'
クラスタの最近のプロセス メトリクスを表示するには:
FROM Metric SELECT *WHERE k8s.cluster.name='your-cluster-name'AND metricName LIKE 'process.%'LIMIT 100クラスタの一意のプロセス メトリクス タイプをカウントするには:
FROM Metric SELECT uniqueCount(metricName)WHERE k8s.cluster.name='your-cluster-name'AND metricName LIKE 'process.%'
ATPの問題のトラブルシューティング
問題: すべてのプロセスのメトリクスが送信され、フィルタリングされません。
- ATP がパイプライン プロセッサ リストに含まれていることを確認します。
metric_thresholdsが構成されているかどうかを確認してください。- プロセスのメトリクスが収集されていることを確認してください。
- ATP 初期化エラーがないかコレクター ログを確認します。
ATP が有効になっていることを確認します。
bash$kubectl get configmap -n newrelic nr-k8s-otel-collector-daemonset-config -o yaml | grep adaptivetelemetryATP がパイプライン内にあるかどうかを確認します:
metrics/nrパイプラインでadaptivetelemetryを探します正しいコレクター イメージを使用していることを確認します。
bash$kubectl get daemonset -n newrelic nr-k8s-otel-collector-daemonset -o yaml | grep "image:"予想:
newrelic/nrdot-collector:11.0(またはそれ以降)\ ない:newrelic/nrdot-collector-k8s:1.11.0values.yamlまたは ConfigMap でenable_atpがtrueに設定されていることを確認してください
問題: 時間の経過とともにCollectorメモリが増加する
解決策: 保持設定を調整します。
processors: adaptivetelemetry: retention_minutes: 15 # Reduce from default 30問題: テレメトリーに期待されるプロセスがありません
解決策: プロセスをリストに追加するには、完全なパスを使用する必要があります。パス区切り文字のないエントリはどのプロセスにも一致しません。例えば:
processors: adaptivetelemetry: include_process_list: - "/usr/bin/myapp" # Always captured regardless of thresholds問題: 以前は ATP データが表示されていましたが、現在は表示されません。これはカーディナリティ制限に達したことが原因である可能性があります。ATP はテレメトリの量を減らすために多くのプロセスを除外しますが、一意のプロセスの数が非常に多い場合は、依然として制限に達する可能性があります。 カーディナリティの使用状況を監視してこれを追跡できます。
解決:
トラブルシューティングを行うには、New Relic のカーディナリティ管理ページにアクセスして、カーディナリティ制限に達していないかどうかを確認します。制限を超えた場合は、 カーディナリティ制限を増やすことができます。
ヒント
この問題が繰り返し発生する場合は、ATP のmetric_thresholdsを増やして、より多くのプロセスをフィルターし、受信メトリックの量を減らすこともできます。 これにより、将来的にカーディナリティ制限に達するのを防ぐことができます。たとえば、より多くのリソースを消費するプロセスのみをキャプチャするために、CPU とメモリの使用率を増やすことができます。
processors: adaptivetelemetry: metric_thresholds: process.cpu.utilization: 0.10 # Increase from 0.05 to 0.10 (10% CPU) process.memory.utilization: 0.10 # Filter out more processes設定要件
ATP の永続ファイル機能を有効にするには、昇格された権限でバイナリを実行する必要があります。
Helm チャート内のdaemonset.yamlファイルに次の内容を追加します。
hostPID: trueOpenTelemetry ホストメトリック レシーバーによるdisk.ioデータ収集を有効にするには、 /proc/[PID]/ioに保存されている io データにルート ユーザー アクセスが必要であるため、昇格された権限が必要です。これは ATP の要件ではありません。ATP は OpenTelemetry によってすでに収集されているデータのみを処理します。
Helm チャートに次のセキュリティ コンテキストを追加します。
securityContext: allowPrivilegeEscalation: true privileged: true readOnlyRootFilesystem: false runAsNonRoot: false runAsUser: 0