Logs exportieren

Diese Seite richtet sich an Infrastrukturbetreiber.

Zusätzliche Fluent-Bit-Ausgabe konfigurieren

Sie können Logs nicht nur an Loki in einem Cluster, sondern auch an andere Ziele exportieren. Informationen dazu finden Sie unter Liste der unterstützten Ziele. Diese Einstellung kann pro Cluster oder global konfiguriert werden.

Globale Konfiguration

  1. Erstellen Sie eine ConfigMap im Namespace anthos-management-center mit dem Label logmon: system_logs. Die zusätzliche Ausgabekonfiguration hat die gleiche Syntax wie Fluent-Bit-Ausgabe-Plug-ins und muss der Datei output.conf unter dem Feld data hinzugefügt werden. Weitere Informationen finden Sie in den Beispielkonfigurationsdateien.

    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. Führen Sie den folgenden Befehl aus, um Ihre benutzerdefinierte Observability-Ressource in einem Befehlszeileneditor zu öffnen:

    kubectl --kubeconfig=ADMIN_OIDC_KUBECONFIG -n anthos-management-center edit observability default
    
  3. Fügen Sie in der benutzerdefinierten Ressource Observability das Feld additionalSink unter dem Feld spec/logging hinzu.

    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. Um die Änderungen der benutzerdefinierten Ressource Observability zu speichern, speichern Sie im Befehlszeileneditor und beenden Sie ihn.

Clusterspezifische Konfiguration

  1. Schließen Sie den Cluster aus der globalen Konfiguration aus und fügen Sie dazu den Clusternamen der Liste spec/logging/additionalSink/clusterSelector/exclude in der benutzerdefinierten Ressource Observability hinzu.

    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. Erstellen Sie eine ConfigMap im Namespace kube-system mit dem Label logmon: system_logs. Die zusätzliche Ausgabekonfiguration hat die gleiche Syntax wie Fluent-Bit-Ausgabe-Plug-ins und muss der Datei output.conf unter dem Feld data hinzugefügt werden. Weitere Informationen finden Sie in den Beispielkonfigurationsdateien.

    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. Führen Sie den folgenden Befehl aus, um Ihre benutzerdefinierte LogMon-Ressource in einem Befehlszeileneditor zu öffnen:

    kubectl --kubeconfig=ADMIN_OIDC_KUBECONFIG -n kube-system edit logmon logmon-default
    
  4. Fügen Sie in der benutzerdefinierten Ressource LogMon das Feld additionalOutput unter dem Feld spec/system_logs/outputs hinzu.

    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. Um die Änderungen der benutzerdefinierten Ressource LogMon zu speichern, speichern Sie im Befehlszeileneditor und beenden Sie ihn.