Para gerar log detalhado e obter informações de versão e configuração, siga as etapas abaixo. Para obter ajuda sobre resolução de problemas, consulte Não vendo dados ou mensagem de erro.
Se você estiver usando a versão 2 da integração, consulte LogKubernetes na versão 2.
A integração Kubernetes não produz log de nível debug
. Se você estiver fazendo uma investigação mais aprofundada por conta própria ou com o suporte da New Relic, poderá ativar o modo detalhado.
Cuidado
O modo detalhado aumenta significativamente a quantidade de informações enviadas ao arquivo de log. Habilite este modo apenas temporariamente para fins de resolução de problemas e redefina o nível de log quando terminar.
Para obter detalhes detalhados de geração de registros usando o Helm e o gráfico
nri-bundle
, adicione a configuração a seguir ao arquivovalues.yaml
. Você também pode ativar o registro detalhado para todos os subgráficos:# To enable verboseLog for newrelic-infrastructure only# newrelic-infrastructure:# verboseLog: true# To enable verboseLog for all sub-charts# global:# verboseLog: trueDepois de adicionar a configuração desejada, atualize a solução com o seguinte comando:
bash$helm upgrade <RELEASE_NAME> newrelic/nri-bundle \>--namespace <NEWRELIC_NAMESPACE> \>-f values-newrelic.yaml \>[--version fixed-chart-version]Depois de coletar o registro detalhado, reverta a alteração no arquivo
values.yaml
e execute o comandoupgrade
novamente.Para obter detalhes detalhados do log usando um arquivo de manifesto, você precisa definir duas variáveis de ambiente diferentes:
NRIA_VERBOSE="1"
para todos os contêineresagent
eforwarder
; isso ativa o log detalhado do agente. Você pode definir isso abaixoNRIA_LICENSE_KEY
.definir
NRI_KUBERNETES_VERBOSE=true"
em todos os componentes da integração; isso permite o registro detalhado para a integração.env:
name: NRIA_LICENSE_KEY valueFrom: secretKeyRef: key: licenseKey name: newrelic-bundle-newrelic-infrastructure-license
nome: NRIA_VERBOSE value: "1"
Depois de editar o manifesto, atualize a solução com o seguinte comando:
bash$kubectl apply -f your_newrelic_k8s.yaml -n <NEWRELIC_NAMESPACE>Depois de coletar seu log detalhado, reverta a alteração no manifesto e aplique-o novamente.
Existem três componentes diferentes da integração responsáveis pela extração ksm
, controlplane
e kubelet
. Em cada instância existem dois contêineres em execução, sendo um deles raspando os dados e outro encaminhando-os. O agente no componente kubelet
também é responsável por extrair dados do nó e executar a integração. O diagrama abaixo mostra a integração instalada em um cluster com três nós.
Para buscar o log, obtenha o nome do pod do qual você deseja recuperar o log:
$kubectl get pods -n <NEWRELIC_NAMESPACE>
Recuperar o registro:
$kubectl logs <POD_NAME> --all-containers --prefix
Para recuperar o log da execução anterior, adicione a sinalização --previous
. Para obter log de apenas um dos contêineres, remova a flag --all-containers --prefix
e especifique o contêiner com a opção --container
.
Importante
Para obter a melhor experiência com nossa integração com Kubernetes, recomendamos que você use a versão mais recente. Confira as mudanças introduzidas na versão 3.
Ao usar a integração do Kubernetes , o agente de infraestrutura é distribuído como uma imagem Docker que contém o agente de infraestrutura e a integração do Kubernetes . A imagem Docker é marcada com uma versão, e o agente de infraestrutura também possui sua própria versão.
Depois que o agente estiver enviando dados para New Relic, você poderá recuperar as versões do agente de infraestrutura para Kubernetes (a imagem Docker ) que você está executando em seu cluster usando a seguinte consulta NRQL :
FROM K8sContainerSample SELECT uniqueCount(entityId) WHERE containerName LIKE 'agent' FACET clusterName, containerImage
Se o agente não estiver reportando nenhum dado:
Obtenha as versões da integração do New Relic para Kubernetes que você está executando em um cluster usando kubectl
:
$kubectl get pods --all-namespaces -l app.kubernetes.io/name=newrelic-infrastructure -o jsonpath="{.items..spec..containers..image}"
Para recuperar a versão de kube-state-metrics
em execução no cluster, execute a seguinte consulta NRQL :
FROM K8sContainerSample SELECT uniqueCount(entityId) WHERE containerName LIKE '%kube-state-metrics%' facet clusterName, containerImage