2017-11-14 38 views
0

異なるストレージバケットにログシンクを持つGCPプロジェクトがいくつかあります。私はそれらを1つのバケットにまとめたいと思います。しかし、スタックドライバのエクスポートは、オブジェクト名に識別情報を追加することはありません。彼らはすべてのように見えるcloudaudit.googleapis.com/activity/2017/11/14/00:00:00_00:59:59_S0.json複数のプロジェクトのログシンクを1つのバケットに指し示す

私はそれらをすべて単一のバケットにプッシュするとどうなりますか?異なるプロジェクトシンクが互いのオブジェクトを上書きしますか?どのプロジェクトがログをオブジェクトから作成したのかを区別する方法はありますか?

もしそうでなければ、私はpubsubシンクに切り替えてより望ましい名前のオブジェクトを生成するコードを書くべきだと思います。これを行うための確立されたパターンまたは例がありますか?

更新:私はこの問題についてhttps://issuetracker.google.com/issues/69371200を提出しました。

答えて

0

organizationまたはfolderにログを収集するすべてのプロジェクトが含まれている場合、その組織またはフォルダ内のすべてのプロジェクトから収集するシンクを作成できます。

残念ながら、クラウドコンソールではこれを行うことはできません。代わりに、--organizationまたは--folderオプションまたはAPIオプションを使用してgcloudを使用する必要があります。

+0

私の場合、残念ながらそれは機能しません。プロジェクトは、私が直接制御できない複数の組織にまたがっています。 – rvandegrift

0

これを有効にするには、シンクのcustom destinationを選択し、この形式のバケットを指してください:storage.googleapis.com/[BUCKET_ID]

バケツにエクスポートしたときの結果を知りたいので、これを私のプロジェクトのいくつかで有効にしました。しかし、私はすべてのプロジェクトに単一のBQシンクを使用しており、作成されたテーブルにはすべてのログが混在しているため、単一のBQシンクを使用するとログが失われることはありません。

私はGCSシンクが同じように動作すると仮定していますが、数日後にお知らせします。

単一のバケットシンクが機能しない場合は、ログを分析するのに役立つ単一のBQシンクをいつでも使用できます。また、BQでそれらを保持する必要がなくなったら、ファイルをエクスポートして、あなたは欲しい。

また、シンクに書き込む予定があるため、ニアラインまたはコールドラインを使用できないため、regional bucket(BQで0.02米ドル/ GBと地域で0.02〜0.35 USD/GBのいずれかと比較して、storage pricing is better in BQ) BQは月額10GB、GCSは5GB)。

私は一般的にBQシンクを使用することをお勧めしますが、私はバケットログで何が起こるか教えてくれます。

更新:

数時間後、私は共有バケットシンクは、あなたが期待するようほとんどが動作することを確認しました。プロジェクトの起点に関係なく、時系列的にログを連結し、時間ウィンドウごとに1つのファイルのみを作成します。お役に立てれば! (私はまだログシンクとしてBQが好きです...)

アップデート2:あなたは機能要求に求める行動については

、私はBQを使用していますが、同じように簡単にプロジェクトIDをgrepし、ログを分けることができます:

grep '"logName":"projects/<your-project-id>/' mixed-log.json > single-project-log.json 

または、bucket updatesによってトリガされたクラウド機能を取得するだけです(このため、シンク内のログファイルを受信するたびにこれを実行してください)。

あなたの名前空間にはバケツがあり、書き込まれるとすぐにどこでも必要な場所に移動することができます。

可能性は無限です!

関連する問題