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
curlem 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-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 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-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 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.ioPara 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:
- Faça login no console do GDC.
- No console do GDC, selecione seu projeto.
- No menu de navegação, selecione Operações > Alertas.
- Selecione a guia Alertas.
- Confira a lista de alertas.
- 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.
- 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-obsna organizaçãoorg-1éhttps://org-1/platform-obs/cortex/alertmanager/.
Autenticar a solicitação curl
- Faça o download e instale a CLI gdcloud.
Defina a propriedade
core/organization_console_urldo gdcloud:gdcloud config set core/organization_console_url https://GDC_URLFaça login com o provedor de identidade configurado:
gdcloud auth loginUse 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:
- Autentique a solicitação
curl. Use
curlpara 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.