Configure regras de gravação para pré-agregar métricas durante a escrita e visualize os resultados no Grafana ou no console do Prometheus.
Informações básicas
As regras de gravação pré-calculam expressões PromQL complexas durante a escrita, o que reduz a carga nas consultas. Em clusters de grande escala e cenários de negócios complexos, esse recurso simplifica as consultas e melhora o desempenho.
A configuração de regras de gravação segue o mesmo padrão do Prometheus open source. As regras são organizadas em grupos, e cada grupo pode conter várias regras. O nome de uma regra de gravação deve obedecer às convenções de nomenclatura de métricas do Prometheus. As regras dentro do mesmo grupo são avaliadas sequencialmente em um intervalo especificado. O sistema armazena as métricas resultantes em um banco de dados remoto com o novo nome da regra.
Configurar regras de gravação
Faça login no console do ARMS.
No painel de navegação à esquerda, escolha .
Faça login no console do Cloud Monitor.
No painel de navegação à esquerda, escolha para abrir a lista de instâncias do Managed Service for Prometheus.
No canto superior esquerdo da página, selecione a região de destino e clique em no nome da instância do Prometheus desejada.
No painel de navegação à esquerda, clique em Settings. Na aba Settings, clique em Edit RecordingRule.yaml.
-
Na caixa de diálogo exibida, exclua o modelo padrão, insira a configuração da regra de gravação e clique em Save.
NotaUse apenas um arquivo RecordingRule.yaml por cluster. Os nomes dos grupos de regras devem ser únicos.
Exemplo:
groups: - name: apiserver_request_total interval: 60s rules: - record: job_instance_mode:apiserver_request_total:avg_rate5m expr: avg by (job, instance, mode) (rate(apiserver_request_total[5m])) labels: team: operations - record: job:apiserver_request_total:sum_rate10m expr: sum by (job)(rate(apiserver_request_total[10m])) labels: team: operationsParâmetro
Descrição
groups
Lista de grupos de regras. Você pode configurar vários grupos de regras em um único arquivo RecordingRule.yaml.
name
Nome do grupo de regras. Deve ser único no arquivo.
interval
(Opcional) Intervalo de avaliação das regras no grupo. Padrão: 60s.
rules
Lista de regras do grupo.
record
Nome da nova série temporal a ser gravada. O nome deve obedecer às convenções de nomenclatura de métricas do Prometheus.
NotaO formato recomendado para o nome de uma regra de gravação é
level:metric:operations.-
level: Nível de agregação e rótulos de saída da regra. -
metric: Nome da métrica. -
operations: Lista de operações aplicadas à métrica, com a operação mais recente listada primeiro.
expr
Expressão usada pelo Alibaba Cloud Managed Service for Prometheus para calcular as métricas da regra de gravação. A expressão deve ser uma consulta PromQL válida.
labels
(Opcional) Rótulos a adicionar à nova métrica.
-
Visualize métricas de regras de gravação
Método 1: Visualize métricas no Grafana
Faça login no sistema Grafana como administrador.
No painel de navegação à esquerda, clique em Explore.
Na página Explore, selecione a fonte de dados correspondente ao seu cluster Kubernetes. No campo de consulta de métricas, insira o nome da métrica da regra de gravação, como
job_instance_mode:apiserver_request_total:avg_rate5m. Defina Query type como Range e clique em Execute Query. A consulta retorna um gráfico de linhas mostrando a tendência da taxa de requisições do apiserver.
Método 2: Visualize métricas no console do Prometheus
Faça login no console do ARMS.
No painel de navegação à esquerda, escolha .
Faça login no console do Cloud Monitor.
No painel de navegação à esquerda, escolha para abrir a lista de instâncias do Managed Service for Prometheus.
No canto superior esquerdo da página, selecione a região de destino e clique em no nome da instância do Prometheus desejada.
No painel de navegação à esquerda, escolha Service Discovery e clique em na aba Metrics. Insira o nome da métrica da regra de gravação na caixa de pesquisa para visualize seus detalhes.
Regras de gravação e escrita remota
As regras de gravação no Alibaba Cloud Managed Service for Prometheus suportam escrita remota, assim como no Prometheus open source.
Faça login no console do ARMS.
No painel de navegação à esquerda, escolha .
Faça login no console do Cloud Monitor.
No painel de navegação à esquerda, escolha para abrir a lista de instâncias do Managed Service for Prometheus.
No canto superior esquerdo da página, selecione a região de destino e clique em no nome da instância do Prometheus desejada.
No painel de navegação à esquerda, clique em Settings. Na aba Settings, clique em Edit Prometheus.yaml.
-
Na caixa de diálogo Edit Prometheus.yaml, configure a escrita remota.
remote_write: - url: "https://cn-beijing.arms.aliyuncs.com/prometheusxxx/cn-beijing/api/v3/write" remote_timeout: 60s name: xxx basic_auth: username: xxx password: xxx write_relabel_configs: - action: keep source_labels: ["instance"] regex: "xxx" - url: "https://cn-hangzhou.arms.aliyuncs.com/prometheuxxxxx/cn-hangzhou/api/v3/write" remote_timeout: 60s name: xxx basic_auth: username: xxx password: xxx write_relabel_configs: - action: replace source_labels: ["job"] regex: "(.*)" target_label: __xxx_job__ replacement: ${1}:xxxNotaO método para configurar a escrita remota é o mesmo do Prometheus open source. Há suporte para múltiplas configurações de escrita remota e
write_relabel_configs.Para envie remotamente apenas as métricas geradas por uma regra de gravação para outro armazenamento, configure uma seção
write_relabel_configsconforme o exemplo:remote_write: - url: "https://xxxx/api/v1/prom/write?db=dbname&u=username&p=password" // The endpoint of the remote storage write_relabel_configs: - source_labels: [__name__] regex: job_instance_mode:apiserver_request_total:avg_rate5m action: keepNotaEsta configuração envia remotamente apenas a métrica da regra de gravação especificada (
job_instance_mode:apiserver_request_total:avg_rate5m) para outro armazenamento.
Operações relacionadas
A escrita remota requer um endpoint público. Se precisar adicionar o endereço IP do componente de regra de gravação a uma lista de permissões de rede, use o endereço IP apropriado para sua região.
China (Beijing): 101.200.XX.XX
China (Hangzhou): 118.31.XX.XX
China (Shanghai): 106.14.XX.XX
China (Shenzhen): 8.129.XX.XX
China (Zhangjiakou): 39.103.XX.XX
China (Qingdao): 139.129.XX.XX
China (Chengdu): 47.108.XX.XX
China (Hong Kong): 47.242.XX.XX
Singapore: 47.241.XX.XX
Para obter os endereços IP completos, abra um ticket ou entre em contato com um especialista do product buscando a conta de plantão do Prometheus no DingTalk (ID: aliprometheus).