Y-Ken Studio

新しもの好きのデータエンジニアが四方山話をお届けします。

個人情報を難読化するfluent-plugin-anonymizerの安定版をリリースしました #fluentd

photo by minnepixel

突然ですが皆さん、アプリログをFluentdで収集する際に個人情報となるデータの扱い、どうしていますか?

こういったログデータは個人情報保護や内部統制の観点から、データマスキングをしてから分析した方が好ましいです。
しかしながら、サーバにアクセス出来る人が限られるといった理由で問題の先送りをしているケースがあるかもしれません。
最近流行のログの見える化により、データマスキングされないまま多くの人がそういった情報にアクセス出来るようになっているのなら、余計にマズいですよね。

そこでデータマスキングを実現するfluent-plugin-anonymizerの出番です。
このプラグインを経由することで、文字列のハッシュ化と、IPv4/IPv6アドレスの丸め処理が出来ます。
リアルタイム分析用のElasticsearch+Kibanaといった検索ダッシュボードアプリへデータを格納する際にも有用ですね。

y-ken/fluent-plugin-anonymizer

続きを読む

Fluentd+Elasticsearch+Kibana構成で便利な、logstash形式インデックスの粒度をカスタマイズする方法

f:id:yoshi-ken:20140106222931p:plain

fluent-plugin-elasticsearchやKibanaのデフォルトであるlogstash形式では、年月日毎にインデックスを作成されて使われることを想定されています。 これは扱いやすいのですが万能では無く、次のような状況ではパフォーマンス的な観点で、このインデックスの粒度を変更することを検討すると良いケースがあります。

  • 粒度を細かくしたいケース(時間単位)

    • 日毎のインデックス作成では、elasticsearchに割り当てたメモリ量を超えてしまう
  • 粒度を荒くしたいケース(週単位/月単位/年単位)

    • 日毎のインデックス作成では容量が小さく、日常的に検索する範囲が複数のインデックスに渡るとき

Kibanaは年月日以外の粒度(時間・日・週・月・年)にも対応していますので、変更することも容易です。これは次の2つの設定変更で適用できます。

  • ログ収集を行うElasticsearchへ流し込む、Fluentdの設定
  • 検索側フロントエンド、Kibanaの設定(DashboardSettings->Index)

それでは早速、それぞれの設定の紹介をします。

続きを読む

Fluentdのタグ書き換えが捗る「tag_parts」プレースホルダを使ってみよう

Fluentdでログのちょっとした加工をする際に、タグの付け替えが必要です。
新しいタグを指定するか、先頭文字列の付け替えを行う手法が良く使われます。
しかしそれだけではかゆいところに手が届かず、もどかしい思いをされたことでしょう。
そんな時、タグをドットで分解した要素毎に分解して使えるプレースホルダが大活躍します。

この記事を読めば、これがなぜ今まで無かったのか不思議に感じる程です。
そう思えるほど便利な新機能、それでは早速紹介します。

続きを読む

MySQLでMyISAMからInnoDBに乗り換える際に知らないとハマる、怖い話


photo by byte

MySQLといえば、巷ではInnoDBばかり注目され、MyISAMの地下アイドル化がにわかに語られる今日この頃、皆様いかがお過ごしでしょうか。

まあカジュアルにストレージエンジンを変換するだけで済むなら、簡単なのです。

-- legacy_my_tableをInnoDBストレージエンジンに変換する
ALTER TABLE legacy_my_table ENGINE=InnoDB;

よし終わった!さあランチタイムだ!
・・・と片付けてしてしまうと、悲劇が起こるかもしれません。(>o<;)

それでは本日、MyISAMからInnoDBへ移行するなら知っておきたい意外な落とし穴とTipsを紹介します。

続きを読む