Como definir um microsserviço

Este documento descreve como criar serviços personalizados e serviços para alguns recursos, como o GKE e o Cloud Run.

No Cloud Monitoring, um serviço é uma construção que você pode associar a SLOs e políticas de alertas. Vários dos recursos para os quais você pode criar serviços do Monitoring também são chamados de serviços, mas com significados diferentes, como serviços GKE ou serviços do Cloud Run.

O Monitoring pode reconhecer serviços baseados no GKE e no Cloud Run como candidatos ao monitoramento. Para criar serviços para eles, indique quais candidatos você quer tratar como serviços do Monitoring. O Monitoring cria a infraestrutura necessária para você.

Também é possível definir serviços personalizados arbitrários.

Identificar ou criar um serviço

Para identificar serviços candidatos ou criar serviços personalizados, acesse o painel Definir serviço:

  1. No console do Google Cloud, acesse a página  SLOs:

    Acessar SLOs

    Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoramento.

  2. Na página Visão geral dos serviços, siga um destes procedimentos:

    • Clique em Definir serviço.

    • No painel Status atual, clique no link Definir serviço:

      Crie serviços personalizados e identificados pelo usuário com o recurso **Definir serviço**.

No painel Definir serviço, é possível fazer o seguinte:

  • Crie serviços a partir de uma lista de serviços candidatos.
  • Definir serviços personalizados

As seções a seguir descrevem tais opções.

Cria serviços

O Cloud Monitoring pode identificar serviços em potencial dos seguintes tipos:

  • Serviços do Cloud Service Mesh
  • Istio nos serviços do Google Kubernetes Engine
  • Serviços do App Engine
  • Namespaces do GKE
  • Serviços do GKE
  • Cargas de trabalho do GKE
  • Serviço do Cloud Run

Como pode haver muitos desses serviços em potencial, o Monitoring não pressupõe que você quer que todos sejam tratados como serviços com SLOs. Para indicar quais dos serviços em potencial o Monitoring deve tratar como serviços, use o Console do Google Cloud ou a API.

Usar o console do Google Cloud para criar serviços

Para criar um serviço usando o console do Google Cloud, faça o seguinte:

  1. Na página Visão geral dos serviços, clique em Definir serviço.

  2. Selecione Candidatos ao Serviço.

    Os serviços em potencial estão listados na guia **Candidatos ao serviço**.

    Talvez haja um grande número de serviços candidatos na lista. Você pode filtrar a lista da seguinte maneira:

    1. Clique em Filtrar tabela. Uma lista de opções de filtro é exibida:

    2. Selecione uma das opções na lista de filtros. A opção selecionada será exibida na barra de filtro.

    3. Clique ao lado da opção na barra de filtro e comece a digitar. Os valores correspondentes são fornecidos em uma lista. Selecione um valor na lista.

  3. Clique em um serviço candidato na lista de serviços em potencial.

    Quando você clica em uma entrada, os seguintes campos são preenchidos:

    • O nome de exibição está definido como o nome da entrada na lista. Você pode mudar esse valor.

    • Um bloco de código JSON para a configuração do novo serviço é gerado a partir do candidato. Não mude esse valor.

  4. Clique em Enviar. Quando o serviço é criado, um aviso Sucesso é exibido.

Usar a API para criar um serviço

Também é possível criar serviços usando a API SLO, que faz parte da API Cloud Monitoring.

Para criar um serviço de maneira programática, poste um objeto de configuração como um dos seguintes no método services.create:

Namespace do GKE

Use a estrutura GkeNamespace, por exemplo:

{
  "displayName": "test-kube-namespace",
  "gkeNamespace": {
    "location": "us-central1-c",
    "clusterName": "cluster-1",
    "namespaceName": "test-kube-namespace"
  }
}

Serviço do GKE

Use a estrutura GkeService, por exemplo:

{
  "displayName": "test-kube-service",
  "gkeService": {
    "location": "us-central1-c",
    "clusterName": "cluster-1",
    "namespaceName": "kube-system",
    "serviceName": "test-kube-service"
  }
}

Carga de trabalho do GKE

Use a estrutura GkeWorkload, por exemplo:

{
  "displayName": "frontend-a",
  "gkeWorkload": {
    "location": "us-central1-b",
    "clusterName": "cluster-2",
    "namespaceName": "default",
    "topLevelControllerType": "Deployment",
    "topLevelControllerName": "frontend-a"
  }
}

Cloud Run

Use a estrutura CloudRun, por exemplo:

{
  "displayName": "test-cloudrun-service",
  "cloudRun": {
    "serviceName": "test-cloudrun-service",
    "location": "us-central1"
  }
}

Cloud Service Mesh

Use a estrutura MeshIstio, por exemplo:

{
  "displayName": "test-mesh-istio-service",
  "meshIstio": {
    "meshUid": "mesh-identifier"
    "serviceName": "test-mesh-istio-service",
    "serviceNamespace": "default"
  }
}

Istio no GKE

Use a estrutura clusterIstio, por exemplo:

{
  "displayName": "test-cluster-istio-service",
  "clusterIstio": {
    "serviceName": "test-cloud-service",
    "clusterName": "cluster-2",
    "serviceNamespace": "default",
    "location": "us-central1"
  }
}

App Engine

Use a estrutura AppEngine, por exemplo:

{
  "displayName": "test-mesh-istio-service",
  "appEngine": {
    ""moduleId": "id-of-the-service"
  }
}

Para mais informações sobre como gerenciar serviços de forma programática, consulte os documentos a seguir:

Criar um serviço personalizado

Quando nenhum outro tipo de serviço atender às suas necessidades, crie um serviço personalizado. Com um serviço personalizado, é possível agrupar SLOs arbitrariamente de uma forma significativa para seu ambiente ou criar SLOs em métricas de negócios que não correspondam a um microsserviço atual.

Usar o Console do Google Cloud para criar um serviço personalizado

Para definir um serviço personalizado usando o Console do Google Cloud, faça o seguinte:

  1. Clique em Definir serviço na página Visão geral dos serviços para exibir o painel Definir serviço.

  2. Selecione Serviço personalizado.

    Use a guia **Serviço personalizado** para definir serviços arbitrários.

  3. Digite um nome de exibição para o serviço personalizado.

  4. Clique em Enviar. Quando o serviço é criado, um aviso Sucesso é exibido.

Usar a API para criar um serviço personalizado

Para definir um serviço personalizado usando aAPI SLO , poste um objeto de configuração Custom como o exemplo para o services.create método:

{
  "displayName": "hello-world-service",
  "custom": {}
}

Para mais informações sobre o gerenciamento programático de serviços, consulte Como trabalhar com a API.

A seguir

Depois de identificar ou criar um novo serviço, você pode fazer o seguinte:

  • Criar um SLO para o novo serviço. Você deve definir pelo menos um SLO para que o novo serviço seja útil. Para mais informações, consulte Como criar um SLO.
  • Acesse o painel de controle do seu novo serviço. Para um novo serviço, o painel de controle está vazio, mas você pode definir SLOs a partir dele. Para mais informações, consulte Como usar painéis de controle de microsserviço.