Para gerar um log detalhado e obter informações de versão e configuração, siga os passos 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 do registro usando o Helm e o gráfico
nri-bundle
:Adicione a seguinte configuração ao seu arquivo
values.yaml
.# To enable verboseLog for newrelic-infrastructure onlynewrelic-infrastructure:verboseLog: trueVocê também pode habilitar o registro detalhado para todos os subgráficos:
# To enable verboseLog for all sub-chartsglobal:verboseLog: trueDepois de adicionar a configuração desejada, atualize a solução com este 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 registro 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
.Defina
NRI_KUBERNETES_VERBOSE=true"
em todos os componentes da integração; isso permite o registro detalhado para a integração.env:- name: NRIA_LICENSE_KEYvalueFrom:secretKeyRef:key: licenseKeyname: newrelic-bundle-newrelic-infrastructure-license- name: NRIA_VERBOSEvalue: "1"
Depois de editar o manifesto, atualize a solução com este 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 K8sContainerSampleSELECT uniqueCount(entityId)WHERE containerNameLIKE '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 K8sContainerSampleSELECT uniqueCount(entityId)WHERE containerNameLIKE '%kube-state-metrics%' facet clusterName, containerImage
Para verificar o log do nosso evento coletor, execute este comando:
$kubectl logs deploy/nr-kube-events kube-events
Para adicionar mais detalhes, ative o modo detalhado adicionando verbose: "true"
na seção config
do seu arquivo de configuração, antes ou depois de clusterName
.
Para verificar o log do agente responsável pelo envio do evento para New Relic, execute este comando:
$kubectl logs deploy/nr-kube-events infra-agent