詳細なログを生成し、バージョンと設定情報を取得するには、次の手順に従います。 トラブルシューティングのヘルプについては、 「データが表示されない」または「エラーメッセージ」を参照してください。
インテグレーションのバージョン 2 を使用している場合は、 バージョン 2 のKubernetesを参照してください。
Kubernetes 統合では、 debug
レベルのログは生成されません。独自で、または New Relic サポートと協力してより詳細な調査を行っている場合は、冗長モードを有効にすることができます。
注意
詳細モードでは、ログ ファイルに送信される情報の量が大幅に増加します。このモードはトラブルシューティングの目的で一時的にのみ有効にし、終了したらログ レベルをリセットしてください。
Helm と
nri-bundle
チャートを使用して詳細なログ記録を取得するには:次の設定を
values.yaml
ファイルに追加します。# To enable verboseLog for newrelic-infrastructure onlynewrelic-infrastructure:verboseLog: trueすべてのサブチャートに対して詳細なログ記録を有効にすることもできます。
# To enable verboseLog for all sub-chartsglobal:verboseLog: true必要な設定を追加したら、次のコマンドでソリューションをアップグレードします。
bash$helm upgrade RELEASE_NAME newrelic/nri-bundle \>--namespace NEWRELIC_NAMESPACE \>-f values-newrelic.yaml \>[--version fixed-chart-version]詳細ログを収集した後、
values.yaml
ファイルの変更を元に戻し、upgrade
コマンドを再度実行します。
マニフェスト ファイルを使用して詳細なログの詳細を取得するには:
2 つの異なる環境変数を設定する必要があります。
NRIA_VERBOSE="1"
すべてのagent
コンテナとforwarder
コンテナ。これにより、エージェントの詳細ログが有効になります。これはNRIA_LICENSE_KEY
の下で設定できます。統合のすべてのコンポーネントに
NRI_KUBERNETES_VERBOSE=true"
を設定します。これにより、統合のための詳細なログが有効になります。env:- name: NRIA_LICENSE_KEYvalueFrom:secretKeyRef:key: licenseKeyname: newrelic-bundle-newrelic-infrastructure-license- name: NRIA_VERBOSEvalue: "1"
マニフェストを編集したら、次のコマンドでソリューションをアップグレードします。
bash$kubectl apply -f your_newrelic_k8s.yaml -n NEWRELIC_NAMESPACE詳細ログを収集した後、マニフェストの変更を元に戻し、マニフェストを再度適用します。
統合には ksm
、 controlplane
、および kubelet
のスクレイピングを担当する 3 つの異なるコンポーネントがあります。各インスタンスでは 2 つのコンテナが実行されており、1 つはデータをスクレイピングし、もう 1 つはデータを転送します。kubelet
コンポーネントのエージェントは、ノード データのスクレイピングと統合の実行も担当します。以下の図は、3 つのノードを持つクラスターにインストールされた統合を示しています。
ログを取得するには、ログを取得するポッドの名前を取得します。
$kubectl get pods -n NEWRELIC_NAMESPACE
ログを取得します。
$kubectl logs POD_NAME --all-containers --prefix
前回の実行からログを取得するには、 --previous
フラグを追加します。1 つのコンテナのみからログを取得するには、 --all-containers --prefix
フラグを削除し、 --container
オプションでコンテナを指定します。
重要
Kubernetesインテグレーションを最大限に活用するには、最新バージョンを使用することをお勧めします。 バージョン 3 で導入された変更点を確認してください。
Kubernetes 統合を使用する場合、インフラストラクチャ エージェントは、インフラストラクチャ エージェントと Kubernetes 統合の両方を含む Docker イメージとして配布されます。Docker イメージにはバージョンのタグが付けられており、インフラストラクチャ エージェントにも独自のバージョンがあります。
エージェントが New Relic にデータを送信すると、次の NRQL クエリを使用して、クラスター内で実行している Kubernetes のインフラストラクチャ エージェント (Docker イメージ) のバージョンを取得できます。
FROM K8sContainerSampleSELECT uniqueCount(entityId)WHERE containerName LIKE '%agent%'FACET clusterName, containerImage
エージェントがデータを報告していない場合:
kubectl
を使用して、クラスターで実行しているKubernetesのNewRelic統合のバージョンを取得します。
$kubectl get pods --all-namespaces -l app.kubernetes.io/name=newrelic-infrastructure \> -o jsonpath="{.items..spec..containers..image}"
クラスター上で実行されている kube-state-metrics
のバージョンを取得するには、次の NRQL クエリを実行します。
FROM K8sContainerSampleSELECT uniqueCount(entityId)WHERE containerName LIKE '%kube-state-metrics%' FACET clusterName, containerImage
イベント コレクターのログを確認するには、次のコマンドを実行します。
$kubectl logs deploy/nr-kube-events kube-events
詳細を追加するには、設定ファイルのconfig
セクションにclusterName
の前または後にverbose: "true"
を追加して、冗長モードを有効にします。
New Relic にイベントを送信するエージェントのログを確認するには、次のコマンドを実行します。
$kubectl logs deploy/nr-kube-events infra-agent