Cette page aborde plus en détail la discussion et les exemples présentés dans les pages Métriques, séries temporelles et ressources et Composants du modèle de métrique. Pour tirer le meilleur parti de cette page, commencez par lire ces pages.
Cette page est destinée aux lecteurs qui souhaitent mieux comprendre les séries temporelles et la mise en œuvre du modèle de métrique Cloud Monitoring, en particulier ceux qui utilisent l'API Monitoring. Cela inclut les utilisateurs de métriques personnalisées (définies par l'utilisateur).Cette page mappe le modèle de métrique général à l'API Cloud Monitoring. Elle est donc utile pour toute personne utilisant directement l'API Monitoring. Les utilisateurs dont l'interaction principale est avec Google Cloud Console n'ont probablement pas besoin de ce niveau de détail.
Elle est également utile pour toute personne utilisant une intégration tierce comme OpenTelemetry. Lorsque les données d'une source externe atteignent Cloud Monitoring via une intégration, elles sont mappées au modèle de métrique Cloud Monitoring et traitées comme toute autre donnée de métrique.
Pour en savoir plus sur la collecte de vos propres métriques, consultez la section Présentation des métriques définies par l'utilisateur.
Examen du modèle de métrique
Pour comprendre la structure des séries temporelles, vous devez connaître le modèle de métrique utilisé par Cloud Monitoring. Ce modèle est décrit sur la page Métriques, séries temporelles et ressources. Cette section en fournit un bref aperçu.
De manière générale, les données de surveillance sont enregistrées dans des séries temporelles. Chaque série temporelle inclut trois informations pertinentes pour cette discussion :
- Un ensemble de points de données horodatés
- Une référence au type de métrique qui vous indique comment interpréter les points de données
Une référence à la ressource surveillée d'où proviennent les données
Chaque série temporelle contient les mesures d'une seule source physique ou logique. Si votre environnement dispose de centaines de ressources, chacune contribue à au moins une série temporelle. En fait, si votre type de métrique et votre type de ressource surveillée comportent des libellés, vous obtenez une série temporelle par combinaison de valeurs de libellé. Pour en savoir plus, consultez la section Cardinalité.
Exemple de série temporelle
Une série temporelle est représentée par une instance d'un objet TimeSeries
.
Voici une instance complète d'une seule série temporelle:
{ "metric": { "labels": { "log": "kubelet", "severity": "DEFAULT" }, "type": "logging.googleapis.com/log_entry_count" }, "resource": { "type": "gce_instance", "labels": { "instance_id": "5106847938295940291", "zone": "us-central1-a", "project_id": "a-gcp-project" } }, "metricKind": "DELTA", "valueType": "INT64", "points": [ { "interval": { "startTime": "2019-12-20T20:25:38Z", "endTime": "2019-12-20T20:26:38Z" }, "value": { "int64Value": "20" } } ] }
La plupart des séries temporelles incluent beaucoup plus de points de données. Celle-ci couvre un intervalle d'une minute. Toutes les séries temporelles ont la même structure, avec les champs suivants :
Le champ
metric
enregistre les informations suivantes :- Les valeurs de libellé de métrique pour cette série temporelle particulière, représentant une combinaison de valeurs de libellé.
- Le type de métrique auquel les données sont associées. Le type de métrique spécifie les libellés disponibles et décrit ce que les points de données représentent.
Les informations figurant dans ce champ sont décrites plus en détail dans la section Métriques.
Le champ
resource
enregistre les informations suivantes :- Les valeurs de libellé de ressource pour cette série temporelle particulière, représentant une combinaison de valeurs de libellé.
- la ressource surveillée spécifique à partir de laquelle les données ont été collectées.
Les informations figurant dans ce champ sont décrites plus en détail dans la section Objets de ressources surveillées.
Les champs
metricKind
etvalueType
vous indiquent comment interpréter les valeurs. Pour en savoir plus, consultez la section Types de valeurs et genres de métriques.Le champ
points
est un tableau de valeurs horodatées. Le type de métrique vous indique ce que les valeurs représentent. L'exemple de série temporelle comporte un tableau avec un seul point de données. Dans la plupart des séries temporelles, le tableau comporte beaucoup plus de valeurs.
Pour obtenir un exemple réel permettant de récupérer des données de séries temporelles, consultez la section Séries temporelles : données d'une ressource surveillée.
Le reste de la page examine plus en détail les informations des champs metric
et resource
.
Ressources surveillées
Cloud Monitoring collecte les données des ressources surveillées et les enregistre dans des séries temporelles. Chaque série temporelle créée inclut une description de la ressource surveillée à partir de laquelle les données ont été collectées.
Objets de ressources surveillées
Une ressource surveillée est représentée par une instance d'un objet MonitoredResource
. La ressource surveillée décrit la source des valeurs d'une série temporelle.
L'objet MonitoredResource
est intégré à la série temporelle et identifie une instance spécifique d'un type de ressource surveillée connu de Monitoring: il pointe vers une entité physique ou logique.
Par exemple, voici un objet de ressource surveillée décrivant une instance Compute Engine particulière, extrait de l'exemple de série temporelle :
"resource": { "type": "gce_instance", "labels": { "instance_id": "5106847938295940291", "zone": "us-central1-a", "project_id": "a-gcp-project" } }
Cette instance d'une ressource surveillée est de type gce_instance
et elle possède une valeur instance_id
spécifique (5106847938295940291) dans le projet a-gcp-project
.
L'instance est située aux États-Unis. Une autre série temporelle peut provenir d'une autre instance de cette ressource surveillée. Chaque combinaison de valeurs de libellé identifie une ressource unique à partir de laquelle les données sont collectées.
Il est pertinent d'avoir différents ensembles de libellés pour différentes ressources. L'ensemble de libellés d'une ressource est déterminé par le descripteur de ressource surveillée pour ce type.
Descripteurs de ressources surveillées
Les informations sur un type de ressource surveillée sont contenues dans une structure de données appelée descripteur de ressource surveillée. Pour connaître la définition de cette structure de données, consultez MonitoredResourceDescriptor
.
Un descripteur de ressource surveillée est semblable à un schéma ou à une spécification pour une structure d'enregistrement. Il ne contient pas de données sur une instance particulière de la ressource surveillée. Il vous explique comment décrire une ressource surveillée d'un type spécifique. Par exemple, voici le descripteur de ressource surveillée pour la ressource gce_instance
:
{ "type": "gce_instance", "displayName": "VM Instance", "description": "A virtual machine instance hosted in Compute Engine.", "name": "projects/[PROJECT_ID]/monitoredResourceDescriptors/gce_instance" "labels": [ { "key": "project_id", "description": "The identifier of the GCP project associated with this resource, such as \"my-project\"." }, { "key": "instance_id", "description": "The numeric VM instance identifier assigned by Compute Engine." }, { "key": "zone", "description": "The Compute Engine zone in which the VM is running." } ], }
Comparez ce descripteur de ressource surveillée à l'instance spécifique d'une ressource gce_instance
indiquée dans la section Objets de ressources surveillées.
Ce descripteur ne décrit pas une ressource surveillée particulière. À la place, le descripteur spécifie les libellés, et chaque combinaison de valeurs de libellé identifie une ressource surveillée particulière.
Vous pouvez récupérer les descripteurs de ressources surveillées dans votre projet Google Cloud à l'aide de l'API Cloud Monitoring. Consultez, par exemple, les pages de référence des méthodes monitoredResourceDescriptors.list
et monitoredResourceDescriptors.get
.
Exemple concret:Si vous avez un projet Google Cloud, vous pouvez récupérer ce descripteur à l'aide du widget APIs Explorer comme suit:
Ouvrez la page de référence
monitoredResourceDescriptors.list
.Dans le volet Essayer cette méthode, saisissez ce qui suit:
name :
projects/PROJECT_ID/monitoredResourceDescriptors/gce_instance
Remplacez
PROJECT_ID
par l'ID de votre projet Google Cloud.
Cliquez sur Exécuter.
La requête renvoie le descripteur précédent.
Pour obtenir des exemples d'utilisation des méthodes de l'API Monitoring, consultez la page Répertorier les types de métriques et de ressources.
Métriques
Chaque série temporelle créée par Cloud Monitoring enregistre un ensemble de points de données ainsi que des informations sur leur organisation et leur signification.
Objets de métriques
Chaque série temporelle inclut une référence à la description des données enregistrées dans un objet de métrique.
L'objet de métrique contenu dans une série temporelle spécifie le type de mesures et des informations spécifiques à la métrique sur ces mesures.
Pour en savoir plus sur la structure de données de l'objet métrique, consultez Metric
.
Par exemple, voici l'objet de métrique extrait de la série temporelle indiquée dans la section Exemple de série temporelle:
{ "metric": { "labels": { "log": "kubelet", "severity": "DEFAULT" }, "type": "logging.googleapis.com/log_entry_count" }
Cet objet vous indique que la série temporelle contient des mesures logging.googleapis.com/log_entry_count
. Les valeurs de libellé vous indiquent que cette série temporelle spécifique ne comptabilise que les entrées de journal de gravité DEFAULT
dans le fichier journal nommé kubelet
.
Il existe une série temporelle pour chaque combinaison de valeurs de libellé. Par conséquent, les entrées INFO
d'un même fichier journal apparaissent dans une série temporelle différente.
L'ensemble de libellés collectés dans un objet de métrique est spécifié dans le descripteur de ce type de métrique.
Descripteurs de métriques
Les informations sur un type de métrique sont contenues dans une structure de données appelée descripteur de métrique. Pour connaître la définition de cette structure de données, consultez MetricDescriptor
.
Un descripteur de métrique est un schéma ou une spécification pour une structure d'enregistrement. Il ne contient pas de données sur une métrique spécifique. Il vous explique comment interpréter les données associées à un type de métrique spécifique.
Voici un exemple de descripteur de la métrique:
{ "type": "logging.googleapis.com/log_entry_count", "name": "projects/a-gcp-project/metricDescriptors/logging.googleapis.com/log_entry_count", "labels": [ { "key": "log", "description": "Name of the log." }, { "key": "severity", "description": "Severity of the log entry." } ], "metricKind": "DELTA", "valueType": "INT64", "unit": "1", "description": "Number of log entries that contributed to user-defined metrics.", "displayName": "Log entries", "metadata": { "launchStage": "GA", "samplePeriod": "60s" }, "launchStage": "GA" }
Comparez ce descripteur de métrique à l'objet de métrique indiqué dans la section Objets de métriques. Le descripteur vous indique la signification des valeurs de libellé et explique comment interpréter les valeurs des points de données.
Vous pouvez récupérer des descripteurs de métriques à l'aide de l'API Cloud Monitoring. Consultez, par exemple, les pages de référence des méthodes metricDescriptors.list
et metricDescriptors.get
.
Exemple concret:Si vous avez un projet Google Cloud, vous pouvez récupérer ce descripteur à l'aide du widget APIs Explorer comme suit:
Ouvrez la page de référence sur
metricDescriptors.list
.Dans le volet Essayer cette méthode, saisissez ce qui suit:
- name:
projects/PROJECT_ID/metricDescriptors/logging.googleapis.com/log_entry_count
RemplacezPROJECT_ID
par l'ID de votre projet Google Cloud.
- name:
Cliquez sur Exécuter.
La requête renvoie le descripteur précédent.
Pour obtenir des exemples d'utilisation des méthodes de l'API Monitoring, consultez la page Répertorier les types de métriques et de ressources.
La plupart des champs du descripteur de métrique sont explicites. Deux champs peuvent demander plus d'explications. Il s'agit du genre de métrique et du type de valeur, qui sont décrits plus en détail sur la page Types de valeurs et genres de métriques.
Cloud Monitoring dispose d'environ 6 500 types de métriques intégrées. Pour en savoir plus,consultez la liste des métriques. Vous pouvez également créer vos propres descripteurs de métriques pour capturer des métriques personnalisées. Pour en savoir plus, consultez la page Présentation des métriques définies par l'utilisateur.