Dica
Este tutorial se aplica à integração do Kubernetes v3 instalada usando Helm. Para obter instruções sobre como fazer isso na v2 usando o helm, verifique esta seção. Para verificar como configurar serviços no manifesto simples, confira esta outra página.
Se você tiver um serviço em execução no Kubernetes e for um serviço que oferecemos suporte, você poderá ativar o monitoramento desse serviço adicionando uma seção de configuração para essa integração à configuração da integração do Kubernetes.
Este tutorial mostra como habilitar o monitoramento para um serviço Redis em execução no Kubernetes PHP Guestbook. Para obter o procedimento geral, consulte Monitorar um serviço em execução do Kubernetes.
O que você precisa
- Consulte os requisitos gerais para este recurso, incluindo os serviços suportados.
- A ferramenta de linha de comando
kubectl
deve ser configurada para se comunicar com seu cluster. Se você não tiver um cluster, poderá criar um usando Minikube.
Etapa 1: configurar um exemplo de aplicativo Redis
Este tutorial se baseia no tutorial do Kubernetes para implantar um aplicativo PHP Guestbook com Redis. Ignore o tutorial do Kubernetes e execute o seguinte comando para configurar o aplicativo necessário para nosso tutorial:
$kubectl create -f https://raw.githubusercontent.com/kubernetes/examples/master/guestbook/all-in-one/guestbook-all-in-one.yaml
Se desejar concluir primeiro o tutorial do Kubernetes, siga as instruções do tutorial, mas não siga as instruções na seção Cleaning up .
Passo 2: Habilitar monitoramento da instância Redis
O aplicativo PHP Guestbook possui três instâncias Redis : uma instância mestre e duas instâncias de réplica. Cada instância é marcada com um rótulo onde app=redis
. Neste exemplo, estamos usando nossa integração de monitoramento Redis. Ele pode monitor a instância mestre e a réplica do Redis, portanto, não precisamos distinguir entre elas.
No arquivo YAML
values-newrelic.yaml
do nosso gráfico do leme, você precisa atualizar a seçãonewrelic-infrastructure.integrations
. Na lista de configurações de integração, obtenha o YAML de integração do Redis e adicione-o à configuração do Kubernetes. A configuração específica do Redis está contida na chaveredis-config.yml:
:newrelic-infrastructure:integrations:redis-config.yml:# Run auto discovery to find pods with label "app=redis"# https://docs.newrelic.com/docs/integrations/host-integrations/installation/container-auto-discoverydiscovery:command:# Run discovery for Kubernetes. Use the following optional arguments:# --namespaces: Comma separated list of namespaces to discover pods on# --tls: Use secure (TLS) connection# --port: Port used to connect to the kubelet. Default is 10255exec: /var/db/newrelic-infra/nri-discovery-kubernetes --tls --port 10250match:label.app: redisintegrations:- name: nri-redisenv:# using the discovered IP as the hostname addressHOSTNAME: ${discovery.ip}PORT: 6379KEYS: '{"0":["<KEY_1>"],"1":["<KEY_2>"]}'labels:env: productionImplantar o serviço atualizado:
bash$helm upgrade --install newrelic newrelic/nri-bundle \>--namespace newrelic --create-namespace \>-f values-newrelic.yaml \>--develVocê poderá ver o seguinte no log do pod
nrk8s-kubelet
que está programado no mesmo nó do serviço que deseja monitor:bash$kubectl logs -n newrelic newrelic-nrk8s-kubelet-xxxxx agenttime="2019-12-23T17:37:07Z" level=info msg="Integration health check starting" instance=redis-metrics integration=com.newrelic.redis prefix=integration/com.newrelic.redis working-dir=/var/db/newrelic-infra/newrelic-integrationstime="2019-12-23T17:37:07Z" level=info msg="Integration health check finished with success" instance=redis-metrics integration=com.newrelic.redis prefix=integration/com.newrelic.redis working-dir=/var/db/newrelic-infra/newrelic-integrations
Se não houver erros, você deverá ver os dados Redis na interface da infraestrutura. Para encontrar o painel Redis , acesse one.newrelic.com > All capabilities > Infrastructure > Third party services e selecione o dashboard Redis .
Para obter o procedimento geral de como monitor serviços em execução no Kubernetes, incluindo mais detalhes sobre como funciona a configuração, consulte monitor um serviço em execução Kubernetes.