Para generar un log detallado y obtener información de versión y configuración, siga los pasos a continuación. Para obtener ayuda sobre la resolución de problemas, consulte No ver datos o mensaje de error.
Si está empleando la versión 2 de la integración, consulte Iniciar sesión enKubernetes versión 2.
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 empleando Helm y el gráfico
nri-bundle
:Agregue la siguiente configuración a su archivo
values.yaml
.# To enable verboseLog for newrelic-infrastructure onlynewrelic-infrastructure:verboseLog: trueTambién puede habilitar el registro detallado para todos los subgráficos:
# To enable verboseLog for all sub-chartsglobal:verboseLog: trueUna vez que agregó la configuración deseada, actualice la solución con este 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:
Debes 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
.Establezca
NRI_KUBERNETES_VERBOSE=true"
en todos los componentes de la integración; esto habilita el registro detallado para la integración.env:- name: NRIA_LICENSE_KEYvalueFrom:secretKeyRef:key: licenseKeyname: newrelic-bundle-newrelic-infrastructure-license- name: NRIA_VERBOSEvalue: "1"
Una vez que editó el manifiesto, actualice la solución con este 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 emplee 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 K8sContainerSampleSELECT uniqueCount(entityId)WHERE containerNameLIKE '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 K8sContainerSampleSELECT uniqueCount(entityId)WHERE containerNameLIKE '%kube-state-metrics%' facet clusterName, containerImage
Para comprobar el registro de nuestro recolector de eventos, ejecute este comando:
$kubectl logs deploy/nr-kube-events kube-events
Para agregar más detalles, habilite el modo detallado agregando verbose: "true"
en la sección config
de su archivo de configuración, ya sea antes o después de clusterName
.
Para verificar el registro del agente responsable de enviar el evento a New Relic, ejecute este comando:
$kubectl logs deploy/nr-kube-events infra-agent