Si les tâches déclenchées par des événements de surveillance système ne couvrent pas vos métriques métier spécifiques, publiez des métriques personnalisées dans CloudMonitor et utilisez des tâches déclenchées par des événements de surveillance personnalisée pour les surveiller.
Publier des données de surveillance dans CloudMonitor
Avant de créer une tâche déclenchée par un événement de surveillance personnalisée, publiez vos métriques personnalisées dans CloudMonitor.
CloudMonitor vous permet de définir des métriques personnalisées et des règles d'alerte. Une fois les données de surveillance publiées, CloudMonitor les traite et déclenche des alertes selon vos règles.
CloudMonitor prend en charge trois méthodes de publication des données de surveillance : OpenAPI, le SDK Java et l'interface de ligne de commande (CLI) Alibaba Cloud. L'exemple suivant illustre la publication de données de surveillance à l'aide du SDK Java.
-
Ajoutez les dépendances JAR requises à votre projet.
Si vous utilisez Maven pour gérer votre projet, ajoutez les dépendances suivantes :
<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> -
Publiez une métrique personnalisée dans 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.L'exemple précédent publie un seul point de données dans CloudMonitor. Vous devez spécifier le paramètre
groupId, qui correspond à l'ID d'un groupe d'applications. Utilisez un ID de groupe d'applications existant ou créez-en un nouveau. CloudMonitor crée automatiquement le groupe d'applications s'il n'existe pas. Accédez à la console CloudMonitor. Sur la page Application Group, consultez les informations relatives à vos groupes d'applications. Sur la page Custom Monitoring, visualisez la métrique personnalisée publiée, affichée sous forme de série temporelle.
Nous vous recommandons de publier les données de surveillance personnalisée dans un groupe d'applications existant. Cette approche organise logiquement plusieurs services cloud pour une meilleure intégration avec CloudMonitor et d'autres services.
CloudMonitor agrège automatiquement les données de surveillance publiées. Si vous publiez un volume important de données, agrégez-les localement avant la publication. Pour plus d'informations sur les limites, consultez la rubrique Présentation.