Deckhouse предоставляет встроенное решение для кратковременного хранения логов на базе проекта Grafana Loki.

Хранилище разворачивается в кластере и интегрируется с системой сбора логов. После настройки ресурсов ClusterLoggingConfig, PodLoggingConfig и ClusterLogDestination логи автоматически поступают со всех системных компонентов. Настроенное хранилище добавляется в Grafana в качестве источника данных для визуализации и анализа.

Сбор логов с пользовательских приложений настраивается отдельно.

Параметры кратковременного хранилища задаются в настройках модуля loki. В том числе возможно настроить размер диска и срок хранения, задать используемый StorageClass и ресурсы.

Кратковременное хранилище на базе Grafana Loki не поддерживает работу в режиме высокой доступности. Для долговременного хранения важных логов используйте внешнее хранилище.

Интеграция с Grafana Cloud

Чтобы настроить работу Deckhouse с платформой Grafana Cloud, выполните следующие шаги:

  1. Создайте ключ доступа к API Grafana Cloud.
  2. Закодируйте токен доступа к Grafana Cloud в формате Base64:

    API-ключ Grafana Cloud

    echo -n "<YOUR-GRAFANACLOUD-TOKEN>" | base64 -w0
    
  3. Создайте ресурс ClusterLogDestination, следуя примеру:

    apiVersion: deckhouse.io/v1alpha1
    kind: ClusterLogDestination
    metadata:
      name: loki-storage
    spec:
      loki:
        auth:
          password: PFlPVVItR1JBRkFOQUNMT1VELVRPS0VOPg==
          strategy: Basic
          user: "<YOUR-GRAFANACLOUD-USERNAME>"
        endpoint: <YOUR-GRAFANACLOUD-URL> # Например https://logs-prod-us-central1.grafana.net или https://logs-prod-eu-west-0.grafana.net
      type: Loki
    

Переход с Grafana Promtail

Для миграции с Promtail отредактируйте URL-адрес Loki, убрав из него путь /loki/api/v1/push.

Агент логирования Vector, который используется в Deckhouse, автоматически добавит этот путь при отправке данных в Loki.