AWSのサービスにS3のログ解析ツール「Athena」について書かせて頂きます。
目次
Athenaとは?
https://aws.amazon.com/jp/athena/
Amazon Web ServiceのS3にある大量のログをSQLのクエリを書いて抽出できるサービスです。
大量のファイルが分割されていると解析するのが大変なのですが、
これらのファイルの入っているパケットを指定してAthenaの設定を完了すると、
以下のようにSQLクエリを実行するだけで検索できてしまいます。
SQLクエリは業務で良く書きますので、データベースを触っていたサーバーサイドエンジニアでも使いやすいのではと思いました。
Athenaの設定方法
1、データベースを作成する
2、データフォーマットを指定する
※CSVやJSONのデータフォーマットも指定できます。
3、カラムを指定する
4、パーティションを指定する
※CreateTableを押すとAthenaで利用するデータベースの完成です。
Athenaを使ってやってみたかったこと
json形式でファイル出力されたS3のログをキーベースで検索して、簡単にS3のファイルからデータを抽出したかったのですが、結果できませんでした。
なぜかというと、ファイル転送を挟んだログファイルだったためにファイル自体がtsv形式だったので、json形式のデータフォーマットに適用できなかったためです。
カラム型にjson型があると嬉しいなと思いました。
TSV形式での検索
LIKE検索ができますので、ログ自体の検索はできましたし、レスポンスも遅いわけでもなく使い勝手は良かったです。
下記、簡単なクエリ例です。SQLと変わらないですね。
SELECT * FROM table_name WHERE column_name LIKE '%xxxxx%' LIMIT 100;
まとめ
AWSを使ってS3に溜まっているログをAthenaを使うだけで抽出できるので、今後も使っていきたいと思います。
導入も簡単なので、まだ使ったことのない方は試してみるとどうでしょうか。
最後に
リンクバルではエンジニアの採用を募集しています。採用はこちら