Para generar un registro detallado y obtener información de versión y configuración, siga los pasos a continuación. Si está utilizando la versión 2 de la integración, pase a esta sección.
La integración Kubernetes no genera un registro de nivel debug
. Si está realizando una investigación más profunda por su cuenta o con el soporte de New Relic, puede habilitar el modo detallado.
Advertencia
El modo detallado aumenta significativamente la cantidad de información enviada al archivo de registro. Habilite este modo solo temporalmente para propósitos de resolución de problemas y restablezca el nivel de registros cuando termine.
Para obtener detalles de registro detallados utilizando Helm y el gráfico
nri-bundle
, agregue la siguiente configuración a su archivovalues.yaml
. También puede habilitar el registro detallado para todos los subgráficos:# To enable verboseLog for newrelic-infrastructure only# newrelic-infrastructure:# verboseLog: true# To enable verboseLog for all sub-charts# global:# verboseLog: trueUna vez que haya agregado la configuración deseada, actualice la solución con el siguiente comando:
bash$helm upgrade <RELEASE_NAME> newrelic/nri-bundle \>--namespace <NEWRELIC_NAMESPACE> \>-f values-newrelic.yaml \>[--version fixed-chart-version]Después de recopilar su registro detallado, revierta el cambio en su archivo
values.yaml
y ejecute el comandoupgrade
nuevamente.Para obtener detalles de registro detallados mediante un archivo de manifiesto, debe configurar dos variables de entorno diferentes:
NRIA_VERBOSE="1"
para todos los contenedoresagent
yforwarder
; esto habilita el registro detallado del agente. Puede configurar esto debajo deNRIA_LICENSE_KEY
.establecer
NRI_KUBERNETES_VERBOSE=true"
en todos los componentes de la integración; esto permite un registro detallado para la integración.env:
name: NRIA_LICENSE_KEY valueFrom: secretKeyRef: key: licenseKey name: newrelic-bundle-newrelic-infrastructure-license
nombre: NRIA_VERBOSE value: "1"
Una vez que haya editado el manifiesto, actualice la solución con el siguiente comando:
bash$kubectl apply -f your_newrelic_k8s.yaml -n <NEWRELIC_NAMESPACE>Después de recopilar su registro detallado, revierta el cambio en el manifiesto y aplíquelo nuevamente.
Hay tres componentes diferentes de la integración que se encargan de extraer ksm
, controlplane
y kubelet
. En cada instancia, hay dos contenedores en ejecución, uno extrae los datos y el otro los reenvía. El agente en el componente kubelet
también está a cargo de extraer datos del nodo y ejecutar la integración. El siguiente diagrama muestra la integración instalada en un clúster con tres nodos.
Para recuperar el registro, obtenga el nombre del pod del que desea recuperar el registro:
$kubectl get pods -n <NEWRELIC_NAMESPACE>
Recuperar el registro:
$kubectl logs <POD_NAME> --all-containers --prefix
Para recuperar el registro de la ejecución anterior, agregue la marca --previous
. Para obtener el registro de solo uno de los contenedores, elimine la marca --all-containers --prefix
y especifique el contenedor con la opción --container
.
Importante
Para obtener la mejor experiencia con nuestra integración de Kubernetes, le recomendamos que utilice la última versión. Consulta los cambios introducidos en la versión 3.
Cuando utiliza la integración Kubernetes , el agente de infraestructura se distribuye como una imagen docker que contiene tanto el agente de infraestructura como la integración Kubernetes . La imagen de la docker es una etiqueta con una versión y el agente de infraestructura también tiene su propia versión.
Una vez que el agente envía datos a New Relic, puede recuperar las versiones del agente de infraestructura para Kubernetes (la imagen de la docker ) que está ejecutando en su clúster mediante la siguiente consulta NRQL :
FROM K8sContainerSample SELECT uniqueCount(entityId) WHERE containerName LIKE 'agent' FACET clusterName, containerImage
Si el agente no informa ningún dato:
Obtenga las versiones de la integración de New Relic para Kubernetes que está ejecutando en un clúster usando kubectl
:
$kubectl get pods --all-namespaces -l app.kubernetes.io/name=newrelic-infrastructure -o jsonpath="{.items..spec..containers..image}"
Para recuperar la versión de kube-state-metrics
ejecutándose en su clúster, ejecute la siguiente consulta NRQL :
FROM K8sContainerSample SELECT uniqueCount(entityId) WHERE containerName LIKE '%kube-state-metrics%' facet clusterName, containerImage
Instrucciones de integración versión 2
Para la integración Kubernetes , el agente de infraestructura solo agrega una entrada log en caso de error. Los errores más comunes se muestran en el registro estándar (no detallado). Si está realizando una investigación más profunda por su cuenta o con el soporte de New Relic, puede habilitar el modo detallado.
Advertencia
El modo detallado aumenta significativamente la cantidad de información enviada al archivo de registro. Habilite este modo solo temporalmente para propósitos de resolución de problemas y restablezca el nivel de registros cuando termine.
Para habilitar el registro detallado mediante un archivo de manifiesto:
Habilite el registro detallado: en el archivo desplegable, establezca el valor de
NRIA_VERBOSE
en1
.Aplique la configuración modificada ejecutando:
bash$kubectl apply -f your_newrelic_k8s.yamlDéjelo en modo detallado durante unos minutos o hasta que se haya producido suficiente actividad.
Deshabilitar el modo detallado: establezca el valor
NRIA_VERBOSE
nuevamente en0
.Aplique la configuración restaurada ejecutando:
bash$kubectl apply -f your_newrelic_k8s.yamlObtenga una lista de nodos en el entorno:
bash$kubectl get nodes --all-namespacesObtenga una lista de infraestructura y kube-state-métrica pod:
bash$kubectl get pods --all-namespaces -o wide | egrep 'newrelic|kube-state-metrics'Obtenga el registro del pod que se conecta a
kube-state-metrics
.Recuperar la configuración del servicio
kube-state-metrics
.
Para la integración Kubernetes , el agente de infraestructura solo agrega una entrada log en caso de error. Los errores más comunes se muestran en el registro estándar (no detallado). Si está realizando una investigación más profunda por su cuenta o con el soporte de New Relic, puede habilitar el modo detallado.
Advertencia
El modo detallado aumenta significativamente la cantidad de información enviada al archivo de registro. Habilite este modo solo temporalmente para propósitos de resolución de problemas y restablezca el nivel de registros cuando termine.
Para habilitar el registro detallado usando Helm:
Ejecute el siguiente comando:
bash$helm upgrade -n <namespace> --reuse-values newrelic-bundle --set newrelic-infrastructure.verboseLog=true newrelic/nri-bundleDéjelo en modo detallado durante unos minutos o hasta que se haya producido suficiente actividad.
Cuando tenga la información que necesita, deshabilite el registro detallado:
bash$helm upgrade --reuse-values newrelic-bundle --set newrelic-infrastructure.verboseLog=false newrelic/nri-bundleAplique la configuración restaurada ejecutando:
bash$kubectl apply -f your_newrelic_k8s.yamlObtenga una lista de nodos en el entorno:
bash$kubectl get nodes --all-namespacesObtenga una lista de infraestructura y kube-state-métrica pod:
bash$kubectl get pods --all-namespaces -o wide | egrep 'newrelic|kube-state-metrics'Obtenga el registro del pod que se conecta a
kube-state-metrics
.Recuperar la configuración del servicio
kube-state-metrics
.
Para obtener el registro del pod que se conecta a kube-state-metrics
:
Ejecute el siguiente comando:
bash$kubectl get pods --all-namespaces -o wide | grep kube-state-metricsBusque un resultado similar a este:
bash$kube-system kube-state-metrics-5c6f5cb9b5-pclhh 2/2$Running 4 4d 172.17.0.3 minikubeObtenga el pod New Relic que se ejecuta en el mismo nodo que
kube-state-metrics
:bash$kubectl describe node minikube | grep newrelic-infraBusque un resultado similar a este:
bash$default newrelic-infra-5wcv6 100m (5%)$0 (0%) 100Mi (5%) 100Mi (5%)Recupere el registro de los nodos ejecutando:
bash$kubectl logs newrelic-infra-5wcv6
Para obtener el registro de un pod que se ejecuta en un nodo maestro:
Obtenga los nodos etiquetados como maestros:
bash$kubectl get nodes -l node-role.kubernetes.io/master=""O,
bash$kubectl get nodes -l kubernetes.io/role="master"Busque un resultado similar a este:
bash$NAME STATUS ROLES AGE VERSION$ip-10-42-24-4.ec2.internal Ready master 42d v1.14.8Obtenga el pod New Relic que se está ejecutando en uno de los nodos devueltos en el paso anterior:
bash$kubectl get pods --field-selector spec.nodeName=ip-10-42-24-4.ec2.internal -l name=newrelic-infra --all-namespacesBusque un resultado similar a este:
bash$newrelic-infra-whvztRecupere el registro de los nodos ejecutando:
bash$kubectl logs newrelic-infra-whvzt
Para obtener ayuda sobre la resolución de problemas, consulte No ver datos o mensaje de error.