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-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: 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-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 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:
- 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.
- Veja a lista de alertas.
- 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.
- 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-obsna organizaçãoorg-1éhttps://org-1/platform-obs/cortex/alertmanager/.
Autenticar a solicitação curl
- Baixe e instale a CLI gdcloud.
Defina a propriedade gdcloud
core/organization_console_url: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 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.