O Anthos Service Mesh 1.5 chegou ao fim da vida útil e não é mais compatível. Para informações sobre upgrade, consulte Como fazer upgrade de versões anteriores. Veja a documentação mais recente ou selecione outra versão disponível:

Como funciona o Anthos Service Mesh no Console do Cloud

As páginas do Anthos Service Mesh no Console do Google Cloud fornecem métricas, tabelas e gráficos resumidos e detalhados que permitem observar o comportamento do serviço. É possível monitorar a integridade geral dos serviços ou detalhar um serviço específico para definir um objetivo de nível de serviço (SLO) ou solucionar problemas.

Como visualizar o SLO de resumo e o status do serviço

A página Anthos Service Mesh é o ponto de entrada. Perto do topo da página, será exibido um resumo dos alertas e SLOs.

image

Abaixo da seção de status do SLO, há uma visualização resumida da integridade dos serviços na malha de serviço:

image

Os ícones ao lado de cada nome de serviço indicam o status do SLO do serviço. Para monitorar ou visualizar detalhes de um serviço específico, clique no nome do serviço. É possível aplicar filtros para controlar quais serviços são exibidos na tabela:

  • Clique em um link Filtrar por na seção de status do SLO para exibir apenas os serviços aplicáveis na tabela. Por exemplo, é possível filtrar a tabela para mostrar apenas os serviços que não têm um SLO definido.
  • Clique em Filtrar serviços no canto superior esquerdo da tabela para aplicar outras condições.

No canto superior direito da janela estão os seguintes controles:

image

  • Clique na lista suspensa Intervalo de tempo para exibir as informações de status de um período específico.
  • Clique em Topologia para exibir o gráfico de serviços.
  • Clique em Tabela para retornar à visualização da tabela.

Como explorar o gráfico de serviços

Acesse uma visualização do gráfico de topologia de serviços que mostra o seguinte:

  • Os serviços da malha
  • As cargas de trabalho do Kubernetes que apoiam esses serviços
  • As relações entre os serviços

Na captura de tela abaixo, o serviço de front-end conta com o suporte de uma única carga de trabalho de front-end do Kubernetes. A carga de trabalho, por sua vez, envia solicitações para vários outros serviços. Os ícones ao lado de cada serviço são os mesmos ícones de status do SLO exibidos na visualização de tabela.

image

Ao clicar em um ícone de serviço, você verá um cartão com detalhes sobre o serviço, incluindo algumas métricas importantes. O cartão também inclui um link para a página Visão geral desse serviço específico.

image

Há várias maneiras de interagir com o gráfico:

  • Para navegar pelo gráfico, clique e arraste no segundo plano.
  • Para ampliar o gráfico, use a roda do mouse.
  • Para reposicionar os serviços ou cargas de trabalho no gráfico para facilitar a visualização, clique e arraste o nó do gráfico.

Para expandir uma carga de trabalho para os componentes subjacentes, mantenha o ponteiro do mouse sobre um ícone da carga de trabalho. Depois, clique no sinal de adição que aparece no canto superior direito do ícone. Ao clicar no sinal de adição mais algumas vezes, é possível ver detalhes da carga de trabalho até a implantação, o conjunto de réplicas, o pod e até o contêiner.

Conforme os serviços e padrões de comunicação mudam com o tempo, o gráfico de serviços rastreia essas alterações. Use a linha do tempo na parte inferior da página para definir um ponto no tempo de visualização do estado do gráfico. A legenda exibe o intervalo de tempo do gráfico.

image

As relações comunicacionais são baseadas no tráfego de rede observado. Se os serviços não se comunicarem no momento especificado, não haverá borda entre esses serviços.

Acima do cronograma à direita está o ícone Ativar comparação de diferenças de horário: Ícone: Permite a comparação de diferença de tempo

Ao clicar nesse ícone, o gráfico entra no modo de diferenciação, que permite comparar o gráfico em dois pontos no tempo.
No modo de diferenciação, é possível alternar entre diferentes visualizações usando os ícones: Ícones de modo de diferenciação

A linha do tempo na parte inferior da janela controla os dois pontos no tempo que você está comparando. Ajuste os dois controles deslizantes para alterar o período.

image

Como monitorar um serviço específico

Na página Malha de serviço, selecione um serviço para monitorar da visualização de tabela ou topologia. Depois de selecionar um serviço, uma barra de navegação à esquerda será exibida com links para as seguintes páginas:

  • A página Visão geral exibe o status do SLO, as principais métricas e detalhes sobre o serviço.

  • A página Integridade exibe os detalhes do SLO.

  • A página Métricas exibe gráficos das principais métricas de tráfego e infraestrutura. É possível detalhar as métricas de várias maneiras, como por cluster e pod.

  • A página Serviços conectados exibe detalhes sobre solicitações de entrada e saída.

  • A página Diagnóstico exibe os registros de erros.

  • A página Infraestrutura exibe as principais métricas e os detalhes de cada pod. Clique no nome do pod para acessar a página Cargas de trabalho no Console do Cloud.

Como trabalhar com a linha do tempo

Na parte superior de cada página de um serviço específico, clique na lista suspensa Intervalo de tempo para exibir informações sobre um período específico.

image

Para especificar um horário personalizado, clique em Exibir linha do tempo.

image

Use a linha do tempo para refinar o intervalo de tempo aplicado à página. O período total exibido pela linha do tempo é controlado pela lista suspensa Intervalo de tempo. Quando você seleciona um novo intervalo de tempo, a linha de tempo e outros elementos da página são atualizados para refletir esse período. Por exemplo, os gráficos na página Métricas mostram dados correspondentes ao período escolhido. Para refinar ainda mais o período, arraste os controles deslizantes azuis.

image

Como acessar o Cloud Logging

As páginas do Anthos Service Mesh fornecem os seguintes links para o Cloud Logging:

  • Na página Métricas, no link Selecionar um filtro, clique no link Visualizar registros de tráfego para visualizar todos os registros para o serviço durante o período especificado.

  • Na página Diagnóstico, no canto superior direito da janela, clique no link Abrir no Logging para visualizar os registros de erro para o intervalo de tempo especificado.

O registro de tráfego é nomeado como server-accesslog-stackdriver e está associado ao recurso monitorado k8s_container. O registro de tráfego contém as seguintes informações:

  • Propriedades da solicitação HTTP, como ID, URL, tamanho, latência e cabeçalhos comuns.

  • Informações da carga de trabalho de origem e destino, como nome, namespace, identidade e rótulos comuns.

  • Se o rastreamento estiver ativado, informações de rastreamento, como amostragem, código de rastreamento e código de período.

O registro de tráfego tem vários usos. Por exemplo:

Veja um exemplo de entrada de registro:

{
  insertId: "1awb4hug5pos2qi"
  httpRequest: {
    requestMethod: "GET"
    requestUrl: "YOUR-INGRESS/productpage"
    requestSize: "952"
    status: 200
    responseSize: "5875"
    remoteIp: "10.8.0.44:0"
    serverIp: "10.56.4.25:9080"
    latency: "1.587232023s"
    protocol: "http"
  }
  resource: {
    type: "k8s_container"
    labels: {
      location: "us-central1-a"
      project_id: "YOUR-PROJECT"
      pod_name: "productpage-v1-76589d9fdc-ptnt9"
      cluster_name: "YOUR-CLUSTER-NAME"
      container_name: "productpage"
      namespace_name: "default"
    }
  }
  timestamp: "2020-04-28T19:55:21.056759Z"
  severity: "INFO"
  labels: {
    destination_principal: "spiffe://cluster.local/ns/default/sa/bookinfo-productpage"
    response_flag: "-"
    destination_service_host: "productpage.default.svc.cluster.local"
    source_app: "istio-ingressgateway"
    service_authentication_policy: "MUTUAL_TLS"
    source_name: "istio-ingressgateway-5ff85d8dd8-mwplb"
    mesh_uid: "YOUR-MESH-UID"
    request_id: "021ce752-9001-4ac6-b6d6-3b15f5d3632"
    destination_namespace: "default"
    source_principal:  "spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account"
    destination_workload: "productpage-v1"
    destination_version: "v1"
    source_namespace: "istio-system"
    source_workload: "istio-ingressgateway"
    destination_name: "productpage-v1-76589d9fdc-ptnt9"
    destination_app: "productpage"
  }
  trace: "projects/YOUR-PROJECT/traces/d4197f59b7a43e3aeff3571bac99d536"
  receiveTimestamp: "2020-04-29T03:07:14.362416217Z"
  spanId: "43226343ca2bb2b1"
  traceSampled: true
  logName: "projects/YOUR-PROJECT/logs/server-accesslog-stackdriver"
  receiveTimestamp: "2020-04-28T19:55:32.185229100Z"
}

A seguir