Exporter des journaux

Cette page est destinée aux opérateurs d'infrastructure.

Configurer une sortie supplémentaire "fluent-bit"

Vous pouvez exporter des journaux vers d'autres destinations en plus de Loki exécuté dans un cluster. Consultez la liste des destinations acceptées. Ce paramètre peut être configuré par cluster ou au niveau global.

Configuration globale

  1. Créez un ConfigMap dans l'espace de noms anthos-management-center avec le libellé logmon: system_logs. La configuration de sortie supplémentaire utilise la même syntaxe que les plug-ins de sortie fluent-bit, et doit être ajoutée au fichier output.conf sous le champ data. Consultez les exemples de fichiers de configuration.

    apiVersion: v1
    kind: ConfigMap
    metadata:
      # The name should match the configmap name specified in step 3.
      name: <customized-system-logs-fluent-bit-output-config>
      # Don't change the namespace
      namespace: anthos-management-center
      labels:
        # This label is required.
        logmon: system_logs
    data:
      # The file name must be output.conf
      output.conf: |
        # Add a customized fluent-bit output plugin configuration here
    
  2. Exécutez la commande suivante pour ouvrir la ressource personnalisée Observability dans un éditeur de ligne de commande :

    kubectl --kubeconfig=ADMIN_OIDC_KUBECONFIG -n anthos-management-center edit observability default
    
  3. Dans la ressource personnalisée Observability, ajoutez le champ additionalSink sous le champ spec/logging.

    apiVersion: managementcenter.anthos.cloud.google.com/v1alpha1
    kind: Observability
    metadata:
      # Don't change the name
      name: default
      # Don't change the namespace
      namespace: anthos-management-center
    spec:
      enabled: true
      logging:
        additionalSink:
          fluentbitConfigMaps:
          # The name should match the configmap name created in step 1.
          - "<customized-system-logs-fluent-bit-output-config>"
          # Scheme: []v1.VolumeMount. Add volumeMounts if necessary
          volumeMounts:
          - ...
          - ...
          # Scheme: []v1.Volume. Add volumes if necessary
          volumes:
          - ...
          - ...
    
  4. Pour enregistrer les modifications apportées à la ressource personnalisée Observability, enregistrez et quittez l'éditeur de ligne de commande.

Configuration par cluster

  1. Excluez le cluster de la configuration globale en ajoutant le nom du cluster à la liste spec/logging/additionalSink/clusterSelector/exclude de la ressource personnalisée Observability.

    apiVersion: managementcenter.anthos.cloud.google.com/v1alpha1
    kind: Observability
    metadata:
      # Don't change the name
      name: default
      # Don't change the namespace
      namespace: anthos-management-center
    spec:
      enabled: true
      logging:
        additionalSink:
          clusterSelector:
            exclude:
            - cluster-name
          ...
    
  2. Créez un ConfigMap dans l'espace de noms kube-system avec le libellé logmon: system_logs. La configuration de sortie supplémentaire utilise la même syntaxe que les plug-ins de sortie fluent-bit, et doit être ajoutée au fichier output.conf sous le champ data. Consultez les exemples de fichiers de configuration.

    apiVersion: v1
    kind: ConfigMap
    metadata:
      # The name should match the configmap name specified in step 3.
      name: <customized-system-logs-fluent-bit-output-config>
      # Don't change the namespace
      namespace: kube-system
      labels:
        # This label is required.
        logmon: system_logs
    data:
      # The file name must be output.conf
      output.conf: |
        # Add a customized fluent-bit output plugin configuration here
    
  3. Exécutez la commande suivante pour ouvrir la ressource personnalisée LogMon dans un éditeur de ligne de commande :

    kubectl --kubeconfig=ADMIN_OIDC_KUBECONFIG -n kube-system edit logmon logmon-default
    
  4. Dans la ressource personnalisée LogMon, ajoutez le champ additionalOutput sous le champ spec/system_logs/outputs.

    apiVersion: addons.gke.io/v1alpha1
    kind: Logmon
    metadata:
      # Don't change the name
      name: logmon-default
      # Don't change the namespace
      namespace: kube-system
    spec:
      system_logs:
        outputs:
          additionalOutput:
            fluentbitConfigmaps:
            # The name should match the configmap name created in step 1.
            - "<customized-system-logs-fluent-bit-output-config>"
            # Scheme: []v1.VolumeMount. Add volumeMounts if necessary
            volumeMounts:
            - ...
            - ...
            # Scheme: []v1.Volume. Add volumes if necessary
            volumes:
            - ...
            - ...
    
  5. Pour enregistrer les modifications apportées à la ressource personnalisée LogMon, enregistrez et quittez l'éditeur de ligne de commande.