Observability Analytics vous permet d'enregistrer et de partager des requêtes SQL afin de pouvoir réexécuter des investigations Cloud Trace fréquentes et collaborer avec les membres de votre équipe sur votre projet. Vous pouvez conserver les requêtes enregistrées de manière privée pour votre propre usage ou les partager avec d'autres membres du projet. Si vous n'avez pas écrit de requêtes dans Observability Analytics, consultez d'abord Interroger et analyser des traces.
Avant de commencer
Configurez votre projet et vos rôles IAM, puis sélectionnez l'interface que vous prévoyez d'utiliser.
Configurer votre projet et vos rôles
- Connectez-vous à votre compte Google Cloud . Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits sans frais pour exécuter, tester et déployer des charges de travail.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Observability API, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Observability API, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Pour obtenir les autorisations nécessaires pour charger la page Analyse de l'observabilité, écrire, exécuter et enregistrer des requêtes privées sur vos données de trace, demandez à votre administrateur de vous accorder les rôles IAM suivants :
- Accesseur de vue d'observabilité (
roles/observability.viewAccessor) sur les vues d'observabilité que vous souhaitez interroger. Ce rôle est compatible avec les conditions IAM, qui vous permettent de limiter l'accès à une vue spécifique. Si vous n'associez pas de condition à l'attribution de rôle, le compte principal peut accéder à toutes les vues d'observabilité. - Utilisateur Observability Analytics (
roles/observability.analyticsUser) sur votre projet Ce rôle contient les autorisations requises pour enregistrer et exécuter des requêtes privées, et pour exécuter des requêtes partagées.
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.
- Accesseur de vue d'observabilité (
Sélectionnez l'interface que vous prévoyez d'utiliser.
Console
Lorsque vous utilisez la console Google Cloud pour accéder aux services et aux API Google Cloud , vous n'avez pas besoin de configurer l'authentification.
gcloud
Dans la console Google Cloud , activez Cloud Shell.
En bas de la console Google Cloud , une session Cloud Shell démarre et affiche une invite de ligne de commande. Cloud Shell est un environnement shell dans lequel Google Cloud CLI est déjà installé, et dans lequel des valeurs sont déjà définies pour votre projet actuel. L'initialisation de la session peut prendre quelques secondes.
REST
Pour utiliser les exemples API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à la gcloud CLI.
Installez la Google Cloud CLI.
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Google Cloud .
Enregistrer une requête
Toutes les requêtes que vous exécutez sont automatiquement enregistrées pendant 30 jours et sont accessibles en sélectionnant l'onglet Récentes sur la page Observability Analytics. Vous pouvez rechercher, afficher, exécuter et partager les requêtes listées dans l'onglet Récentes.
Pour réutiliser une requête, ajouter des descriptions personnalisées ou la partager avec des coéquipiers, enregistrez-la. Vous pouvez rechercher et trier vos requêtes enregistrées par nom, description et libellé de visibilité. Vous pouvez également modifier et supprimer ces requêtes. Les requêtes que vous enregistrez sont conservées jusqu'à ce que vous les supprimiez.
Vous pouvez enregistrer 10 000 requêtes par projet Google Cloud .
Console
Pour enregistrer une requête :
-
Dans la console Google Cloud , accédez à la page manage_search Analyse de l'observabilité :
Accéder à Observability Analytics
Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Logging.
Renseignez le volet Requête avec une requête.
Vous pouvez remplir le volet Requête en saisissant une nouvelle requête, en sélectionnant une requête dans l'onglet Récentes ou en sélectionnant une requête dans l'onglet Enregistrées.
Votre requête peut inclure n'importe quelle vue valide, plusieurs vues et des vues Analytics.
Lorsque la requête dans le volet Requête est valide, le bouton Enregistrer est activé.
Cliquez sur Enregistrer, sélectionnez Enregistrer la requête, puis renseignez les champs Nom et Description. Les valeurs que vous définissez pour ces champs sont affichées dans l'onglet Enregistré.
Facultatif : Pour permettre à toutes les personnes ayant accès à la page Analyse de l'observabilité pour la vue du projet Google Cloud d'afficher et d'exécuter votre requête enregistrée, activez l'option Partager avec le projet.
Par défaut, ce bouton est désactivé et la visibilité est limitée à vous.
Cliquez sur Enregistrer la requête.
Facultatif : Pour afficher, trier et exécuter les requêtes enregistrées qui sont visibles pour vous, sélectionnez l'onglet Enregistrées.
Vous pouvez trier et filtrer vos requêtes enregistrées par nom, description et libellé de visibilité. Vous pouvez également filtrer les résultats par contenu de la requête.
Vous pouvez modifier et supprimer les requêtes que vous avez créées à l'aide des options de l'onglet Enregistrées :
Pour modifier une requête, cliquez sur more_vert Plus d'options, puis sélectionnez Modifier. Vous pouvez modifier les valeurs des champs Nom et Description, mais pas la requête elle-même.
Pour supprimer une requête enregistrée, cliquez sur more_vert Plus d'options, puis sélectionnez Supprimer.
gcloud
Pour créer et enregistrer une requête :
-
Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
- DISPLAY_NAME : nom à afficher de la requête enregistrée.
- LOCATION : emplacement de la requête enregistrée.
- VISIBILITY : définissez sur
privateoushared. - SQL_QUERY : requête SQL. Si des guillemets inversés simples
(`)entourent le chemin d'accès ou les champs du chemin d'accès, vous devez les échapper :"SELECT * FROM \`PROJECT_ID.LOCATION.my-log-bucket._AllLogs\`"ou
"SELECT * FROM \`PROJECT_ID.LOCATION._Trace.Spans._AllSpans\`"Les guillemets inversés
(`)sont obligatoires lorsqu'un élément de chemin d'accès contient un caractère point(.). - ID : ID de la requête enregistrée. Cet ID est une entrée obligatoire pour les commandes qui décrivent, mettent à jour ou suppriment une requête enregistrée. Si vous ne fournissez pas l'ID lorsque vous créez une requête enregistrée, le système génère un ID numérique.
- DESCRIPTION : description textuelle de la requête. Facultatif.
- PROJECT_ID : identifiant du projet.
Exécutez la commande
gcloud logging saved-queries create:Linux, macOS ou Cloud Shell
gcloud logging saved-queries create --display-name=DISPLAY_NAME \ --location=LOCATION --visibility=VISIBILITY --sql-query-text=SQL_QUERY \ --id=ID --description=DESCRIPTION --project=PROJECT_ID
Windows (PowerShell)
gcloud logging saved-queries create --display-name=DISPLAY_NAME ` --location=LOCATION --visibility=VISIBILITY --sql-query-text=SQL_QUERY ` --id=ID --description=DESCRIPTION --project=PROJECT_ID
Windows (cmd.exe)
gcloud logging saved-queries create --display-name=DISPLAY_NAME ^ --location=LOCATION --visibility=VISIBILITY --sql-query-text=SQL_QUERY ^ --id=ID --description=DESCRIPTION --project=PROJECT_ID
Voici un exemple de réponse lorsque l'ID fourni dans la commande était
my-saved-query:Created saved query [projects/PROJECT_ID/locations/LOCATION/savedQueries/my-saved-query].
La réponse à la commande
createliste le nom complet de la requête, qui inclut son ID. L'ID de requête, qui estmy-saved-querydans cet exemple, est une entrée obligatoire pour les commandes Google Cloud CLI qui décrivent, suppriment ou mettent à jour une requête enregistrée. Pour inspecter la requête enregistrée, exécutez la commande suivante :
gcloud logging saved-queries list --location=- --project=PROJECT_IDDans l'expression précédente, la valeur de l'emplacement est un tiret
(-), qui sert de caractère générique. Vous pouvez également indiquer un lieu spécifique.
Il existe des commandes Google Cloud CLI pour supprimer, lister, décrire et mettre à jour les requêtes enregistrées. Pour en savoir plus, consultez la présentation de gcloud logging saved-queries.
REST
Vous pouvez enregistrer une requête à l'aide de l'API Cloud Logging. Pour enregistrer une requête, utilisez la méthode savedQueries.create.
Pour exécuter cette méthode, procédez comme suit :
- Sélectionnez
savedQueries.create. - Sur la page de référence, utilisez APIs Explorer pour exécuter une commande. Vous devez spécifier le champ
opsAnalyticsQuery.
L'exemple suivant illustre un exemple de corps de requête, qui contient une instance de SavedQuery :
{
"parent": "projects/my-project/locations/global"
"saved_query":
{
"ops_analytics_query":
{
"sql_query_text" :
"SELECT
timestamp, log_name, severity, json_payload, resource, labels
FROM
`VIEW`
WHERE
timestamp > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 HOUR)
ORDER BY timestamp ASC
LIMIT 100"
}
"visibility": "PRIVATE"
}
}
Partager une requête
Vous pouvez partager une requête enregistrée avec toutes les personnes ayant accès à votre projetGoogle Cloud . Toutefois, les rôles IAM du compte principal déterminent si la requête peut être exécutée et les données qu'elle renvoie.
Console
Lorsque vous résolvez un problème ou que vous constatez des résultats anormaux, vous pouvez partager une requête et ses résultats avec un membre de votre équipe. Lorsque vous consultez les résultats d'une requête sur la page Observability Analytics, vous pouvez copier une URL qui, une fois ouverte, affiche la requête que vous avez exécutée et ses résultats.
Pour partager une requête et ses résultats avec un membre de votre équipe :
-
Dans la console Google Cloud , accédez à la page manage_search Analyse de l'observabilité :
Accéder à Observability Analytics
Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Logging.
Remplissez le volet Requête avec une requête, puis cliquez sur Exécuter la requête.
Vous pouvez remplir le volet Requête en saisissant une nouvelle requête, en sélectionnant une requête dans l'onglet Récentes ou en sélectionnant une requête dans l'onglet Enregistrées.
Cliquez sur link Partager le lien.
Envoyez le lien à votre coéquipier.
Lorsque votre coéquipier ouvre le lien, la page Observability Analytics s'ouvre et affiche la requête, mais ne l'exécute pas. Votre coéquipier doit exécuter la requête manuellement.
La page Analyse de l'observabilité affiche une boîte de dialogue d'avertissement lorsque la requête s'exécute sur le moteur BigQuery et que les ressources interrogées ne se trouvent pas dans la même limite de propriété. Les limites de propriété sont déterminées par plusieurs facteurs, dont la hiérarchie des ressources utilisées par la requête.
Pour que votre coéquipier puisse ouvrir l'URL, son rôle IAM dans le projet Google Cloud doit inclure les autorisations requises pour afficher la page Analyse de l'observabilité.
gcloud
Lorsque vous souhaitez créer une requête enregistrée qui peut être exécutée par d'autres utilisateurs, définissez la valeur du champ visibility sur shared :
--visibility=shared
Pour modifier la visibilité d'une requête enregistrée existante, utilisez la commande update. Pour en savoir plus sur les commandes disponibles, consultez la présentation de gcloud logging saved-queries.
REST
Vous pouvez utiliser l'API Logging pour créer une requête partagée à l'aide de la méthode savedQueries.create et en spécifiant la valeur SHARED dans le champ visibility. Pour en savoir plus, consultez la page de référence de savedQueries.create.
Afficher et exécuter des requêtes récentes ou enregistrées
Pour afficher ou relancer une requête, sélectionnez l'onglet Récentes sur la page Analytics d'observabilité, puis recherchez la requête :
- Pour exécuter la requête, cliquez sur Exécuter.
- Pour afficher la requête, utilisez les options du menu more_vert Plus d'options.
Pour afficher, modifier ou exécuter une requête enregistrée, sélectionnez l'onglet Enregistrée sur la page Observability Analytics, puis recherchez la requête :
- Pour exécuter la requête, cliquez sur Exécuter.
- Pour modifier, afficher ou supprimer la requête, utilisez les options du menu more_vert Plus d'options.
Étapes suivantes
- Représenter les résultats d'une requête SQL sous forme de graphique
- Exemples de requêtes SQL
- Interroger un ensemble de données BigQuery associé dans BigQuery