<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Fluentd on LIFELOG</title>
    <link>/tags/fluentd/</link>
    <description>Recent content in Fluentd on LIFELOG</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>ja</language>
    <copyright>© 2026 0222-nnn</copyright>
    <lastBuildDate>Sat, 05 Sep 2026 00:00:03 +0900</lastBuildDate><atom:link href="/tags/fluentd/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
      <title>標準出力に1行JSONを書くだけなら、GKEではFluentdサイドカーが要らなかった</title>
      <link>/blog/20260905_terraform_gcp_advanced_gke_cloud_logging_format/</link>
      <pubDate>Sat, 05 Sep 2026 00:00:03 +0900</pubDate>
      
      <guid>/blog/20260905_terraform_gcp_advanced_gke_cloud_logging_format/</guid>
      <description>&lt;h2 class=&#34;relative group&#34;&gt;概要 
    &lt;div id=&#34;概要&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100&#34;&gt;
        &lt;a class=&#34;group-hover:text-primary-300 dark:group-hover:text-neutral-700&#34;
            style=&#34;text-decoration-line: none !important;&#34; href=&#34;#%e6%a6%82%e8%a6%81&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;        
    
&lt;/h2&gt;
&lt;p&gt;構造化ログをCloud Loggingに送りたいとき、Fluentdをサイドカーに置く構成があります。GKEでそれが要るのかを確かめました。&lt;/p&gt;
&lt;p&gt;さらに、&lt;code&gt;fluent.conf&lt;/code&gt;に書いた&lt;code&gt;tag&lt;/code&gt;や&lt;code&gt;record_transformer&lt;/code&gt;が、Cloud Logging上のどのフィールドになるのかも対応が分かりません。サイドカーを入れたのに期待したキーで検索できない、という状態になりがちです。&lt;/p&gt;
&lt;p&gt;実際に測ってみると、&lt;strong&gt;GKEの収集エージェントが既にJSONを解釈していました。&lt;/strong&gt; アプリが&lt;strong&gt;標準出力に1行JSONを書く&lt;/strong&gt;なら、サイドカーは要りません。しかも挟み方を誤ると、逆に構造を失います。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ファイルに書く場合は別です。&lt;/strong&gt; GKEの標準収集が拾うのはコンテナの標準出力と標準エラーなので、ファイル出力を届けるには何かが要ります。&lt;/p&gt;
&lt;p&gt;対象読者は、GKEでPodを動かしたことがあり、Cloud Loggingでログを見たことがある人です。Kubernetesの入門は扱いません。&lt;/p&gt;
&lt;p&gt;Log Routerによる転送、Log-based metrics、Autopilotクラスタは扱いません。&lt;/p&gt;

&lt;h2 class=&#34;relative group&#34;&gt;検証すること 
    &lt;div id=&#34;検証すること&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100&#34;&gt;
        &lt;a class=&#34;group-hover:text-primary-300 dark:group-hover:text-neutral-700&#34;
            style=&#34;text-decoration-line: none !important;&#34; href=&#34;#%e6%a4%9c%e8%a8%bc%e3%81%99%e3%82%8b%e3%81%93%e3%81%a8&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;        
    
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;素のテキストとJSONで、入るフィールドが変わるか&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;構造化ログにFluentdサイドカーは必要か&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;fluent.conf&lt;/code&gt;の設定がCloud Loggingのどのフィールドになるか&lt;/li&gt;
&lt;li&gt;スタックトレースが1エントリにまとまるか&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class=&#34;relative group&#34;&gt;前提環境 
    &lt;div id=&#34;前提環境&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100&#34;&gt;
        &lt;a class=&#34;group-hover:text-primary-300 dark:group-hover:text-neutral-700&#34;
            style=&#34;text-decoration-line: none !important;&#34; href=&#34;#%e5%89%8d%e6%8f%90%e7%92%b0%e5%a2%83&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;        
    
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Google Cloud CLI、Terraform&lt;/li&gt;
&lt;li&gt;Billingが有効な検証用Google Cloud Project&lt;/li&gt;
&lt;li&gt;GKE、Compute Engineを操作できるGoogleアカウント&lt;/li&gt;
&lt;li&gt;検証時のバージョン：Terraform 1.14.5、google 7.46.0、GKE 1.35.7-gke.1027000、fluentd v1.16-debian-1&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class=&#34;relative group&#34;&gt;使用するTerraformコード 
    &lt;div id=&#34;使用するterraformコード&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100&#34;&gt;
        &lt;a class=&#34;group-hover:text-primary-300 dark:group-hover:text-neutral-700&#34;
            style=&#34;text-decoration-line: none !important;&#34; href=&#34;#%e4%bd%bf%e7%94%a8%e3%81%99%e3%82%8bterraform%e3%82%b3%e3%83%bc%e3%83%89&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;        
    
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/tech-0222/terraform-gcp-examples/tree/main/Advanced-Examples/24-gke-fluentd-log-format&#34; target=&#34;_blank&#34;&gt;Advanced-Examples/24-gke-fluentd-log-format&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;READMEの手順でTerraformを適用し、&lt;code&gt;k8s/&lt;/code&gt;配下の4つのマニフェストを当てます。&lt;strong&gt;クラスタはプライベートエンドポイント構成なので、以下の&lt;code&gt;kubectl&lt;/code&gt;は踏み台VMから実行します。&lt;/strong&gt;&lt;/p&gt;</description>
      
    </item>
    
  </channel>
</rss>
