Se as tarefas acionadas por eventos de monitoramento do sistema não cobrirem suas métricas específicas de negócios, relate métricas personalizadas ao CloudMonitor e use tarefas acionadas por eventos de monitoramento personalizado para monitorá-las.
Relatar dados de monitoramento ao CloudMonitor
Antes de criar uma tarefa acionada por evento de monitoramento personalizado, relate suas métricas personalizadas ao CloudMonitor.
O CloudMonitor permite definir métricas personalizadas e regras de alerta. Após o relato dos dados de monitoramento, o CloudMonitor os processa e aciona alertas com base nas regras definidas.
O CloudMonitor oferece três métodos para relatar dados de monitoramento: OpenAPI, Java SDK e Alibaba Cloud command-line interface (CLI). O exemplo a seguir mostra como relatar dados de monitoramento com o Java SDK.
-
Adicione as dependências JAR necessárias ao projeto.
Caso utilize o Maven para gerenciar o projeto, adicione as seguintes dependências:
<dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-core</artifactId> <version>3.2.6</version> </dependency> <dependency> <groupId>com.aliyun.openservices</groupId> <artifactId>aliyun-cms</artifactId> <version>0.2.4</version> </dependency> -
Relate uma métrica personalizada ao CloudMonitor.
static String endPoint = "https://metrichub-cms-cn-hangzhou.aliyuncs.com"; CMSClient cmsClient = new CMSClient(endPoint, accAutoScalingKey, accAutoScalingSecret); CustomMetricUploadRequest request = CustomMetricUploadRequest.builder() .append(CustomMetric.builder() .setMetricName("myCustomMetric")//The name of the custom metric. .setGroupId(54504L)//The ID of the application group. .setTime(new Date())//The timestamp. .setType(CustomMetric.TYPE_VALUE)//The metric type. In this example, it is a raw value. .appendValue(MetricAttribute.VALUE, number)//The raw value. The key must be MetricAttribute.VALUE. .appendDimension("key1", "value1")//Add a dimension. .appendDimension("key2", "value2") .build()) .build(); CustomMetricUploadResponse response = cmsClient.putCustomMetric(request);//Report the metric.O exemplo anterior relata um único ponto de dados ao CloudMonitor. Especifique o parâmetro
groupId, correspondente ao ID de um grupo de aplicativos. Utilize um ID de grupo de aplicativos existente ou crie um novo. O CloudMonitor cria automaticamente o grupo de aplicativos caso ele não exista. Acesse o console do CloudMonitor. Na página Application Group, visualize informações sobre os grupos de aplicativos. Já na página Custom Monitoring, visualize a métrica personalizada relatada, exibida como uma série temporal.
Recomendamos enviar dados de monitoramento personalizados para um grupo de aplicativos existente. Essa prática organiza logicamente vários serviços cloud e facilita a integração com o CloudMonitor e outros serviços.
O CloudMonitor agrega automaticamente os dados de monitoramento relatados. Para grandes volumes de dados, realize a agregação localmente antes do envio. Para mais informações sobre limites, consulte Overview.