Tous les produits
Search
Centre de documentation

Simple Log Service:[Recommandé] Gérer les configurations Logtail avec AliyunPipelineConfig

Dernière mise à jour :Aug 27, 2026

AliyunPipelineConfig est une ressource personnalisée (CRD) de Simple Log Service qui vous permet de gérer les configurations de collecte Logtail via des fichiers YAML Kubernetes.

Prérequis

Procédure

Important

alibaba-log-controller synchronise périodiquement les configurations de collecte Logtail définies par AliyunPipelineConfig avec le serveur. Pour modifier une configuration créée via CR, mettez à jour directement le CR. Les configurations créées via la console sont écrasées par les CR ; utilisez donc une seule méthode de gestion.

Créer une configuration de collecte iLogtail

Créez une ressource CR AliyunPipelineConfig. Le composant alibaba-log-controller crée et applique automatiquement la configuration de collecte Logtail correspondante.

Procédure :

  1. Obtenez le kubeconfig du cluster et connectez-vous au cluster avec kubectl.

  2. Créez un fichier cube.yaml. Adaptez le nom du fichier selon vos besoins.

vim cube.yaml
  1. Ajoutez le contenu suivant au fichier YAML et configurez les paramètres selon vos besoins. Pour plus d'informations sur les paramètres de la structure CR, consultez la section Paramètres CR.

apiVersion: telemetry.alibabacloud.com/v1alpha1 # Fixed value. Do not modify.
kind: ClusterAliyunPipelineConfig               # Fixed value. Do not modify.
metadata:
  name: test-config                             # Specify a resource name. The name must be unique within the current Kubernetes cluster.
spec:
  project:                                      # Set the destination project name.
    name: k8s-your-project                      
  config:                                       # Define the iLogtail collection configuration.
    inputs:                                     # Specify input plug-ins.
      ...
    flushers:                                   # Specify output plug-ins.
      ...
  1. Appliquez la ressource CR AliyunPipelineConfig. alibaba-log-controller crée la configuration de collecte Logtail et commence à collecter les données. Remplacez cube.yaml par le nom réel de votre fichier.

kubectl apply -f cube.yaml

Consulter une configuration de collecte iLogtail

  • Listez toutes les configurations AliyunPipelineConfig du cluster.

    Exécutez la commande suivante pour afficher toutes les configurations créées par AliyunPipelineConfig.

    kubectl get clusteraliyunpipelineconfigs
  • Consultez les détails et l'état d'une configuration AliyunPipelineConfig spécifique.

    Remplacez <config_name> par le nom de votre AliyunPipelineConfig.

    kubectl get clusteraliyunpipelineconfigs <config_name> -o yaml

    Vérifiez le champ status dans la sortie pour confirmer que la configuration est appliquée.

    apiVersion: telemetry.alibabacloud.com/v1alpha1
    kind: ClusterAliyunPipelineConfig
    metadata:
      creationTimestamp: null
      finalizers:
        - finalizer.pipeline.alibabacloud.com
      name: example-config
    # Expected configuration
    spec:
      config:
        flushers:
          - Endpoint: cn-hangzhou-intranet.log.aliyuncs.com
            Logstore: example-config-logstore
            Region: cn-hangzhou
            TelemetryType: logs
            Type: flusher_sls
        inputs:
          - FilePaths:
              - /var/log/*.log
            Type: input_file
        processors:
          - SourceKey: content
            Type: processor_parse_json_native
      logstores:
        - name: example-config-logstore
      project:
        name: k8s-log-clusterid
    # Application status
    status:
      # Whether the CR is successfully applied
      success: true
      # Current status message of the CR
      message: success
      # Update time of the current status
      lastUpdateTime: "2024-06-13T12:02:19.133422+08:00"
      # Configuration information from the last successful application. This configuration includes filled default values and is the one currently in effect.
      lastAppliedConfig:
        # Time of the last successful application
        appliedTime: "2024-06-13T12:02:19.133422+08:00"
        # Details of the last successfully applied configuration
        config:
          configTags:
            sls.crd.cluster: clusterid
            sls.crd.kind: ClusterAliyunPipelineConfig
            sls.logtail.channel: CRD
          flushers:
            - Endpoint: cn-hangzhou-intranet.log.aliyuncs.com
              Logstore: example-config-logstore
              Region: cn-hangzhou
              TelemetryType: logs
              Type: flusher_sls
          global: null
          inputs:
            - FilePaths:
                - /var/log/*.log
              Type: input_file
          name: example-config
          processors:
            - SourceKey: content
              Type: processor_parse_json_native
        logstores:
          - appendMeta: true
            autoSplit: true
            encryptConf: {}
            maxSplitShard: 64
            name: example-config-logstore
            shardCount: 2
            ttl: 30
        machineGroups:
          - name: k8s-group-clusterid
        project:
          description: k8s log project, created by alibaba cloud log controller
          endpoint: cn-hangzhou.log.aliyuncs.com
          name: k8s-log-clusterid

Mettre à jour une configuration de collecte iLogtail

Modifiez le fichier YAML AliyunPipelineConfig existant et réappliquez-le.

  1. Obtenez le kubeconfig du cluster et connectez-vous au cluster avec kubectl.

  2. Modifiez le fichier AliyunPipelineConfig. Remplacez cube.yaml par le nom réel de votre fichier.

vim cube.yaml
  1. Modifiez les paramètres de configuration dans le fichier YAML.

  2. Appliquez la configuration mise à jour. Remplacez cube.yaml par le nom réel de votre fichier.

kubectl apply -f cube.yaml

Supprimer une configuration de collecte iLogtail

Supprimez le CR correspondant. Remplacez <config_name> par le nom de votre AliyunPipelineConfig.

kubectl delete clusteraliyunpipelineconfigs <config_name>
Important
  • Après la suppression, le CR est libéré.

  • Si la suppression échoue, le CR n'est pas libéré. Vérifiez l'erreur dans le champ status du CR. Pour forcer la suppression du CR, supprimez manuellement le champ finalizers de ses métadonnées.

Paramètres CR

  • apiVersion

    La valeur est fixée à telemetry.alibabacloud.com/v1alpha1.

  • kind

    La valeur est fixée à ClusterAliyunPipelineConfig.

  • metadata

    Paramètre

    Type de données

    Obligatoire

    Description

    name

    string

    Oui

    Identifiant du CR, également utilisé comme nom de la configuration de collecte iLogtail.

    Remarque :

    Doit être unique au sein du projet et ne peut pas être modifié après la création. Exigences :

    Il ne peut contenir que des lettres minuscules, des chiffres, des traits d'union (-) et des underscores (_).

    Il doit commencer et se terminer par une lettre minuscule ou un chiffre.

    Longueur : 2 à 128 caractères.

  • spec

    Paramètre

    Type de données

    Obligatoire

    Description

    project

    PipelineProject

    Oui

    Informations sur le projet de destination.

    Remarque

    Ne peut pas être modifié après la création du CR. Pour changer de projet, créez un nouveau CR.

    config

    PiplineConfig

    Oui

    Détails de la configuration de collecte iLogtail.

    logstores

    PipelineLogstore

    Non

    Logstores à créer.

    Remarque
    • Tous les paramètres sauf name prennent effet uniquement lors de la création d'un Logstore.

    • Cette liste crée uniquement des Logstores ; elle ne définit pas le Logstore de destination. La destination est déterminée par le plug-in flusher dans config. Laissez vide si le Logstore de destination existe déjà.

    • Vous pouvez ajouter ou supprimer des définitions de Logstore, mais vous ne pouvez pas modifier celles qui existent déjà.

    machineGroups

    PipelineMachineGroup

    Non

    Groupes de machines à associer à la configuration. SLS crée automatiquement un groupe par défaut nommé k8s-group-${your_k8s_cluster_id} lors de l'installation de logtail-ds. Par défaut, la liste ne contient que ce groupe de machines.

    Remarque

    alibaba-log-controller garantit que seuls les groupes de machines listés sont associés. Les groupes non listés sont dissociés.

    enableUpgradeOverride

    bool

    Non

    Valeur par défaut : false. Lorsqu'un AliyunLogConfig dans le cluster pointe vers la même configuration iLogtail que cet AliyunPipelineConfig :

    • true : alibaba-log-controller remplace la configuration définie par l'AliyunLogConfig existant.

    • false : Un conflit se produit et l'AliyunPipelineConfig ne parvient pas à s'appliquer.

    Remarque
    • Définitions pointant vers la même configuration de collecte iLogtail :

      • Les projets source et cible sont identiques.

        Pour AliyunLogConfig, le projet est le projet par défaut du cluster ou spec.project. Pour AliyunPipelineConfig, le projet est spec.project.name.

      • Même nom de configuration de collecte iLogtail.

        Dans AliyunLogConfig, le paramètre est spec.logtailConfig.configName. Dans AliyunPipelineConfig, le paramètre est metadata.Name.

    • Définition d'une mise à niveau avec remplacement :

      Tout d'abord, AliyunPipelineConfig prend effet et met à jour la configuration de collecte iLogtail.

      Ensuite, si AliyunPipelineConfig réussit, le système supprime l'AliyunLogConfig dans le cluster qui pointe vers la même configuration de collecte iLogtail.

      Enfin, la mise à niveau avec remplacement est terminée.

    • PipelineProject

      Remarque

      Ne peut pas être modifié après la création du CR. Pour changer de projet, créez un nouveau CR.

      Paramètre

      Type de données

      Obligatoire

      Description

      name

      string

      Oui

      Nom du projet de destination.

      Remarque

      SLS crée automatiquement le projet s'il n'existe pas.

      description

      string

      Non

      Description du projet.

      Remarque

      Effectif uniquement lors de la création du projet.

      endpoint

      string

      Non

      Endpoint du service du projet de destination. Pour plus d'informations, consultez Endpoint. Par défaut, l'endpoint de la région où réside le cluster actuel est utilisé. Si le projet de destination et le cluster se trouvent dans des régions différentes, configurez ce paramètre.

      Remarque

      Ce paramètre contrôle uniquement la région de la configuration de collecte. Pour envoyer les données iLogtail vers cette région, configurez séparément config_server_address et data_server_list d'iLogtail. Pour plus d'informations, consultez Fichiers de configuration et fichiers d'enregistrement Logtail.

      uid

      string

      Non

      UID du compte de destination. Par défaut, il s'agit du compte du cluster actuel. Pour l'envoi de données inter-comptes, définissez ce paramètre et configurez la variable d'environnement correspondante :

      • si vous utilisez alibaba-log-controller, définissez ALICLOUD_LOG_ACCOUNT_INFOS={"<uid>":{"accessKeyID":"<your_access_key_id>","accessKeySecret":"<your_access_key_secret>"}};

      • si vous utilisez loongcollector-operator, définissez GLOBAL_ACCOUNT_INFOS={"<uid>":{"accessKeyID":"<your_access_key_id>","accessKeySecret":"<your_access_key_secret>"}}.

      Remarque

      Ceci contrôle uniquement le compte propriétaire du projet. Pour envoyer les données iLogtail vers ce compte, configurez séparément l'identité utilisateur iLogtail. Configurer une identité utilisateur.

    • PipelineConfig

      Les paramètres suivent l'API CreateLogtailPipelineConfig. configName utilise metadata.name et ne peut pas être défini séparément.

      Paramètre

      Type de données

      Obligatoire

      Description

      sample

      string

      Non

      Exemple de journal. Prend en charge plusieurs journaux, jusqu'à 1 500 octets au total.

      global

      object

      Non

      Configuration globale. Pour plus d'informations, consultez Paramètres de requête.

      inputs

      object list

      Oui

      Liste des plug-ins d'entrée, configurée selon les Paramètres de requête.

      Remarque

      Un seul plug-in d'entrée est autorisé.

      processors

      object list

      Non

      Liste des plug-ins de traitement, configurée selon les Paramètres de requête.

      aggregators

      object list

      Non

      Liste des plug-ins d'agrégation, configurée selon les Paramètres de requête.

      flushers

      object list

      Oui

      Liste des plug-ins de sortie, configurée selon les Paramètres de requête.

      Remarque

      Un seul plug-in flusher_sls est autorisé.

      configTags

      map

      Non

      Tags personnalisés pour la configuration de collecte iLogtail.

    • PipelineLogstore

      Remarque

      Tous les paramètres sauf name sont effectifs uniquement lors de la création du Logstore.

      Paramètre

      Type de données

      Obligatoire

      Description

      name

      string

      Oui

      Nom du Logstore.

      queryMode

      string

      Non

      Type de Logstore de destination. Pour plus d'informations, consultez Concepts de base. Par défaut : standard. Valeurs valides :

      • query : Logstore de requête

      • standard : Logstore standard

      ttl

      int

      Non

      Période de rétention des données en jours. Pour plus d'informations, consultez Gérer les Logstores. Par défaut : 30. Valeurs valides : 1 à 3650. 3650 indique une rétention permanente.

      hotTtl

      int

      Non

      Période de rétention pour le stockage des données chaudes en jours. Par défaut : 0. Doit être inférieur à ttl et supérieur ou égal à 7.

      infrequentAccessTTL

      int

      Non

      La période de stockage IA en jours. Par défaut : 0. Requiert hotTtl. Doit être inférieur à ttl et supérieur ou égal à 30. Si hotTtl+infrequentAccessTTL n'est pas égal à ttl, alors ttl-(hotTtl+infrequentAccessTTL) doit également être supérieur ou égal à 60. Requiert loongcollector-operator v1.0.6 ou ultérieur.

      shardCount

      int

      Non

      Nombre de shards. Pour plus d'informations, consultez Gérer les Logstores. Par défaut : 2. Valeurs valides : 1 à 100.

      maxSplitShard

      int

      Non

      Nombre maximal de shards pour le fractionnement automatique. Pour plus d'informations, consultez Gérer les Logstores. Par défaut : 64. Valeurs valides : 1 à 256.

      autoSplit

      bool

      Non

      Active le fractionnement automatique des shards. Pour plus d'informations, consultez Gérer les Logstores. Par défaut : true.

      telemetryType

      string

      Non

      Type de données observables. Détails : Créer un Logstore. Par défaut : None. Valeurs valides :

      • None : type journal.

      • Metrics : type métrique.

      appendMeta

      bool

      Non

      Active l'enregistrement de l'adresse IP publique. Pour plus d'informations, consultez Gérer les Logstores. Par défaut : true.

      enableTracking

      bool

      Non

      Active le suivi Web. Pour plus d'informations, consultez Gérer les Logstores. Par défaut : false.

      encryptConf

      object

      Non

      Configuration de chiffrement. Pour plus d'informations, consultez EncryptConf. Par défaut : vide.

      meteringMode

      string

      Non

      Mode de facturation. Pour plus d'informations, consultez Gérer les Logstores. Par défaut : vide. Valeurs valides :

      • ChargeByFunction : paiement par fonction

      • ChargeByDataIngest : paiement par données ingérées

      Remarque

      Si queryMode du Logstore est query, seul ChargeByFunction est pris en charge.

      Si la facturation par données ingérées n'est pas activée pour votre compte, vous ne pouvez pas définir ce paramètre sur ChargeByDataIngest.

      index

      object

      Non

      Configuration de l'index, effective uniquement lors de la création du Logstore. Format : index. Requiert loongcollector-operator v1.0.6 ou ultérieur.

    • PipelineMachineGroup

      Paramètre

      Type de données

      Obligatoire

      Description

      name

      string

      Oui

      Nom du groupe de machines à associer à la configuration.

      Remarque

      Si le groupe de machines n'existe pas, alibaba-log-controller crée automatiquement un groupe de machines basé sur un identifiant. Pour plus d'informations, consultez Créer un groupe de machines personnalisé basé sur un identifiant. Effectif uniquement lors de la création.