Enregistrez les requêtes et les instructions d'analyse que vous utilisez fréquemment sous forme de recherches enregistrées pour pouvoir les réexécuter rapidement ultérieurement.
Prérequis
Un index a été créé. Pour plus d'informations, consultez la rubrique Création d'index.
Création d'une recherche enregistrée
Connectez-vous à la console Simple Log Service.
-
Dans la section Projects, cliquez sur le projet souhaité.

-
Sous l'onglet , cliquez sur le logstore souhaité.

-
Saisissez une instruction de requête dans la zone de recherche et cliquez sur Last 15 Minutes pour spécifier la plage temporelle de la requête.
Pour plus d'informations, consultez la rubrique Étape 1 : Configuration des index.
-
Dans l'angle supérieur droit de la page, cliquez sur l'icône
.Il s'agit de l'icône Add to Saved Search (en forme d'étoile), située dans la barre d'outils en haut à droite de la page Search & Analysis.
Dans le volet Saved Query Details, définissez le paramètre Saved Query Name.
-
Cliquez sur OK.
Une fois la recherche enregistrée créée, vous pouvez l'exécuter depuis la page Search & Analysis du logstore. Cliquez sur l'icône
située devant la zone de saisie, puis sélectionnez le nom de la recherche enregistrée cible.
Modification d'une recherche enregistrée
Dans le volet de navigation de gauche, choisissez .
Dans la liste des recherches enregistrées, cliquez sur la recherche enregistrée cible.
Saisissez une nouvelle instruction de requête et d'analyse, puis cliquez sur l'icône
.Dans l'angle supérieur droit de la page, cliquez sur l'icône
.Dans le volet Saved Query Details, modifiez les informations de la recherche enregistrée, puis cliquez sur OK.
Obtention de l'ID d'une recherche enregistrée
Utilisez l'ID d'une recherche enregistrée pour intégrer la page de cette recherche dans une page web personnalisée. Pour plus d'informations, consultez la rubrique Configuration des paramètres d'intégration de la console.
Dans le volet de navigation de gauche, choisissez .
Dans la liste des recherches enregistrées, cliquez sur la recherche enregistrée cible.
-
Récupérez l'ID de la recherche enregistrée dans l'URL affichée dans la barre d'adresse de votre navigateur.
L'URL de la console Log Service dans la barre d'adresse suit le format suivant :
https://sls.console.alibabacloud.com/lognext/project/{ProjectName}/savedsearch/{savedSearchID}?slsRegion={region}. Le champ situé entre/savedsearch/et?slsRegion=correspond à l'ID de la recherche enregistrée.
Transmission de variables via des paramètres URL
Lorsque vous intégrez la console Log Service dans un iframe ou que vous établissez un lien vers une recherche enregistrée depuis un système externe, ajoutez des paramètres URL pour remplacer dynamiquement les espaces réservés aux variables dans l'instruction de requête.
Prérequis
Vous disposez d'une recherche enregistrée dont l'instruction de requête contient un espace réservé de variable, tel que ${variable_name}.
La fonctionnalité de jeton (mode tokenQuery) doit être activée pour la recherche enregistrée.
Pour définir une variable, utilisez le format ${variable_name} dans votre instruction de requête pour la valeur que vous souhaitez remplacer dynamiquement. Exemple : * | WHERE status = ${testParam}.
L'URL standard d'une page de recherche enregistrée est la suivante :
/lognext/project/{ProjectName}/savedsearch/{savedSearchName}
Ajoutez des paramètres de requête à cette URL pour transmettre des valeurs de variables ou ajouter des conditions de filtrage. Le tableau suivant décrit les paramètres disponibles.
Encodez en URL tous les paramètres de requête contenant des caractères spéciaux.
|
Parameter |
Type |
Required |
Description |
|
token |
JSON array string |
No |
Transmet directement les valeurs des variables pour remplacer les espaces réservés ${variable_name} dans l'instruction de requête. |
|
tokenInherit |
JSON array string |
No |
Hérite des valeurs des variables depuis une source amont, telle qu'un drill-down de tableau de bord. Le format est identique à celui du paramètre token. |
|
filters |
String |
No |
Ajoute une condition de filtrage au début de l'instruction de requête à l'aide de l'opérateur AND. |
Paramètre token
Le paramètre token est un tableau JSON où chaque élément est un objet au format {"key": "variable_name", "value": "replacement_value"}.
[{"key": "variable_name1", "value": "value1"}, {"key": "variable_name2", "value": "value2"}]
Exemple : Supposons que l'instruction de requête de la recherche enregistrée my-search soit | WHERE status = ${testParam}. Après avoir transmis les paramètres via l'URL suivante, l'instruction de requête est remplacée par | WHERE status = '200' :
/lognext/project/my-project/savedsearch/my-search?token=[{"key":"testParam","value":"200"}]
Paramètre tokenInherit
Le paramètre tokenInherit possède le même format que token. Il est généralement transmis automatiquement lors d'un drill-down de tableau de bord pour permettre à une recherche enregistrée d'hériter des valeurs de variables du tableau de bord. Lorsque les paramètres token et tokenInherit sont tous deux présents, token est prioritaire. Pour les variables ayant la même clé, la valeur issue de token est utilisée.
Paramètre filters
Le paramètre filters ajoute une condition de filtrage au début de l'instruction de requête avec un opérateur AND. Exemple :
/lognext/project/my-project/savedsearch/my-search?filters=level%3D"ERROR"
L'instruction de requête résultante est la suivante :
(level="ERROR") AND <Original query statement>
Priorité des paramètres et ordre d'application
Lorsque plusieurs paramètres sont présents, Log Service construit l'instruction de requête finale selon l'ordre suivant :
Le système commence par l'instruction originale de la recherche enregistrée.
Si le paramètre token ou tokenInherit existe, Log Service remplace les espaces réservés ${variable_name} dans l'instruction.
Si le paramètre filters existe, Log Service ajoute la condition de filtrage au début de l'instruction à l'aide d'un opérateur AND.
Exemple complet
Le nom du projet est my-project, le nom de la recherche enregistrée est error-query et l'instruction de requête est * | WHERE status = ${statusCode} AND host = ${hostName}. Vous devez transmettre les paramètres statusCode=500 et hostName=web-server-01 et ajouter la condition de filtrage level="ERROR". L'URL est construite comme suit :
/lognext/project/my-project/savedsearch/error-query?token=[{"key":"statusCode","value":"500"},{"key":"hostName","value":"web-server-01"}]&filters=level%3D"ERROR"
L'instruction de requête résultante est la suivante :
(level="ERROR") AND * | WHERE status = '500' AND host = 'web-server-01'
Utilisation des paramètres dans un iframe
Si vous intégrez la page de recherche enregistrée dans une page web personnalisée à l'aide d'un iframe, vous pouvez concaténer dynamiquement les paramètres lors de la construction de l'URL src de l'iframe :
<iframe
src="/lognext/project/my-project/savedsearch/error-query?token=[{"key":"statusCode","value":"500"}]"
width="100%"
height="800px"
frameborder="0"
/>
Vous pouvez également construire l'URL dynamiquement en JavaScript :
const params = encodeURIComponent(JSON.stringify([
{ key: 'statusCode', value: '500' },
{ key: 'hostName', value: 'web-server-01' }
]))
const iframeSrc = `/lognext/project/my-project/savedsearch/error-query?token=${params}`
document.getElementById('sls-iframe').src = iframeSrc
Remarques d'utilisation
La valeur du paramètre token est un tableau JSON et doit être encodée en URL (
encodeURIComponent) dans une URL.Le nom de la variable (clé) doit correspondre exactement au nom de la variable de jeton défini dans l'instruction de la recherche enregistrée. Le nom est sensible à la casse.
Si la fonctionnalité Token n'est pas activée pour une recherche enregistrée (le paramètre tokenQuery est vide), les paramètres token et tokenInherit ne prendront pas effet et l'instruction de requête ne sera pas remplacée.
Le paramètre filters fonctionne indépendamment de l'activation ou non de la fonctionnalité Token pour les recherches enregistrées.
Suppression d'une recherche enregistrée
Dans le volet de navigation de gauche, choisissez . Dans la liste des recherches enregistrées, placez le curseur sur la recherche enregistrée cible, cliquez sur l'icône
, puis cliquez sur Delete.