Consulte e veja alertas abertos

Esta página fornece instruções detalhadas sobre como consultar e visualizar alertas abertos através da consola do GDC e da ferramenta curl para o ponto final do Cortex, de modo a obter informações sobre os problemas e resolvê-los.

Depois de criar regras de alerta com base nos registos e nas métricas de ambientes isolados do Google Distributed Cloud (GDC), pode começar a monitorizar os alertas abertos do seu projeto. Pode visualizar e filtrar alertas que os eventos do sistema acionam na consola do GDC ou aceder diretamente a partir do Cortex através da ferramenta curl para scripting flexível e automação.

Pode aceder aos alertas abertos através de um dos dois métodos seguintes:

  • Consola GDC: visualize os dados de alertas em painéis integrados com informações como o número de alertas para uma origem de dados específica, o nível de gravidade, a duração, o estado, a mensagem e as etiquetas. A consola do GDC oferece uma interface fácil de usar para filtrar e analisar alertas dos componentes do seu sistema.
  • Ponto final do Cortex Alertmanager: para exemplos de utilização mais avançados, consulte diretamente a instância do Cortex do seu projeto através da ferramenta curl numa linha de comandos. O Cortex armazena os alertas do Alertmanager do seu projeto e fornece um ponto final HTTP para acesso programático. Este acesso permite-lhe exportar dados, automatizar tarefas, configurar tarefas cron e criar integrações personalizadas.

Antes de começar

Para receber as autorizações necessárias para consultar e visualizar alertas, peça ao administrador de IAM do projeto que lhe conceda uma das funções associadas do Alertmanager do Project Cortex no seu espaço de nomes do projeto. Consoante o nível de acesso e as autorizações de que precisa, pode obter funções de editor ou leitor para este recurso num projeto.

A tabela seguinte resume os requisitos de Role para PA persona.

Perfil Objeto Cluster Função Espaço de nomes Grupo/utilizador Configuração
PA grafana org-admin project-cortex-alertmanager-viewer platform-obs Grupo 1
PA grafana org-admin project-cortex-alertmanager-viewer platform-obs Utilizador 2

Substitua as seguintes variáveis adequadamente:

Variável Descrição
KUBECONFIG Precisa do kubeconfig para o cluster específico que contém o NAMESPACE onde esta RoleBinding vai ser aplicada.
RULE_NAME O nome exclusivo deste recurso RoleBinding no espaço de nomes. Por exemplo, io-root-cortex-prometheus-viewer.
NAMESPACE O espaço de nomes do Kubernetes onde este RoleBinding vai ser criado e aplicado. Procure a coluna Namespace na tabela anterior.
EMAIL_ADDRESS O identificador do utilizador ao qual está a ser concedida a função. Normalmente, trata-se de um endereço de email. Por exemplo, infrastructure-operator@example.com.
ROLE O nome do Role que contém as autorizações que quer conceder ao utilizador. Procure as funções disponíveis na tabela anterior
GROUP_NAME O nome do Role que contém as autorizações que quer conceder ao utilizador. Por exemplo, io-group.
ZONE Nome da zona

Configuração 1

Esta configuração destina-se à persona PA, segmentando o objeto grafana no cluster org-admin. Concede a função project-cortex-alertmanager-viewer no espaço de nomes platform-obs a um Group.

  • Comando Kubectl

    Este é o formato de comando genérico:

    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 ficheiro IAC

    /infrastructure/zonal/zones/`ZONE`/org-admin/rolebindings/`GROUP_NAME`/<YAML_FILE>
    
  • Ficheiro 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

Esta configuração destina-se à persona PA, segmentando o objeto grafana no cluster org-admin. Concede a função project-cortex-alertmanager-viewer no espaço de nomes 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 ficheiro IAC

    /infrastructure/zonal/zones/`ZONE`/org-admin/rolebindings/`EMAIL_ADDRESS`/<YAML_FILE>
    
  • Ficheiro 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 estas funções, consulte o artigo Prepare as autorizações de IAM.

Veja e filtre alertas abertos

Selecione um dos seguintes métodos para consultar e filtrar alertas abertos do seu espaço de nomes do projeto:

Consola

Veja os alertas abertos num projeto a partir da consola do GDC:

  1. Inicie sessão na consola do GDC.
  2. Na consola do GDC, selecione o seu projeto.
  3. No menu de navegação, selecione Operações > Alertas.
  4. Selecione o separador Alertas.
  5. Veja a lista de alertas.
  6. Na secção Alertas abertos, clique em Filtrar para apresentar apenas alertas abertos. Também pode filtrar os alertas por outros nomes ou valores de propriedades.
  7. Clique no nome de um alerta para ver os detalhes do alerta.

Ponto final do Cortex

Esta secção descreve como aceder a alertas através do seu ponto final do Cortex Alertmanager.

Identifique o seu ponto final do Cortex

O seguinte URL é o ponto final da instância do Cortex do seu projeto:

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

Substitua o seguinte:

  • GDC_URL: o URL da sua organização no GDC.
  • PROJECT_NAMESPACE: o espaço de nomes do seu projeto.

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

Autentique o pedido curl

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

    gdcloud config set core/organization_console_url
    https://GDC_URL
    
  3. Inicie sessão com o Fornecedor de identidade configurado:

    gdcloud auth login
    
  4. Use o seu nome de utilizador e palavra-passe para autenticar e iniciar sessão.

    Quando o início de sessão for bem-sucedido, pode usar o cabeçalho de autorização no seu pedido curl através do comando gdcloud auth print-identity-token. Para mais informações, consulte gdcloud auth.

Chame o ponto final do Cortex

Conclua os passos seguintes para aceder ao ponto final do Cortex através da ferramenta curl:

  1. Autentique o curlpedido.
  2. Use curl para chamar o ponto final do Cortex e estender o URL através da especificação da API Alertmanager padrão (https://prometheus.io/docs/prometheus/latest/querying/api/#alertmanagers) para consultar alertas.

    Segue-se um exemplo de um pedido curl:

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

    Obtém o resultado após o comando. A resposta da API está no formato JSON.