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
curlnuma 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-viewerExemplo:
kubectl --kubeconfig <path-to-kubeconfig> create rolebinding project-cortex-alertmanager-viewer-binding --role=project-cortex-alertmanager-viewer --group=my-team --namespace=platform-obsCaminho 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-viewerExemplo:
kubectl --kubeconfig <path-to-kubeconfig> create rolebinding project-cortex-alertmanager-viewer-binding --role=project-cortex-alertmanager-viewer --user=my-email@example.com --namespace=platform-obsCaminho 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.ioPara 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:
- Inicie sessão na consola do GDC.
- Na consola do GDC, selecione o seu projeto.
- No menu de navegação, selecione Operações > Alertas.
- Selecione o separador Alertas.
- Veja a lista de alertas.
- 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.
- 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-obsna organizaçãoorg-1éhttps://org-1/platform-obs/cortex/alertmanager/.
Autentique o pedido curl
- Transfira e instale a CLI gcloud.
Defina a propriedade gdcloud:
core/organization_console_urlgdcloud config set core/organization_console_url https://GDC_URLInicie sessão com o Fornecedor de identidade configurado:
gdcloud auth loginUse 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:
- Autentique o
curlpedido. Use
curlpara 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.