Function Compute s'intègre à Simple Log Service. Une fois la journalisation configurée pour une fonction, Function Compute collecte automatiquement les journaux et les transmet vers un Logstore dans un projet spécifié. Vous pouvez consulter les journaux par requête, les journaux d'instance et les journaux de fonction dans la console Function Compute. Vous pouvez également exécuter des requêtes de journalisation personnalisées dans la console Simple Log Service.
Informations générales
Simple Log Service offre des services de collecte, de stockage, de requête, d'analyse, de visualisation et d'alerte pour les journaux. Pour stocker les journaux de fonction, configurez un projet et un Logstore dans votre fonction et accordez à celle-ci l'autorisation d'accéder à Simple Log Service. Après la configuration, les journaux de fonction sont écrits dans le Logstore spécifié.
Notes sur la facturation
Méthode de facturation
Function Compute ne facture pas de frais supplémentaires pour l'activation de la fonctionnalité de journalisation. Toutefois, Simple Log Service facture les journaux qui lui sont transmis.
Si le Logstore utilise la méthode de facturation « paiement selon les fonctionnalités », Simple Log Service facture en fonction de l'espace de stockage, du trafic en lecture, du nombre de requêtes, de la transformation des données et de l'acheminement des données après que Function Compute a transmis les journaux. Pour plus d'informations, consultez la rubrique Éléments facturables pour la méthode de facturation « paiement selon les fonctionnalités ».
Si le Logstore utilise la méthode de facturation « paiement selon les données ingérées », Simple Log Service facture en fonction des données brutes ingérées après que Function Compute a transmis les journaux. Pour plus d'informations, consultez la rubrique Éléments facturables pour la méthode de facturation « paiement selon les données ingérées ».
Pour modifier la méthode de facturation du Logstore, consultez la rubrique Gérer les Logstores.
Arrêter la facturation
Pour arrêter la facturation, commencez par désactiver la fonctionnalité de journalisation dans la console Function Compute. Accédez ensuite à la console Simple Log Service pour supprimer le Logstore ou supprimer le projet.
La suppression d'un projet ou d'un Logstore Simple Log Service est irréversible. Après la suppression, les journaux ne peuvent plus être transmis à Simple Log Service et les données existantes sont définitivement supprimées. Sauvegardez les données de journal importantes avant toute suppression.
Activer la journalisation pour une fonction
Configurer la journalisation à l'aide de la console Function Compute
Prérequis
-
Function Compute
-
Facultatif : Simple Log Service (SLS)
Procédure
Connectez-vous à la console Function Compute. Dans le volet de navigation de gauche, choisissez .
Dans la barre de navigation supérieure, sélectionnez une région. Sur la page Functions, cliquez sur la fonction cible.
-
Sur la page des détails de la fonction, sélectionnez l'onglet Configuration, cliquez sur Advanced Settings à droite de Advanced Settings, localisez l'option Logs dans le panneau Advanced Settings, configurez les journaux en suivant les étapes ci-dessous, puis cliquez sur Deploy.
RemarqueLors de la création d'une fonction, la fonctionnalité de journalisation est activée par défaut et le système sélectionne automatiquement le Log Service Project commençant par
serverless-<region_id>ainsi que le Logstore par défaut.La console active automatiquement les Log Rotation Rules, les Request-level Metrics et les Instance-level Metrics, et crée tous les index requis pour les requêtes de journalisation.
Élément de configuration
Obligatoire
Description
Journalisation
Oui
Indique s'il faut activer Simple Log Service. Valeurs possibles :
-
Enable : Après l'activation de cette fonctionnalité, Function Compute importe les journaux dans votre projet de journalisation. Vous pouvez interroger et récupérer les journaux dans la console Function Compute et la console Simple Log Service pour résoudre les problèmes et identifier les incidents.
-
Disable : Les journaux de fonction ne sont pas conservés et vous ne pouvez pas effectuer de traçage ni localiser les problèmes.
Configuration Mode
Oui
Sélectionnez Automatic Configuration ou Custom Configuration. Si vous sélectionnez Custom Configuration, vous devez spécifier un Log Service Project et un Logstore.
Log Service Project
Oui
Projet utilisé pour stocker les journaux d'appel de fonction.
Logstore
Oui
Logstore utilisé pour stocker les journaux d'appel de fonction.
Log Rotation Rules
Non
Indique s'il faut activer les règles de segmentation des journaux. Valeurs possibles :
-
Enable : Lorsqu'elle est activée, Function Compute segmente les journaux selon les règles de segmentation en plusieurs segments et les écrit individuellement dans Simple Log Service.
La règle par défaut est
^.{0,2}\d{4}-\d{2}-\d{2}, qui correspond aux dates au formatxxxx-xx-xx, oùxest un chiffre. Les journaux sont segmentés selon qu'une ligne commence par une date. Par exemple, si une ligne de journal commence par « 2023-10-10 », elle est considérée comme la première ligne d'un nouveau bloc de journal. Cette ligne et les lignes suivantes sans date initiale sont écrites sous forme d'une seule entrée de journal. -
Disable : La segmentation des journaux est désactivée. Les journaux sont segmentés à l'aide du délimiteur par défaut
\n.
Request-level Metrics
Non
Indique s'il faut transmettre les journaux de métriques de requête au Logstore. Nous recommandons vivement d'activer cette fonctionnalité.
Valeurs possibles :
-
Enable : Les métriques de chaque appel de fonction, telles que le temps d'exécution, l'utilisation de la mémoire, le statut d'erreur, l'occurrence de démarrage à froid et les durées des étapes de démarrage à froid, sont transmises au Logstore que vous avez sélectionné lors de la configuration de la journalisation. Les journaux d'appel Function Compute affichent une liste de requêtes basée sur ces métriques. Vous pouvez également filtrer les requêtes par métriques, par exemple toutes les requêtes en erreur ou les requêtes avec démarrage à froid.
-
Disable : Vous ne pouvez pas afficher les informations détaillées sur l'exécution des requêtes.
Instance-level Metrics
Non
Indique s'il faut activer les métriques au niveau de l'instance. Valeurs possibles :
-
Enable : Lorsqu'elle est activée, les données de métriques des instances de fonction sont transmises au Logstore que vous avez sélectionné lors de la configuration des journaux. Vous pouvez afficher les métriques de performance au niveau de l'instance de fonction, telles que l'utilisation du processeur, de la mémoire et des E/S réseau. Function Compute utilise les données de métriques au niveau de l'instance pour fournir une observabilité à la granularité de l'instance, vous offrant ainsi un parcours complet de surveillance et de dépannage pour les instances de fonction. Pour plus d'informations, consultez la rubrique Métriques au niveau de l'instance.
-
Disable : Vous ne pouvez pas afficher les métriques détaillées de l'instance.
Configurer la journalisation à l'aide de Serverless Devs
Prérequis
Procédure
-
Créez un répertoire de code avec la structure suivante.
. ├── code │ └── index.js └── s.yamlDans cet exemple, le champ logConfig configure la journalisation. Remplacez logstore et project par un Logstore et un projet existants dans votre compte. Vous pouvez également définir logConfig: auto pour permettre à Function Compute d'attribuer automatiquement un projet et un Logstore.
edition: 3.0.0 name: hello-world-app access: "default" vars: # Global variables region: "cn-hangzhou" resources: hello_world: component: fc3 # Component name props: region: ${vars.region} functionName: "start-nodejs-****" description: 'hello world by serverless devs' runtime: "nodejs16" code: ./code handler: index.handler memorySize: 128 timeout: 30 logConfig: # Replace logstore and project with actual values, or use logConfig: auto to auto-create project and Logstore enableInstanceMetrics: true # Enable instance-level metrics enableRequestMetrics: true # Enable request-level metrics logBeginRule: DefaultRegex # Log segmentation rule logstore: 'your-logstore' # Specify Logstore name (must exist) project: 'your-project' # Specify project name (must exist) -
Exécutez la commande suivante pour déployer l'application.
sudo s deploy -yAprès un déploiement réussi, connectez-vous à la console Function Compute pour vérifier que la fonction est déployée et que la journalisation est activée.
Désactiver la journalisation
Après la désactivation de la journalisation, les journaux d'exécution de fonction ne sont plus collectés ni stockés. Cela peut affecter le dépannage et l'analyse des performances. Procédez avec prudence.
Connectez-vous à la console Function Compute. Dans le volet de navigation de gauche, choisissez .
Dans la barre de navigation supérieure, sélectionnez une région. Sur la page Functions, cliquez sur la fonction cible.
Sur la page des détails de la fonction, sélectionnez l'onglet Configuration, cliquez sur Modify à droite de Advanced Settings, dans le panneau Advanced Settings, recherchez l'option Logs, définissez le commutateur log feature sur Off, puis cliquez sur Deploy.
Afficher les journaux d'appel
Sur la page des détails de la fonction, cliquez sur l'onglet Logs pour interroger les enregistrements d'appel de la fonction actuelle.
Sur la page des détails de la fonction, cliquez sur l'onglet Version Management ou Alias Management. Sélectionnez une version de fonction ou un alias, puis cliquez sur l'onglet Logs sur la page des détails de la version ou de l'alias pour afficher ses journaux.
Vous pouvez afficher les journaux d'appel de fonction soit dans l'onglet Invocation Requests, soit dans l'onglet Search by Keyword. Différences :
-
Invocation Requests
Cet onglet répertorie les heures de fin d'appel de fonction, les ID de requête, les résultats d'appel, les ID d'instance et les versions de fonction ou alias.
Cliquez sur un Request ID pour afficher les détails de la requête et des journaux.
Cliquez sur un Instance ID pour afficher les métriques de l'instance, telles que l'utilisation du processeur, l'utilisation de la mémoire et le trafic réseau.
Dans la colonne Actions, cliquez sur Request Logs pour afficher les détails des journaux, ou cliquez sur Advanced Logs pour accéder à la console Simple Log Service afin d'effectuer des requêtes et des analyses de journaux.
-
Search by Keyword
Cet onglet répertorie les heures d'appel de fonction, le contenu des journaux et les versions de fonction ou alias. Dans la colonne Actions, cliquez sur Log Context pour afficher les entrées de journal environnantes, ou cliquez sur Logstore pour accéder à la console Simple Log Service afin d'effectuer des requêtes et des analyses de journaux.
Saisissez un mot-clé dans la zone de recherche pour trouver des journaux spécifiques. Par exemple, pour trouver des journaux contenant le texte
hello world, saisissezhello worlddans la zone de recherche. Les résultats incluent toutes les lignes de journal contenant ce mot-clé. Pour plus d'informations sur la syntaxe de requête, consultez la rubrique Syntaxe et fonctionnalités de requête.
Références
Vous pouvez également configurer la journalisation pour une fonction en appelant le SDK ou l'API. Pour plus d'informations, consultez la rubrique Créer une fonction.