1

私は Loki を初めて使用し、異なるサーバーで実行されている複数の Loki/Grafana インスタンス用に共有ストレージをセットアップしようとしています。

主なクエリ: チャンク/インデックスの共有ストアとして機能し、「GCS バケット」に出荷できる Boltdb-shipper を調べたところ、次のことが疑問に思っていました。

Loki のさまざまなオンプレミス インスタンスから同じ「GCS」ストアにログを送信し、Google Cloud で Loki/Grafana インスタンスをセットアップして、この中央ストアから消費してすべてのサーバー ログの全体像を提供することは可能でしょうか。

内訳:shared-bucket-xyz 」という名前 のGCS バケットがあるとします

  1. ログをローカルのセットアップからリモートの shared-bucket-xyzにプッシュできますか? 提供された構成オプションに認証メカニズムが表示されないためです。

  2. 2 つ以上のローカル サーバーから同じバケットshared-bucket-xyzにログをプッシュできますか?

  3. クラウドにデプロイされた Loki/Grafana スタックは、shared-bucket-xyzからログを消費できますか?

Grafana が提供する構成サンプル:


    schema_config:
      configs:
        - from: 2018-04-15
          store: boltdb-shipper
          object_store: gcs
          schema: v11
          index:
            prefix: loki_index_
            period: 24h

    storage_config:
      gcs:
        bucket_name: GCS_BUCKET_NAME

      boltdb_shipper:
        active_index_directory: /loki/index
        shared_store: gcs
        cache_location: /loki/boltdb-cache

4

1 に答える 1

0

そのため、Grafana コミュニティに同じ質問を投稿したところ、そこで回答が得られました。ここで他の人のために共有します:

Loki のさまざまなオンプレミス インスタンスから同じ「GCS」ストアにログを送信し、Google Cloud に Loki/Grafana インスタンスをセットアップして、この中央ストアから消費してすべてのサーバー ログの全体像を提供することは可能でしょうか。

エージェント (promtail) を使用して、すべてのリモート クラスターからこの単一のリモート Loki インスタンスにログを送信します。これは推奨されるアプローチであり、Loki を自分で実行する方法です。

ログをローカルのセットアップからリモートの shared-bucket-xyz にプッシュできますか? 提供された構成オプションに認証メカニズムが表示されないためです。

はい、認証は、私たちが使用する GCS SDK を介して処理されます。これは通常、環境変数で行われます。

これを行うには、「docker run」コマンドで、Google 認証ファイルが json 形式で保存されている場所にパスをマウントします。Google 認証の詳細については、公式ページをご覧ください。

2 つ以上のローカル サーバーから同じバケット shared-bucket-xyz にログをプッシュできますか?

はい。ただし、1 つのテーブル マネージャーと 1 つのコンパクターのみを実行するのが最善です。複数実行しても問題はありませんが、最適ではありません。ただし、現在のところ、シングル バイナリ (デフォルトでテーブル マネージャーとコンパクターの両方を実行します) ではこれを行うのは困難です。これをより適切に処理するために構成を追加することについて話し合ってきましたが、作業はまだ完了していません。

クラウドにデプロイされた loki/grafana スタックは、 shared-bucket-xyz からログを消費できますか?

はい。ただし、Loki はログ データをメモリに保持し、ログ データをフラッシュする前に十分なチャンクを構築するため、このリモート インスタンスに表示されるものには多少の遅延があることに注意してください。これは、リモート サイトの Loki 構成によって決定されます。デフォルトでは、チャンクがフラッシュされて中央の場所に表示されるまでに 1 時間かかる場合があります。これらのタイミングを変更することは可能ですが、より小さなチャンクを強制するとクエリのパフォーマンスに影響を与える可能性があるため、お勧めしません。これが、Loki を一元化し、どこからでもログを送信するという、私が提案した最初のアプローチを一般的に推奨する理由です。

于 2020-12-28T05:25:56.027 に答える