Consultar e ver alertas abertos

O monitoramento de alertas no Google Distributed Cloud (GDC) com isolamento físico permite rastrear e resolver problemas de notificações ativas no projeto depois de criar regras de alerta. É possível inspecionar a gravidade, a duração, o status e os rótulos do alerta no console do GDC. Para scripts, cron jobs e integrações personalizadas, consulte o endpoint HTTP do Cortex Alertmanager do seu projeto com curl.

Antes de começar

Para receber as permissões necessárias para consultar e visualizar alertas, peça ao administrador do projeto do IAM para conceder a você um dos papéis associados do Alertmanager do Project Cortex no namespace do projeto. Dependendo do nível de acesso e das permissões necessárias, é possível receber papéis de editor ou leitor para esse recurso em um projeto.

A tabela a seguir resume os requisitos de Role para PA and AO persona.

Persona Objeto Cluster Papel Namespace Grupo/Usuário Configuração
PA grafana org-admin project-cortex-alertmanager-viewer platform-obs Grupo 1
PA grafana org-admin project-cortex-alertmanager-viewer platform-obs Usuário 2
AO alertmanager org-admin project-cortex-alertmanager-viewer PROJECT_NAMESPACE Grupo 1
AO alertmanager org-admin project-cortex-alertmanager-viewer PROJECT_NAMESPACE Usuário 2

Substitua as seguintes variáveis:

Variável Descrição
KUBECONFIG Você vai precisar do kubeconfig para o cluster específico que contém o NAMESPACE em que esse RoleBinding será aplicado.
RULE_NAME O nome exclusivo desse recurso RoleBinding no namespace. Por exemplo, pa-cortex-alertmanager-viewer.
NAMESPACE O namespace do Kubernetes em que esse RoleBinding será criado e aplicado. Procure a coluna Namespace na tabela anterior.
EMAIL_ADDRESS O identificador do usuário que está recebendo o papel. Geralmente, é um endereço de e-mail. Por exemplo, infrastructure-operator@example.com
ROLE O nome do Role que contém as permissões que você quer conceder ao usuário. Procure os papéis disponíveis na tabela anterior
GROUP_NAME O nome do Group ao qual o usuário de PA/AO pertence. Por exemplo, pa-group.
ZONE Nome da zona

Configuração 1

Essa configuração concede permissões para que um grupo de usuários acesse alertas de PA/AO no cluster org. Depois de definir essa configuração, consulte a seção console deste documento para ver os alertas no console do GDC.

  • Comando kubectl

    Este é o formato de comando genérico:

    kubectl --kubeconfig `KUBECONFIG` create rolebinding `RULE_NAME` -n `NAMESPACE` --group=`GROUP_NAME` --role=project-cortex-alertmanager-viewer
    

    Exemplo:

    kubectl --kubeconfig <path-to-kubeconfig> create rolebinding project-cortex-alertmanager-viewer-binding --role=project-cortex-alertmanager-viewer --group=my-team --namespace=platform-obs
    
  • Caminho do arquivo IAC

    /infrastructure/zonal/zones/`ZONE`/org-admin/rolebindings/`GROUP_NAME`/<YAML_FILE>
    
  • Arquivo YAML

    apiVersion: rbac.authorization.k8s.io/v1
    kind: RoleBinding
    metadata:
      name: RULE_NAME
      namespace: NAMESPACE
    subjects:
    - kind: Group
      name: GROUP_NAME
      apiGroup: rbac.authorization.k8s.io
    roleRef:
      kind: Role
      name: project-cortex-alertmanager-viewer
      apiGroup: rbac.authorization.k8s.io
    

Configuração 2

Essa configuração é para a persona PA, que segmenta o objeto grafana no cluster org-admin. Ele concede o papel project-cortex-alertmanager-viewer no namespace platform-obs a um User.

  • Comando kubectl

    Este é o formato de comando genérico:

    kubectl --kubeconfig `KUBECONFIG` create rolebinding `RULE_NAME` -n platform-obs --user=`EMAIL_ADDRESS` --role=project-cortex-alertmanager-viewer
    

    Exemplo:

    kubectl --kubeconfig <path-to-kubeconfig> create rolebinding project-cortex-alertmanager-viewer-binding --role=project-cortex-alertmanager-viewer --user=my-email@example.com --namespace=platform-obs
    
  • Caminho do arquivo IAC

    /infrastructure/zonal/zones/`ZONE`/org-admin/rolebindings/`EMAIL_ADDRESS`/<YAML_FILE>
    
  • Arquivo YAML

    apiVersion: rbac.authorization.k8s.io/v1
    kind: RoleBinding
    metadata:
      name: RULE_NAME
      namespace: platform-obs
    subjects:
    - kind: User
      name: EMAIL_ADDRESS
      apiGroup: rbac.authorization.k8s.io
    roleRef:
      kind: Role
      name: project-cortex-alertmanager-viewer
      apiGroup: rbac.authorization.k8s.io
    

    Para mais informações sobre esses papéis, consulte Preparar permissões do IAM.

Ver e filtrar alertas abertos

Selecione um dos métodos a seguir para consultar e filtrar alertas abertos do namespace do projeto:

Console

Veja os alertas abertos em um projeto no console do GDC:

  1. Faça login no console do GDC.
  2. No console do GDC, selecione seu projeto.
  3. No menu de navegação, selecione Operações > Alertas.
  4. Selecione a guia Alertas.
  5. Veja a lista de alertas.
  6. Na seção Alertas abertos, clique em Filtrar para exibir apenas os alertas abertos. Também é possível filtrar alertas por outros nomes ou valores de propriedade.
  7. Clique no nome de um alerta para ver os detalhes dele.

Endpoint do Cortex

Nesta seção, descrevemos como acessar alertas usando o endpoint do Cortex Alertmanager.

Identificar o endpoint do Cortex

O URL a seguir é o endpoint da instância do Cortex do seu projeto:

  https://GDC_URL/PROJECT_NAMESPACE/cortex/alertmanager/

Substitua:

  • GDC_URL: o URL da sua organização no GDC.
  • PROJECT_NAMESPACE: o namespace do projeto.

    Por exemplo, o endpoint do Cortex para o projeto platform-obs na organização org-1 é https://org-1/platform-obs/cortex/alertmanager/.

Autenticar a solicitação curl

  1. Baixe e instale a CLI gdcloud.
  2. Defina a propriedade gdcloud core/organization_console_url:

    gdcloud config set core/organization_console_url
    https://GDC_URL
    
  3. Faça login com o provedor de identidade configurado:

    gdcloud auth login
    
  4. Use seu nome de usuário e senha para autenticar e fazer login.

    Quando o login for concluído, use o cabeçalho de autorização na solicitação curl com o comando gdcloud auth print-identity-token. Para mais informações, consulte gdcloud auth.

Chamar o endpoint do Cortex

Siga estas etapas para acessar o endpoint do Cortex usando a ferramenta curl:

  1. Autentique a solicitação curl.
  2. Use curl para chamar o endpoint do Cortex e estender o URL usando a especificação padrão da API Alertmanager (https://prometheus.io/docs/prometheus/latest/querying/api/#alertmanagers) para consultar alertas.

    Veja a seguir um exemplo de solicitação curl:

      curl https://GDC_URL/PROJECT_NAME/cortex/alertmanager/api/v1/alertmanagers \
      -H "Authorization: Bearer $(gdcloud auth print-identity-token \
      --audiences=https://GDC_URL)"
    

    Você vai receber a saída após o comando. A resposta da API está no formato JSON.