O Realtime Compute for Apache Flink permite visualizar métricas para analisar um deployment. Caso as métricas existentes não atendam aos seus requisitos de negócio, você pode personalizar métricas de monitoramento e reportá-las para outras plataformas. É possível visualizar as métricas na aba Metrics da página Deployments no console de desenvolvimento do Realtime Compute for Apache Flink ou configurar parâmetros para enviar essas métricas a outros sistemas. Este tópico descreve como configurar métricas personalizadas e reportá-las para um serviço Prometheus autogerenciado, Simple Log Service, Kafka, uma plataforma autogerenciada ou múltiplas plataformas simultaneamente.
Se as métricas disponíveis não forem suficientes para suas necessidades, personalize as métricas de monitoramento e envie-as para outras plataformas.
Precauções
A configuração de parâmetros permite reportar métricas apenas para um serviço Prometheus autogerenciado, Simple Log Service ou Kafka. Também é possível configurar a coleta e o envio de métricas para várias plataformas ao mesmo tempo.
-
Envio de métricas para múltiplas plataformas
Para coletar e reportar métricas em várias plataformas, modifique as configurações dos parâmetros metrics.reporters. O envio para múltiplos destinos aumenta o custo de coleta de métricas. Para mais informações, consulte Reportar métricas para múltiplas plataformas.
-
Envio de métricas para plataformas externas ao console do Realtime Compute for Apache Flink
O Application Real-Time Monitoring Service (ARMS) ou CloudMonitor deixou de ser ativado automaticamente junto com o Realtime Compute for Apache Flink. Nesse cenário, as métricas não aparecem no console do Realtime Compute for Apache Flink. Visualize-as diretamente na plataforma de destino configurada.
As configurações de alerta existentes no console do Realtime Compute for Apache Flink tornam-se inválidas. Para mais detalhes, veja Configurar monitoramento e alertas. Não é mais possível criar regras de alerta pelo console do Realtime Compute for Apache Flink; configure-as na plataforma que recebe as métricas.
Plataformas de destino para métricas personalizadas
Reportar métricas para um serviço Prometheus autogerenciado
Certifique-se de que existe conectividade de rede entre o Realtime Compute for Apache Flink e o serviço Prometheus autogerenciado. Em seguida, faça login no console do Realtime Compute for Apache Flink e siga estes passos: no painel de navegação à esquerda, clique em Deployments. Na página Deployments, clique no nome do deployment desejado na coluna Name. Na aba Configuration, clique em Edit no canto superior direito da seção Parameters, adicione o código abaixo ao campo Other Configuration e ajuste os valores dos parâmetros referentes ao serviço Prometheus autogerenciado. Para detalhes sobre o método de configuração, consulte Configurar parâmetros de execução personalizados
metrics.reporters: promgatewayappmgr
metrics.reporter.promgatewayappmgr.groupingKey: 'deploymentName={{deploymentName}};deploymentId={{deploymentId}};jobId={{jobId}}'
metrics.reporter.promgatewayappmgr.jobName: '{{deploymentName}}'
metrics.reporter.promgatewayappmgr.factory.class: org.apache.flink.metrics.prometheus.PrometheusPushGatewayReporterFactory
metrics.reporter.promgatewayappmgr.host: pushgateway host
metrics.reporter.promgatewayappmgr.port: pushgateway port
No código, substitua pushgateway host pelo hostname do seu Pushgateway e pushgateway port pela porta correspondente. O sistema preenche automaticamente os valores dos parâmetros deploymentName, deploymentId e jobId.
-
A conexão de rede entre o Realtime Compute for Apache Flink e o serviço Prometheus autogerenciado deve obedecer aos seguintes requisitos:
Caso o serviço Prometheus autogerenciado esteja na mesma virtual private cloud (VPC) do workspace do Realtime Compute for Apache Flink, garanta que o bloco CIDR do Realtime Compute for Apache Flink tenha acesso ao grupo de segurança do serviço Prometheus.
Se o serviço Prometheus possuir um endpoint público e estiver em uma VPC diferente da workspace do Realtime Compute for Apache Flink, configure o acesso à internet para o Realtime Compute for Apache Flink. Para mais informações, consulte Como o Realtime Compute for Apache Flink acessa a internet?
Quando o serviço Prometheus dispuser apenas de um endpoint VPC e residir em uma VPC distinta da workspace do Realtime Compute for Apache Flink, estabeleça uma conexão entre as VPCs. Para mais detalhes, veja Como o Realtime Compute for Apache Flink acessa um serviço entre VPCs?
Reportar métricas para o Simple Log Service
Verifique se há conectividade de rede entre o Realtime Compute for Apache Flink e o Simple Log Service. Depois, acesse o console do Realtime Compute for Apache Flink e execute as seguintes operações: no painel de navegação à esquerda, clique em Deployments. Na página Deployments, selecione o nome do deployment desejado na coluna Name. Na aba Configuration, clique em Edit no canto superior direito da seção Parameters, insira o código a seguir no campo Other Configuration e altere os valores dos parâmetros relacionados ao Simple Log Service. Para saber mais sobre o método de configuração, consulte Configurar parâmetros de execução personalizados
metrics.reporters: sls
metrics.reporter.sls.factory.class: org.apache.flink.metrics.sls.SLSReporterFactory
metrics.reporter.sls.project: the project of Simple Log Service
metrics.reporter.sls.logStore: the Logstore of Simple Log Service
metrics.reporter.sls.endPoint: the endpoint of Simple Log Service
metrics.reporter.sls.accessId: the AccessKey ID that is used to connect to Simple Log Service
metrics.reporter.sls.accessKey: the AccessKey secret that is used to connect to Simple Log Service
metrics.reporter.sls.extraTags: deploymentId={{ deploymentId }};deploymentName={{ deploymentName}};namespace={{ namespace }}
Configure no código os parâmetros relativos ao Simple Log Service. O sistema substitui automaticamente os valores dos parâmetros deploymentId, deploymentName e namespace. Para obter detalhes sobre o par de AccessKey de uma conta, consulte Visualizar AccessKey ID e AccessKey Secret
Especificar um Metricstore ao reportar métricas para o Simple Log Service
Para enviar métricas a um Metricstore específico, adicione as configurações abaixo e altere o valor de metrics.reporter.sls.logStore para o nome do seu Metricstore.
metrics.reporter.sls.toMetricStore: true
metrics.reporter.sls.logStore: <Name of your Metricstore>
Reportar métricas para o Kafka
Garanta que exista uma conexão de rede entre o Realtime Compute for Apache Flink e o Kafka. Em seguida, faça login no console do Realtime Compute for Apache Flink e realize os passos a seguir: no painel de navegação à esquerda, clique em Deployments. Na página Deployments, clique no nome do deployment desejado na coluna Name. Na aba Configuration, clique em Edit no canto superior direito da seção Parameters, adicione o código abaixo ao campo Other Configuration e modifique os valores dos parâmetros associados ao Kafka. Para mais informações sobre o método de configuração, consulte Configurar parâmetros de execução personalizados
metrics.reporters: monitor
metrics.reporter.monitor.factory.class: org.apache.flink.metrics.monitor.KafkaReporterFactory
metrics.reporter.monitor.kafka.bootstrap.servers: the addresses of the Kafka brokers
metrics.reporter.monitor.topicName: the name of the Kafka topic
metrics.reporter.monitor._FLINK_CLUSTER_NAME: '{{ deploymentName }}'
metrics.reporter.monitor._JOB_NAME: '{{ deploymentName }}'
metrics.reporter.monitor._NAMESPACE_NAME: '{{ namespace }}'
É necessário configurar no código os parâmetros do cluster Kafka autogerenciado. O sistema substitui automaticamente os valores dos parâmetros deploymentName e namespace.
Reportar métricas para múltiplas plataformas
Chamar uma operação de API do ARMS para reportar métricas a uma plataforma autogerenciada
Ao adquirir o workspace do Realtime Compute for Apache Flink com o Alibaba Cloud Managed Service for Prometheus, chame uma operação de API do ARMS para obter as métricas do Realtime Compute for Apache Flink e integrá-las à sua plataforma autogerenciada. Assim, você visualiza as métricas na sua própria plataforma, além de poder consultar curvas de métricas e configurar regras de alerta diretamente no console do Realtime Compute for Apache Flink.
Para mais informações sobre as operações de API do ARMS, consulte Lista de operações de API por recurso. Para detalhes sobre métricas de operadores, veja Operator Metric.
Reportar métricas para o console do Realtime Compute for Apache Flink e outras plataformas
Caso queira visualizar curvas de métricas e definir regras de alerta no console do Realtime Compute for Apache Flink e, simultaneamente, consultar métricas em outras plataformas, configure parâmetros para reportar dados a múltiplos destinos. Essa abordagem eleva o custo de coleta de métricas.
Por exemplo, para visualizar métricas tanto no console do Realtime Compute for Apache Flink quanto no Simple Log Service, acesse o console do Realtime Compute for Apache Flink e siga estas etapas: no painel de navegação à esquerda, clique em Deployments. Na página Deployments, clique no nome do deployment desejado na coluna Name. Na aba Configuration, clique em Edit no canto superior direito da seção Parameters, adicione o código a seguir ao campo Other Configuration e ajuste os valores dos parâmetros relacionados ao Simple Log Service.
metrics.reporters: jmx,promappmgr,sls
metrics.reporter.sls.factory.class: org.apache.flink.metrics.sls.SLSReporterFactory
metrics.reporter.sls.project: the project of Simple Log Service
metrics.reporter.sls.logStore: the Logstore of Simple Log Service
metrics.reporter.sls.endPoint: the endpoint of Simple Log Service
metrics.reporter.sls.accessId: the AccessKey ID that is used to connect to Simple Log Service
metrics.reporter.sls.accessKey: the AccessKey secret that is used to connect to Simple Log Service
metrics.reporter.sls.extraTags: deploymentId={{ deploymentId }};deploymentName={{ deploymentName}};namespace={{ namespace }}
Se os parâmetros metrics.reporters incluírem jmx,promappmgr, as métricas estarão visíveis no console do Realtime Compute for Apache Flink. Para mais informações sobre os demais parâmetros, consulte Reportar métricas para o Simple Log Service.
Reportar métricas para múltiplas plataformas exceto o console do Realtime Compute for Apache Flink
Ao reportar métricas para várias plataformas sem incluir o console do Realtime Compute for Apache Flink, os dados não serão exibidos nesse console. Consulte as métricas diretamente nas plataformas de destino configuradas. Para mais detalhes, veja Precauções.
Por exemplo, para enviar métricas ao Simple Log Service e ao Kafka, adicione o seguinte código ao campo Other Configuration na seção Parameters da aba Configuration no console do Realtime Compute for Apache Flink.
metrics.reporters: sls,monitor
metrics.reporter.sls.factory.class: org.apache.flink.metrics.sls.SLSReporterFactory
metrics.reporter.sls.project: the project of Simple Log Service
metrics.reporter.sls.logStore: the Logstore of Simple Log Service
metrics.reporter.sls.endPoint: the endpoint of Simple Log Service
metrics.reporter.sls.accessId: the AccessKey ID that is used to connect to Simple Log Service
metrics.reporter.sls.accessKey: the AccessKey secret that is used to connect to Simple Log Service
metrics.reporter.sls.extraTags: deploymentId={{ deploymentId }};deploymentName={{ deploymentName}};namespace={{ namespace }}
metrics.reporter.monitor.factory.class: org.apache.flink.metrics.monitor.KafkaReporterFactory
metrics.reporter.monitor.kafka.bootstrap.servers: the addresses of the Kafka brokers
metrics.reporter.monitor.topicName: the name of the Kafka topic
metrics.reporter.monitor._FLINK_CLUSTER_NAME: '{{ deploymentName }}'
metrics.reporter.monitor._JOB_NAME: '{{ deploymentName }}'
metrics.reporter.monitor._NAMESPACE_NAME: '{{ namespace }}'
Para mais informações, consulte Reportar métricas para o Simple Log Service e Reportar métricas para o Kafka.