Consultar e visualizar alertas abertos

Nesta página, fornecemos instruções detalhadas sobre como consultar e visualizar alertas abertos usando o console do GDC e a ferramenta curl para o endpoint do Cortex, a fim de entender os problemas e resolvê-los.

Depois de criar regras de alerta com base em registros e métricas de ambientes isolados do Google Distributed Cloud (GDC), você pode começar a monitorar os alertas abertos do seu projeto. É possível visualizar e filtrar alertas acionados pelos eventos do sistema no console do GDC ou acessar diretamente do Cortex usando a ferramenta curl para scripts flexíveis e automação.

É possível acessar os alertas abertos de uma das duas maneiras a seguir:

  • Console do GDC: visualize dados de alertas em painéis integrados com informações como o número de alertas para uma fonte de dados específica, o nível de gravidade, a duração, o status, a mensagem e os rótulos. O console do GDC oferece uma interface fácil de usar para filtrar e analisar alertas dos componentes do sistema.
  • Endpoint do Cortex Alertmanager: para casos de uso mais avançados, consulte diretamente a instância do Cortex do seu projeto usando a ferramenta curl em uma linha de comando. O Cortex armazena os alertas do Alertmanager do seu projeto e fornece um endpoint HTTP para acesso programático. Com esse acesso, é possível exportar dados, automatizar tarefas, configurar cron jobs e criar integrações personalizadas.

Antes de começar

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

A tabela a seguir resume os requisitos do Role para o PA 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

Substitua as seguintes variáveis conforme necessário:

Variável Descrição
KUBECONFIG Você vai precisar do kubeconfig do cluster específico que contém o NAMESPACE em que esse RoleBinding será aplicado.
RULE_NAME O nome exclusivo do recurso RoleBinding no namespace. Por exemplo, io-root-cortex-prometheus-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 a função. 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 Role que contém as permissões que você quer conceder ao usuário. Por exemplo, io-group.
ZONE Nome da zona

Configuração 1

Essa configuração é para a persona PA, segmentando o objeto grafana no cluster org-admin. Ela concede a função project-cortex-alertmanager-viewer no namespace platform-obs a um Group.

  • Comando kubectl

    Este é o formato genérico do comando:

    kubectl --kubeconfig `KUBECONFIG` create rolebinding `RULE_NAME` -n platform-obs --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: platform-obs
    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, segmentando o objeto grafana no cluster org-admin. Ela concede a função project-cortex-alertmanager-viewer no namespace platform-obs a um User.

  • Comando kubectl

    Este é o formato genérico do comando:

    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 seguintes métodos para consultar e filtrar alertas abertos do namespace do projeto:

Console

Para ver 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. Confira a lista de alertas.
  6. Na seção Alertas abertos, clique em Filtrar para mostrar apenas os alertas abertos. Também é possível filtrar alertas por outros nomes ou valores de propriedades.
  7. Clique no nome de um alerta para ver os detalhes.

Endpoint do Cortex

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

Identificar seu 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 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. Faça o download e instale a CLI gdcloud.
  2. Defina a propriedade core/organization_console_url do gdcloud:

    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 estenda 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.