Surveillance d'Oracle NoSQL Database Cloud Service

Le service Oracle Cloud Infrastructure Monitoring vous permet de surveiller, de façon active et passive, vos ressources cloud à l'aide des fonctionnalités de mesures et d'alarmes. Le service Monitoring utilise des mesures pour surveiller les ressources et les alarmes afin de vous avertir lorsque ces mesures répondent aux déclencheurs spécifiés par l'alarme.

Une mesure est liée à l'état, à la capacité ou aux performances d'une ressource donnée. Une alarme est une règle de déclenchement et une requête. Les alertes surveillent de façon passive vos ressources cloud à l'aide des mesures. Vous pouvez configurer les paramètres de notification lors de la création d'une alarme.

Les mesures sont émises vers le service Monitoring sous forme de points de données bruts (paire horodatage-valeur pour une mesure spécifiée) ainsi que de dimensions (identificateur de ressource fourni dans la définition de mesure) et de métadonnées. Le service Monitoring publie les messages d'alarme sur les destinations configurées gérées par le service Notifications.

Lors de l'interrogation d'une mesure, le service Monitoring renvoie les données agrégées en fonction des paramètres indiqués. Vous pouvez spécifier une plage (par exemple, les dernières 24 heures), une statistique et un intervalle. Une statistique est la fonction d'agrégation appliquée aux points de données brutes. La fonction d'agrégation SUM est un exemple de statistique. Un intervalle est la fenêtre de temps utilisée pour convertir un ensemble de points de données brut. Par exemple, 5 minutes.

La console affiche un graphique de surveillance par mesure pour les ressources sélectionnées. Les données agrégées de chaque graphique reflètent la statistique et l'intervalle sélectionnés. Les demandes d'API peuvent éventuellement filtrer les données par dimension et spécifier une résolution. Les réponses d'API incluent le nom de la mesure, ainsi que le compartiment source et l'espace de noms de mesure associés (indiquent la ressource, le service ou l'application qui émet une mesure). L'espace de noms est fourni dans la définition de mesure. Par exemple, la définition de mesure CpuUtilization transmise par Oracle Cloud indique l'espace de noms de mesure oci_computeagent comme source de la mesure.

Les données de mesure et d'alarme sont accessibles via la console, la CLI et l'API. Pour plus d'informations sur les concepts du service OCI Monitoring, reportez-vous à Concepts relatifs à Monitoring.

Cet article comprend les rubriques suivantes :

Mesures d'Oracle NoSQL Database Cloud Service

Oracle NoSQL Database Cloud Service émet des mesures à l'aide de l'espace de noms de mesure oci_nosql.

Les mesures pour Oracle NoSQL Database Cloud Service incluent les dimensions suivantes :
  • RESOURCEID
    OCID de la table NoSQL dans Oracle NoSQL Database Cloud Service.

    Remarques :

    OCID est un ID unique affecté par Oracle qui fait partie des informations de la ressource à la fois dans la console et dans l'API.
  • TABLENAME

    Nom de la table NoSQL dans Oracle NoSQL Database Cloud Service.

  • REPLICA

    Nom de la région qui reçoit la mise à jour de table d'une autre région.

Oracle NoSQL Database Cloud Service envoie des mesures à Oracle Cloud Infrastructure Monitoring Service. Vous pouvez visualiser ou créer des alarmes sur ces mesures à l'aide des kits SDK ou de l'interface de ligne de commande de la console Oracle Cloud Infrastructure.

Tableau - Mesures d'Oracle NoSQL Database Cloud Service

Mesure Nom d'affichage de la mesure Unité Description Dimensions
ReadUnits Unités de lecture Units Nombre d'unités de lecture consommées au cours de cette période. resourceId tableName
WriteUnits Unités d'écriture Units Nombre d'unités d'écriture consommées au cours de cette période. resourceId tableName
StorageGB Taille de stockage Go Quantité maximale de stockage consommée par la table. Etant donné que ces informations sont générées toutes les heures, vous pouvez voir des valeurs obsolètes entre les points d'actualisation. resourceId tableName
ReadThrottleCount Vitesse de lecture Nombre Nombre d'exception de ralentissement de lecture sur cette table au cours de la période. resourceId tableName
WriteThrottleCount Fréquence d'écriture Nombre Nombre d'exception de ralentissement d'écriture sur cette table au cours de la période. resourceId tableName
StorageThrottleCount Accélération du stockage Nombre Nombre d'exception de ralentissement du stockage sur cette table au cours de la période. resourceId tableName
MaxShardSizeUsagePercent Utilisation de la taille de shard maximale Pourcentage Ratio de l'espace utilisé dans le shard par rapport à l'espace total alloué au shard. Spécifique à une table, il s'agit de la valeur la plus élevée pour tous les shards. resourceId tableName
Replica Lag Lag de la réplique milliseconde Délai de réplication des modifications de données d'une table active globale d'une région d'expéditeur vers une région de récepteur.
resourceId
tableName
replica

En outre, vous pouvez publier des mesures personnalisées en fonction de vos besoins. Par exemple, vous pouvez configurer des mesures pour capturer la latence des transactions d'application (temps passé par transaction terminée), puis publier ces données dans le service Monitoring.

Mesures NDCS - Explication

Oracle NoSQL Database Cloud Service envoie des mesures à Oracle Cloud Infrastructure Monitoring Service.

Unités de lecture :

Nombre d'unités de lecture consommées au cours de cette période. Il s'agit du débit de jusqu'à 1 Ko de données par seconde pour une opération de lecture cohérente à terme. Si vos données dépassent 1 ko, plusieurs unités de lecture sont nécessaires pour les lire. Le graphique de mesures Unité de lecture d'une table est affiché ci-dessous. La mesure est prise toutes les minutes et les graphiques de mesures sont tracés pour un intervalle de 5 minutes par défaut.


Unités d'écriture :

Nombre d'unités d'écriture consommées au cours de cette période. Il s'agit du débit d'une opération d'écriture pouvant atteindre 1 ko de données par seconde. Les opérations d'écriture sont déclenchées lors des opérations d'insertion, de mise à jour et de suppression. Si vos données dépassent 1 ko, plusieurs unités de lecture sont nécessaires pour les écrire. Le graphique de mesures Unité d'écriture pour une table est affiché ci-dessous. La mesure est prise toutes les minutes et les graphiques de mesures sont tracés pour un intervalle de 5 minutes par défaut.


StorageGB:

Quantité maximale de stockage consommée par la table. Le graphique de mesures de stockage d'une table est affiché ci-dessous. La mesure est prise toutes les minutes et les graphiques de mesures sont tracés pour un intervalle de 5 minutes par défaut.

Remarques :

Une heure après la création de la table est nécessaire pour amorcer le début du suivi de la taille du stockage. Après l'heure initiale, les statistiques de stockage sont mises à jour toutes les 5 minutes.


Remarques :

La mesure du Go de stockage est tronquée. Par conséquent, une utilisation de stockage inférieure à 1 Go sera affichée sous la forme 0. Le graphique commence à afficher le stockage lorsque l'utilisation est supérieure à 1 Go.

ReadThrottleCount:

Cela donne le nombre d'exceptions de ralentissement de lecture sur la table donnée au cours de la période. Une exception de ralentissement indique généralement que le débit de lecture provisionné a été dépassé. Si vous les obtenez fréquemment, vous devez envisager d'augmenter les unités de lecture sur votre table. Le graphique de mesures du nombre d'accélérateurs de lecture pour une table est affiché ci-dessous. La mesure est prise toutes les minutes et les graphiques de mesures sont tracés pour un intervalle de 5 minutes par défaut.


WriteThrottleCount:

Cela donne le nombre d'exceptions de limitation d'écriture sur la table donnée au cours de la période. Une exception de ralentissement indique généralement que le débit d'écriture provisionné a été dépassé. Si vous les obtenez fréquemment, vous devez envisager d'augmenter les unités d'écriture sur votre table. Le graphique de mesures du nombre de ralentissements d'écriture pour une table est affiché ci-dessous. La mesure est prise toutes les minutes et les graphiques de mesures sont tracés pour un intervalle de 5 minutes par défaut.


StorageThrottleCount:

Indique le nombre d'exceptions de limitation du stockage sur la table donnée au cours de la période. Une exception de limitation indique généralement que la capacité de stockage provisionnée a été dépassée. Si vous les obtenez fréquemment, vous devez envisager d'augmenter la capacité de stockage de votre table. Le graphique de mesures du nombre de ralentissements du stockage pour une table est affiché ci-dessous. La mesure est prise toutes les minutes et les graphiques de mesures sont tracés pour un intervalle de 5 minutes par défaut.


MaxShardSizeUsagePercent

Utilisation la plus élevée d'espace dans un shard pour une table spécifique, en pourcentage de l'espace utilisé dans ce shard.

Remarques :

Oracle NoSQL Database Cloud Service hache les clés vers les shards afin de les répartir sur un ensemble de noeuds de stockage qui assurent le stockage des tables. Bien que les tables Oracle NoSQL Database Cloud Service ne soient pas directement visibles par vous, elles sont distribuées et répliquées à des fins de disponibilité et de performances. Une clé de shard correspond à 100 % à la clé primaire ou est un sous-ensemble de la clé primaire. Tous les enregistrements partageant une clé de shard sont colocalisés pour atteindre la localisation des données.

Lorsque maxShardSizeUsagepercent atteint 100, vous ne pouvez plus effectuer d'opération d'écriture dans la table. Vous devez augmenter la capacité de stockage pour effectuer une écriture dans la table. Cette mesure permet de déterminer si un point d'accès de stockage existe pour votre table NoSQL.

Ce scénario se produit en raison d'un déséquilibre dans la façon dont les données de la table sont stockées dans les shards. Un déséquilibre peut survenir lorsqu'une majorité des données de la table est stockée dans un sous-ensemble des shards. Le stockage dans une base de données NoSQL est distribué et la clé de shard fait partie de la définition de la table. Dans les tables hiérarchiques, les tables parent et enfant partagent la même clé de shard. Si vous disposez d'une table parent avec des tables enfant, tous les enregistrements partagent la même clé de shard. Toutes ces données seront donc stockées ensemble. Si une table parent a moins d'enfants, elle occupe moins d'espace de stockage dans un seul shard. En raison de ce déséquilibre, certains shards peuvent contenir beaucoup plus de données que d'autres shards.

A un certain moment, un shard aura l'utilisation la plus élevée d'espace pour une table spécifique et le pourcentage utilisé dans ce shard est MaxShardSizeUsagePercent. Le graphique de mesures maxShardSizeUsagepercent d'une table est affiché ci-dessous. La mesure est prise toutes les minutes et les graphiques de mesures sont tracés pour un intervalle de 5 minutes par défaut.


Outre l'affichage du graphique d'une mesure, vous disposez des options suivantes.


Vous pouvez obtenir la vue Table pour vérifier la valeur d'une mesure à un moment donné.


Surveillance de la mesure MaxShardSizeUsagePercent

Vous devez surveiller régulièrement ce graphique pour savoir si maxShardSizeUsagepercent est atteint ou non. Vous pouvez créer une alarme de manière proactive pour cette mesure.


C'est-à-dire que vous devez déclencher une alarme lorsque la mesure atteint une valeur particulière, par exemple 90 pour cent.


L'alarme OCI utilise le service de notification OCI pour envoyer des notifications. En général, l'alarme est configurée pour envoyer des notifications par courriel configuré. Lorsque maxShardSizeUsagepercent atteint 90 %, une notification par courriel est envoyée.


Pour plus d'informations, reportez-vous à Gestion des alarmes et des notifications.

En cas de déséquilibre dans la façon dont vos données de table sont réparties entre les shards, vous ne pourrez pas utiliser la capacité de stockage allouée à votre table à son maximum. Dans ce scénario, maxShardSizeUsagepercent atteint la valeur 100, même sans utiliser l'intégralité du stockage alloué à la table. Vous devez maintenant ajouter davantage de stockage pour continuer à écrire sur votre table. Vous pouvez éviter ce scénario en suivant certaines directives lors de la conception de votre table.
  • Choisissez la clé de shard appropriée pour votre table. Les attributs avec une cardinalité élevée sont un bon choix pour les clés de shard.
  • Limitez le nombre de tables enfant afin d'éviter un déséquilibre potentiel du stockage de shard.

Lag de la réplique

Délai de réplication des modifications de données (INSERT/UPDATE ou DELETE) d'une table active globale d'une région d'expéditeur vers une région de destinataire. L'opération d'écriture qui s'est produite dans la région de l'expéditeur d'une table active globale est reflétée dans la région du destinataire après un décalage. Les informations sur le décalage temporel sont exprimées sous la forme d'une mesure appelée décalage de réplique. Le décalage de la réplique est une mesure de l'actualité des données de table dans la région de réplication du récepteur, par rapport aux données de la table de la région de l'expéditeur. Le décalage de la réplique indique que la table de la région du récepteur n'a pas encore reçu de mises à jour de la région de l'expéditeur qui se sont produites pendant la période de décalage. S'il n'y a pas eu d'écritures d'application pour la table dans la région de l'expéditeur, le service utilise les mécanismes ping pour calculer une approximation du décalage, et la statistique de décalage sera toujours disponible dans la région du récepteur.

Obtenez des informations sur le décalage de la réplique :

Dans la région Récepteur, cliquez sur la table active globale et affichez les informations de la table. Sous Ressources, cliquez sur Mesures. Une mesure, Décalage de la réplique, affiche le décalage de la réplication en millisecondes. Dans l'exemple de graphique ci-dessous, vous voyez que la mesure Replica Lag est prise dans la région Sud-est du Canada (Toronto), qui est la région récepteur. Cette table active globale contient deux répliques de table régionale, une dans les régions Sud-Est du Canada (Montréal) et Est des États-Unis (Ashburn). Vous voyez que le graphique comporte deux lignes chacune pour ces répliques de table régionale à Montréal et à Ashburn.

Dans le graphique ci-dessous, l'intervalle indique la fenêtre de temps utilisée pour tracer le graphique. Les différentes options d'intervalle disponibles sont 1 minute, 5 minutes, 1 heure et 1 jour. Par défaut, le décalage de la réplique est surveillé toutes les 1 minute et le graphique est tracé toutes les 5 minutes. Vous pouvez sélectionner différentes statistiques pour la mesure Décalage de réplique.

Exemple 1 : Décalage de la réplique avec le sud-est du Canada (Toronto) comme région destinataire et le sud-est du Canada (Montréal) et l'est des États-Unis (Ashburn) comme régions expéditeur.

Le graphique ci-dessous est représenté pour la statistique Moyenne sur un intervalle de 5 minutes.


Dans cet exemple, Montréal et Ashburn sont deux régions expéditrices et Toronto est la région destinataire où la mesure est capturée. Considérez la valeur de Replica Lag à 12:25 UTC pour Montréal. Cela fait 2020 millisecondes. Cela signifie que la région destinataire Sud-Est du Canada (Toronto) n'a pas reçu de mises à jour qui se sont produites dans la région expéditeur Sud-Est du Canada (Montréal) au cours des dernières millisecondes 2020. De même, considérez la valeur du décalage de la réplique à 12:25 UTC pour Ashburn. C'est 2954 millisecondes. Cela signifie que la région destinataire Sud-Est du Canada (Toronto) n'a pas reçu de mises à jour qui se sont produites dans la région expéditeur Est des États-Unis (Ashburn) au cours des dernières 2954 millisecondes.

Exemple 2 : décalage de la réplique avec US East (Ashburn) comme région destinataire et Canada Southeast (Montréal) et Canada Southeast Toronto comme régions expéditeur.

Dans cet exemple, Montréal et Toronto sont deux régions expéditrices et Ashburn est la région destinataire où la métrique est capturée.


Exemple 3 : décalage de la réplique avec le sud-est du Canada (Montréal) en tant que région destinataire et l'est des Etats-Unis (Ashburn) et le sud-est du Canada en tant que régions expéditrices.

Dans cet exemple, Ashburn et Toronto sont deux régions expéditrices et Montréal est la région destinataire où la mesure est capturée.


Outre l'affichage du graphique du décalage de la réplique, vous disposez des options suivantes.


Vous pouvez obtenir la vue de table pour vérifier la valeur du décalage de la réplique à un moment donné.


Affichage ou liste des mesures d'Oracle NoSQL Database Cloud Service

Vous pouvez visualiser les mesures disponibles pour Oracle NoSQL Database Cloud Service à partir de la console. Par ailleurs, vous pouvez obtenir la liste des mesures disponibles pour Oracle NoSQL Database Cloud Service à l'aide des commandes de l'interface de ligne de commande OCI.

  1. Ouvrez le menu de navigation et cliquez sur Observation et gestion. Sous Surveillance, cliquez sur Mesures de service.
  2. Sélectionnez le compartiment et l'espace de noms de mesure (oci_nosql).

A partir de Cloud Shell, exécutez la commande suivante. Il renvoie les définitions de mesure correspondant aux critères spécifiés dans la demande. L'OCID de compartiment est requis. Pour plus d'informations sur les OPTIONS disponibles avec la commande list, reportez-vous à Mesures de liste.

oci monitoring metric list --compartment-id <Compartment_OCID> --namespace oci_nosql

Exemple :
oci monitoring metric list --compartment-id ocid1.compartment.oc1..aaaaaaaawrmvqjzoegxbsixp5k3b5554vlv2kxukobw3drjho3f7nf5ca3ya --namespace oci_nosql
Exemple de réponse :
{
  "data": [
    {
      "compartment-id": "ocid1.compartment.oc1..aaaaaaaawrmvqjzoegxbsixp5k3b5554vlv2kxukobw3drjho3f7nf5ca3ya",
      "dimensions": {
        "resourceId": "ocid1_nosqltable_oc1_phx_amaaaaaau7x7rfyasvdkoclhgryulgzox3nvlxb2bqtlxxsrvrc4zxr6lo4a",
        "tableName": "demo"
      },
      "name": "ReadThrottleCount",
      "namespace": "oci_nosql",
      "resource-group": null
    },
    {
      "compartment-id": "ocid1.compartment.oc1..aaaaaaaawrmvqjzoegxbsixp5k3b5554vlv2kxukobw3drjho3f7nf5ca3ya",
      "dimensions": {
        "resourceId": "ocid1_nosqltable_oc1_phx_amaaaaaau7x7rfyasvdkoclhgryulgzox3nvlxb2bqtlxxsrvrc4zxr6lo4a",
        "tableName": "demo"
      },
      "name": "ReadUnits",
      "namespace": "oci_nosql",
      "resource-group": null
    },
    {
      "compartment-id": "ocid1.compartment.oc1..aaaaaaaawrmvqjzoegxbsixp5k3b5554vlv2kxukobw3drjho3f7nf5ca3ya",
      "dimensions": {
        "resourceId": "ocid1_nosqltable_oc1_phx_amaaaaaau7x7rfyasvdkoclhgryulgzox3nvlxb2bqtlxxsrvrc4zxr6lo4a",
        "tableName": "demo"
      },
      "name": "StorageGB",
      "namespace": "oci_nosql",
      "resource-group": null
    },
    {
      "compartment-id": "ocid1.compartment.oc1..aaaaaaaawrmvqjzoegxbsixp5k3b5554vlv2kxukobw3drjho3f7nf5ca3ya",
      "dimensions": {
        "resourceId": "ocid1_nosqltable_oc1_phx_amaaaaaau7x7rfyasvdkoclhgryulgzox3nvlxb2bqtlxxsrvrc4zxr6lo4a",
        "tableName": "demo"
      },
      "name": "StorageThrottleCount",
      "namespace": "oci_nosql",
      "resource-group": null
    },
    {
      "compartment-id": "ocid1.compartment.oc1..aaaaaaaawrmvqjzoegxbsixp5k3b5554vlv2kxukobw3drjho3f7nf5ca3ya",
      "dimensions": {
        "resourceId": "ocid1_nosqltable_oc1_phx_amaaaaaau7x7rfyasvdkoclhgryulgzox3nvlxb2bqtlxxsrvrc4zxr6lo4a",
        "tableName": "demo"
      },
      "name": "WriteThrottleCount",
      "namespace": "oci_nosql",
      "resource-group": null
    },
    {
      "compartment-id": "ocid1.compartment.oc1..aaaaaaaawrmvqjzoegxbsixp5k3b5554vlv2kxukobw3drjho3f7nf5ca3ya",
      "dimensions": {
        "resourceId": "ocid1_nosqltable_oc1_phx_amaaaaaau7x7rfyasvdkoclhgryulgzox3nvlxb2bqtlxxsrvrc4zxr6lo4a",
        "tableName": "demo"
      },
      "name": "WriteUnits",
      "namespace": "oci_nosql",
      "resource-group": null
    }
  ]
}

Comment collecter des mesures Oracle NoSQL Database Cloud Service ?

Vous pouvez créer des requêtes de mesure pour collecter des ensembles spécifiques de mesures (données agrégées). Une requête de mesure contient l'expression Monitoring Query Language (MQL) à évaluer pour renvoyer les données agrégées. La requête doit spécifier une mesure, une statistique et un intervalle.

Vous pouvez utiliser des requêtes de mesure pour surveiller activement et passivement vos ressources cloud. La surveillance active s'effectue à l'aide de requêtes de mesure que vous générez de manière spontanée, à la demande. Dans la console, mettez à jour un graphique pour afficher les données issues de plusieurs requêtes. Stockez les requêtes à réutiliser. La surveillance passive permet d'ajouter une condition, ou une règle de déclencheur, à une requête de mesure.

Syntaxe de requête de mesure (les éléments en gras sont requis) :
metric[interval] {dimensionname=dimensionvalue}.groupingfunction.statistic
Syntaxe de requête d'alarme de seuil (les éléments en gras sont requis) :
metric[interval]{dimensionname=dimensionvalue}.groupingfunction.statistic alarmoperator alarmvalue

Pour obtenir les valeurs de paramètre prises en charge, reportez-vous à Guide de référence sur la surveillance du langage de requête.

Exemples de requêtes

Requête de mesure simple

Somme des nombres d'accélérateurs de stockage pour toutes les tables d'un compartiment à un intervalle d'une minute.

Nombre de lignes affichées dans le graphique de mesures (console) : 1 par table.

StorageThrottleCount[1m].sum()
Requête de mesure filtrée

Somme des nombres d'accélérateurs de stockage dans un compartiment à un intervalle d'une minute, filtrée sur une seule table.

Nombre de lignes affichées dans le graphique de mesures (console) : 1.

StorageThrottleCount[1m]{tableName = "demoKeyVal"}.sum()
Requête de mesure agrégée

Moyenne agrégée des opérations de lecture sur un intervalle de soixante minutes, filtrée sur un compartiment, agrégée pour la moyenne.

Nombre de lignes affichées dans le graphique de mesures (console) : 1 par table.

ReadUnits[60m]{compartmentId="ocid1.compartment.oc1.phx..exampleuniqueID"}.grouping().mean()
Requête de mesure agrégée par groupe

Moyenne agrégée du nombre d'accélérateurs de lecture par unité de lecture à un intervalle de soixante minutes, filtrée sur une seule table dans un compartiment.

Nombre de lignes affichées dans le graphique de mesures (console) : 1 par unité de lecture.

ReadThrottleCount[60m]{tableName = "demoKeyVal"}.groupBy(ReadUnits).mean()

Création d'une requête de mesure

Il existe deux façons de créer une requête de mesure. Vous pouvez créer une requête à l'aide de la console ou de la commande de l'interface de ligne de commande

  1. Ouvrez le menu de navigation et cliquez sur Observation et gestion. Sous Surveillance, cliquez sur Explorateur de mesures.

    La page Explorateur de mesures affiche un graphique vide avec des champs permettant de créer une requête.

  2. Remplissez les champs pour créer une requête.
    • Compartiment : compartiment contenant les tables Oracle NoSQL Database Cloud Service à surveiller. By default, the first accessible compartment is selected.
    • Espace de noms de mesure : Oracle NoSQL Database Cloud Service émettant des mesures pour les tables à surveiller. Exemple : oci_nosql.
    • Groupe de ressources (facultatif) : groupe auquel la mesure appartient. Un groupe de ressources est une chaîne personnalisée fournie avec une mesure personnalisée. Non applicable aux mesures de service.
    • Nom de mesure : nom de la mesure. Vous ne pouvez indiquer qu'une seule mesure. Les sélections de mesure dépendent du compartiment et de l'espace de noms de mesure sélectionnés. Exemple : ReadUnits
    • Intervalle : fenêtre d'agrégation.
    • Etat : fonction d'agrégation.
    • Mesures : filtres facultatifs pour restreindre les données de mesure évaluées.
      • Champs de dimension : pour les mesures Oracle NoSQL Database Cloud Service, vous pouvez sélectionner resourceId ou tableName comme paire nom de dimension/valeur de dimension.
    • Agréger les flux de données de mesure : trace une seule ligne sur le graphique de mesures afin de représenter la valeur combinée de tous les flux de données de mesure pour la statistique sélectionnée.
  3. Cliquez sur Mettre le graphique à jour.

    Le graphique présente les résultats de la nouvelle requête. Les valeurs très faibles ou très élevées sont indiquées par le système international d'unités (SI), par exemple M pour méga (10 puissance six). Les unités correspondent à la mesure sélectionnée et ne changent pas en fonction des statistiques.

  4. Pour visualiser la requête en tant qu'expression MQL (Monitoring Query Language), sélectionnez Mode avancé.
    • Le mode Avancé se trouve à droite, sous le graphique.

      Utilisez le mode avancé pour modifier votre requête à l'aide de la syntaxe MQL afin d'agréger les résultats par groupe. La syntaxe MQL prend également en charge des valeurs de paramètre supplémentaires. Pour plus d'informations sur les paramètres de requête en mode de base et en mode avancé, reportez-vous à Référence de Monitoring Query Language (MQL).

A partir de Cloud Shell, exécutez la commande suivante. Il renvoie des données agrégées correspondant aux critères spécifiés dans la demande. L'OCID de compartiment est requis.

oci monitoring metric-data summarize-metrics-data --compartment-id<Compartment_OCID> --namespace oci_nosql --query-text [text]

--query-text est l'expression MQL (Monitoring Query Language) à utiliser lors de la recherche de points de données de mesure à agréger. La requête doit spécifier une mesure, une statistique et un intervalle. Valeurs prises en charge pour l'intervalle : 1m-60m (aussi 1h). Vous pouvez éventuellement spécifier des dimensions et des fonctions de regroupement. Fonctions de regroupement prises en charge : group(), groupBy(). Pour plus d'informations sur les OPTIONS disponibles avec la commande summary-metrics-data, reportez-vous à Résumé des données de mesure. Dans l'exemple ci-dessous, nous créons une requête de mesure filtrée pour obtenir la somme des unités de lecture dans un compartiment à un intervalle d'une minute, filtrée sur une seule table.

Exemple :
oci monitoring metric-data summarize-metrics-data --compartment-id ocid1.compartment.oc1..aaaaaaaawrmvqjzoegxbsixp5k3b5554vlv2kxukobw3drjho3f7nf5ca3ya 
--namespace oci_nosql --query-text 'ReadUnits[1m]{tableName="articles"}.sum()'
Exemple de réponse :
{
  "data": [
    {
      "aggregated-datapoints": [
        {
          "timestamp": "2022-02-17T11:03:00+00:00",
          "value": 0.0
        },
        {
          "timestamp": "2022-02-17T11:04:00+00:00",
          "value": 0.0
        },
        {
          "timestamp": "2022-02-17T11:05:00+00:00",
          "value": 0.0
        },

        ...
        ...
        ...

        {
          "timestamp": "2022-02-17T13:59:00+00:00",
         "value": 0.0
        },
        {
          "timestamp": "2022-02-17T14:00:00+00:00",
          "value": 0.0
        },
        {
          "timestamp": "2022-02-17T14:01:00+00:00",
          "value": 0.0
        }
      ],
      "compartment-id": "ocid1.compartment.oc1..aaaaaaaawrmvqjzoegxbsixp5k3b5554vlv2kxukobw3drjho3f7nf5ca3ya",
      "dimensions": {
        "resourceId": "ocid1_nosqltable_oc1_phx_amaaaaaau7x7rfyav7f67yuj3t2q6rk7lp2a2obfdxa6hg2ho2ea7qabin4q",
        "tableName": "demo"
      },
      "metadata": {},
      "name": "ReadUnits",
      "namespace": "oci_nosql",
      "resolution": null,
      "resource-group": null
    }
  ]
}

Création d'alarme

Vous pouvez créer une alarme qui évalue la requête d'alarme et envoie une notification lorsque l'alarme est à l'état de déclenchement, ainsi que d'autres propriétés d'alarme. Lorsqu'une alarme est déclenchée, elle envoie un message d'alarme au sujet configuré (dans Notifications), qui l'envoie ensuite à tous les abonnements du sujet. Slack, Email, SMS et PagerDuty sont quelques exemples de rubrique configurée dans Notifications.

Lorsqu'elle est configurée, la répétition des notifications vous rappelle un état de déclenchement continu à l'intervalle défini. Vous êtes également averti lorsqu'une alerte revient à l'état OK ou est réinitialisée.

Une requête d'alarme contient l'expression MQL (Monitoring Query Language) à évaluer pour renvoyer les données agrégées. La requête doit spécifier une mesure, une statistique et un intervalle.

Il existe deux façons de créer une alarme. Vous pouvez créer une requête à l'aide de la console ou de l'interface de ligne de commande OCI.

  1. Ouvrez le menu de navigation et cliquez sur Observation et gestion. Sous Surveillance, cliquez sur Définitions d'alarme.
  2. Cliquez sur Créer une alarme.

    Remarques :

    Vous pouvez également créer une alerte à partir d'une requête prédéfinie sur la page Mesures de service. Développez Options et cliquez sur Create an Alarm on this Query. Pour plus d'informations sur les mesures de service, reportez-vous à Affichage ou liste des mesures Oracle NoSQL Database Cloud Service.
  3. Sur la page Create Alarm, sous Define alarm (Définir une alerte), remplissez ou mettez à jour les paramètres d'alarme :

    Remarques :

    Pour basculer entre le mode de base et le mode avancé, cliquez sur Basculez vers le mode avancé ou sur Basculez vers le mode de base (à droite de Définir une alarme).
    • Nom d'alarme : nom convivial de la nouvelle alerte. Ce nom est envoyé comme titre pour les notifications relatives à cette alerte. Evitez de saisir des informations confidentielles.
    • Gravité de l'alarme : type de réponse perçu requis lorsque l'alarme est à l'état de déclenchement.
    • Corps de l'alarme : contenu lisible par l'utilisateur de la notification remise. Oracle vous recommande de fournir des directives aux opérateurs concernant la résolution de la condition d'alarme. Exemple : "Nombre d'accélérations de lecture élevées".
    • Balises (facultatif) : si vous êtes autorisé à créer une ressource, vous disposez également des droits d'accès nécessaires pour lui appliquer des balises à format libre. Pour appliquer une balise définie, vous devez être autorisé à utiliser l'espace de noms de balise. Pour plus d'informations sur le balisage, reportez-vous à Balises de ressource. Si vous n'êtes pas certain d'appliquer des balises, ignorez cette option (vous pouvez les appliquer ultérieurement) ou demandez à l'administrateur.
    • Description de mesure : mesure à évaluer pour la condition d'alarme.
      • Compartiment : compartiment contenant les tables Oracle NoSQL Database Cloud Service à surveiller. By default, the first accessible compartment is selected.
      • Espace de noms de mesure : Oracle NoSQL Database Cloud Service émet des mesures pour les tables à surveiller. Exemple : oci_nosql.
      • Groupe de ressources (facultatif) : groupe auquel la mesure appartient. Un groupe de ressources est une chaîne personnalisée fournie avec une mesure personnalisée. Non applicable aux mesures de service.
      • Nom de mesure : nom de la mesure. Vous ne pouvez indiquer qu'une seule mesure. Les sélections de mesure dépendent du compartiment et de l'espace de noms de mesure sélectionnés. Exemple : ReadUnits
      • Intervalle : fenêtre d'agrégation.
      • Etat : fonction d'agrégation.
    • Mesures : filtres facultatifs pour restreindre les données de mesure évaluées.
      • Champs de dimension : pour les mesures Oracle NoSQL Database Cloud Service, vous pouvez sélectionner resourceId ou tableName comme paire nom de dimension/valeur de dimension.
    • Agréger les flux de données de mesure : trace une seule ligne sur le graphique de mesures afin de représenter la valeur combinée de tous les flux de données de mesure pour la statistique sélectionnée.
    • Règle de déclencheur : condition à remplir pour que l'alarme soit à l'état de déclenchement. La condition peut spécifier un seuil, tel que 90 % pour StorageGB.
      • Opérateur : opérateur utilisé dans le seuil de la condition.
      • Valeur : valeur à utiliser pour le seuil de la condition.
      • Minutes de délai de déclenchement : nombre de minutes pendant lesquelles la condition doit être conservée avant que l'alarme ne se déclenche.
  4. Pour modifier la vue des résultats de la requête, cliquez sur l'option appropriée au-dessus des résultats, à droite :
    • Afficher la table des données : répertorie les points de données, en indiquant l'horodatage et les octets pour chacun.
    • Afficher le graphique (valeur par défaut) : trace les points de données sur un graphique.
  5. Configurer les notifications : sous Notifications, remplissez les champs.
    • Destinations : rubrique à utiliser pour les notifications.
    • Répéter la notification ? : lorsque l'alarme est à l'état de déclenchement, renvoie des notifications à l'intervalle indiqué.
    • fréquence de notification : période d'attente avant le renvoi de la notification.
    • Supprimer des notifications : configurez une fenêtre de temps de suppression pendant laquelle suspendre les évaluations et les notifications. Utile pour éviter les notifications d'alarme pendant les périodes de maintenance système.
  6. Pour désactiver l'alarme, désélectionnez-la activer ?
  7. Cliquez sur Enregistrer l'alarme.

A partir de Cloud Shell, exécutez la commande suivante pour créer une alarme dans le compartiment indiqué. L'OCID de compartiment est requis.

oci monitoring alarm create --compartment-id <Compartment_OCID> --namespace oci_nosql --query-text [text] --destinations [complex type] --display-name [text] --is-enabled [boolean] --metric-compartment-id [text] --severity [text]

--query-text est l'expression MQL (Monitoring Query Language) à utiliser lors de la recherche de points de données de mesure à agréger. La requête doit spécifier une mesure, une statistique et un intervalle. Valeurs prises en charge pour l'intervalle : 1m-60m (aussi 1h). Vous pouvez éventuellement spécifier des dimensions et des fonctions de regroupement. Fonctions de regroupement prises en charge : group(), groupBy(). Pour plus d'informations sur les OPTIONS disponibles avec la commande de création d'alarme, reportez-vous à create - alarm. Dans l'exemple ci-dessous, nous créons une alarme avec une requête d'alarme lorsque le centile 90 de StorageGB est supérieur à 85 dans un compartiment à un intervalle d'une minute, filtré sur une seule table.

Exemple d'alarme de seuil :
oci monitoring alarm create --compartment-id ocid1.compartment.oc1..aaaaaaaawrmvqjzoegxbsixp5k3b5554vlv2kxukobw3drjho3f7nf5ca3ya 
--namespace oci_nosql --query-text 'StorageGB[1m]{tableName="demo"}.groupBy(WriteUnits).percentile(0.9) > 85' 
--display-name HighStorageConsumption --metric-compartment-id demonosql --severity Critical --is-enabled true

Gestion des alarmes

Vous pouvez suivre ces directives pour gérer vos alarmes.

  • Créez un ensemble d'alarmes pour chaque mesure.
    Pour chaque mesure émise par la table Oracle NoSQL Database Cloud Service, créez des alarmes qui définissent les comportements de ressource suivants :
    • À risque : Oracle NoSQL Database Cloud Service risque de devenir inutilisable, comme indiqué par les valeurs de mesure. Par exemple, la taille de stockage d'une table risque d'être fortement utilisée.
    • Non optimal : Oracle NoSQL Database Cloud Service fonctionne à des niveaux non optimaux, comme indiqué par les valeurs de mesure. Par exemple, ReadUnits ou les unités d'écriture présentent une latence élevée.
    • La ressource est démarrée ou arrêtée : Oracle NoSQL Database Cloud Service n'est pas accessible ou ne fonctionne pas. Par exemple, Nombre élevé pour ReadThrottleCount ou WriteThrottleCount.
  • Configurez un processus de réponse aux alarmes.
    En fonction de la gravité de l'alarme, vous pouvez choisir de répondre aux alarmes de différentes manières :
    • Pour les alarmes critiques aux risques, vous pouvez décider d'avertir immédiatement l'équipe des opérations, car une réparation est nécessaire pour ramener les instances à des niveaux opérationnels optimaux. Vous configurez des notifications d'alarme pour l'équipe concernée via PagerDuty et par courriel, afin de demander un examen et des correctifs appropriés avant que les instances deviennent inutilisables. Vous définissez les notifications de façon répétée toutes les minutes. Lorsqu'une personne répond aux notifications d'alarme, vous arrêtez temporairement les notifications en supprimant l'alarme. Enlevez la suppression lorsque les valeurs des mesures sont rétablies.
    • Pour les alarmes Avertissement ou non optimales, vous pouvez décider d'informer la personne ou l'équipe appropriée que la table Oracle NoSQL Database Cloud Service consomme plus de taille de stockage que d'habitude. Vous configurez une alarme de seuil pour avertir les interlocuteurs appropriés qu'aucune action immédiate n'est requise pour examiner et réduire la taille du stockage. Vous définissez une notification par courriel uniquement, destinée à l'équipe ou au développeur concerné, avec répétition des notifications toutes les 24 heures afin de réduire le bruit des notifications par courriel.