冗長なログを生成したり、バージョンや設定情報を取得するには、以下の手順に従ってください。
Kubernetesの統合では、インフラストラクチャエージェントは、エラーが発生した場合にのみログエントリを追加します。ほとんどの一般的なエラーは、標準(非冗長)ログに表示されます。ご自身で、またはNew Relic Supportでより詳細な調査を行う場合は、verboseモードを有効にすることができます。
注意
Verboseモードでは、ログファイルに送信される情報量が大幅に増加します。トラブルシューティングのためだけに一時的にこのモードを有効にし、終了したらログレベルをリセットしてください。
マニフェストファイルを使用する統合の詳細なログ情報を取得するには
verbose
ログを有効にする:デプロイメントファイルで、NRIA_VERBOSE
の値を1
に設定します。変更したコンフィグレーションを実行して適用する。
bash$kubectl apply -f <var>your_newrelic_k8s</var>.yaml数分間、あるいは十分なアクティビティが発生したと感じられるまで、冗長モードのままにしておきます。
詳細モードを無効にする:
NRIA_VERBOSE
の値を0
に戻します。復元したコンフィグレーションを実行して適用します。
bash$kubectl apply -f <var>your_newrelic_k8s</var>.yaml環境内のノードのリストを取得します。
bash$kubectl get nodes --all-namespacesinfrastructureおよびkube-state-metricsポッドのリストを取得します。
bash$kubectl get pods --all-namespaces -o wide | egrep 'newrelic|kube-state-metrics'
Kubernetesの統合では、インフラストラクチャエージェントは、エラーが発生した場合にのみログエントリを追加します。ほとんどの一般的なエラーは、標準の(冗長でない)ログに表示されます。ご自身で、またはNew Relic Supportでより詳細な調査を行う場合は、verboseモードを有効にすることができます。
注意
Verboseモードでは、ログファイルに送信される情報量が大幅に増加します。トラブルシューティングのためだけに一時的にこのモードを有効にし、終了したらログレベルをリセットしてください。
Helmを使用して統合の詳細なログを取得するには、以下の手順に従います。
冗長なログを有効にする。
bash$helm upgrade -n <namespace> --reuse-values newrelic-bundle --set newrelic-infrastructure.verboseLog=true newrelic/nri-bundle数分間、あるいは十分なアクティビティが発生するまで、冗長モードのままにしておきます。
必要な情報が得られたら、詳細なログを無効にします。
bash$helm upgrade --reuse-values newrelic-bundle --set newrelic-infrastructure.verboseLog=false newrelic/nri-bundleマニフェストファイルを使用したインストールで冗長なログを取得する のセクションのステップ5から構成を復元する手順に従ってください。
重要
Kubernetes統合を最大限に活用するには、統合の最後のバージョンを使用することをお勧めします。バージョン3で導入された変更を確認してください。
Kubernetesインテグレーションの場合、インフラストラクチャエージェントは、インフラストラクチャエージェントとKubernetesインテグレーションを含むDockerイメージとして配布されます。Dockerイメージにはバージョンがタグ付けされており、インフラストラクチャエージェントにもバージョンがあります。
エージェントがNew Relicに正常に情報を送信している場合、以下のNRQLクエリを使用して、クラスタで実行しているKubernetes用のインフラストラクチャエージェント(Dockerイメージ)のバージョンを取得することができます。
FROM K8sContainerSample SELECT uniqueCount(entityId) WHERE containerName LIKE 'agent' FACET clusterName, containerImage
エージェントがデータを報告していない場合:
kubectl
を使用して、クラスターで実行しているKubernetesのNewRelic統合のバージョンを取得します。bash$kubectl get pods --all-namespaces -l name=newrelic-infra -o jsonpath="{.items..spec..containers..image}"このような出力を探してください。
bash$newrelic/infrastructure-k8s:1.0.0
クラスタで稼働しているkube-state-metricsのバージョンを取得するには、以下のNRQLクエリを実行します。
FROM K8sContainerSample SELECT uniqueCount(entityId) WHERE containerName LIKE '%kube-state-metrics%' facet clusterName, containerImage
kube-state-metricsに接続しているポッドのログを取得する。
kube-state-metricsが動作しているノードを取得します。
bash$kubectl get pods --all-namespaces -o wide | grep kube-state-metricsこのような出力を探してください。
bash$kube-system kube-state-metrics-5c6f5cb9b5-pclhh 2/2$Running 4 4d 172.17.0.3 minikubekube-state-metricsと同じノードで稼働しているNew Relicポッドを取得します。
bash$kubectl describe node minikube | grep newrelic-infraこのような出力を探してください。
bash$default newrelic-infra-5wcv6 100m (5%)$0 (0%) 100Mi (5%) 100Mi (5%)を実行して、ノードのログを取得します。
bash$kubectl logs newrelic-infra-5wcv6
コンフィグレーションを取得するには
以下を実行します。
bash$kubectl get pods --all-namespaces | grep "kube-state-metrics"これと似たような回答を探してみてください。
bash$kube-system kube-state-metrics-5c6f5cb9b5-5wf9m 2/2$Running 8 6d1列目のネームスペースを確認します。
bash$kubectl describe service kube-state-metrics -n <var><namespace></var>
マスターノードで動作しているポッドのログを取得するには
マスターと表示されているノードを取得します。
bash$kubectl get nodes -l node-role.kubernetes.io/master=""あるいは。
bash$kubectl get nodes -l kubernetes.io/role="master"このような出力を探してください。
bash$NAME STATUS ROLES AGE VERSION$ip-10-42-24-4.ec2.internal Ready master 42d v1.14.8前のステップで返されたノードのいずれかで稼働しているNew Relicポッドを取得します。
bash$kubectl get pods --field-selector spec.nodeName=ip-10-42-24-4.ec2.internal -l name=newrelic-infra --all-namespacesこのような出力を探してください。
bash$newrelic-infra-whvztを実行して、ノードのログを取得します。
bash$kubectl logs newrelic-infra-whvzt
トラブルシューティングのヘルプについては、 データが表示されない または エラーメッセージ を参照してください。