VPC flowlogという機能が最近リリースされました。SGを通過した・蹴られたのログが取れるというものです。これ自体はとてもありがたいのですが、ログの閲覧はCloudWathLogsからとなり、コレがイケてない。だから何とかしたという話
どんなふうにイケてないのか
CloudWatchLogs上の見え方ですが、こんなかんじです。
フィルタで頑張ることも出来なくはないのです。たとえば80ポートへのアクセスで絞るなら[スペース]80[スペース]
とかでフィルタかければなんとかいけます。ただ、Unixタイムスタンプはキツイよねー
で作りました
Cloud Watch Flowlog
Target Search text Treat as regex Use smart search srcaddr dstaddr srcport dstport action
機能解説
ローカル実行可能 Credential別サーバに投げるとかない
ローカルにおいたhtmlファイルを、ブラウザで叩いてOK。Web Storageとかも使ってない(使えてない)
ローカルファイルとしてJSONダウンロード可能
CreateDownloadLink を押してから 右のリンクをクリック。事前にデータロードした状態でないと動かない。おまけで付けた機能
各columnで絞り込み
80とかにマッチさせたければ、Regex on で ^80$
とかしないとダメ。あんまりイケてない。
問題点
そんなに作りこんでいない。でかいデータをガツンとやるなら、素直にローカルにダウンロードするツール使った方がいい。
何度か実行すると Call Stackが足らんとか言われる
いつか直す。
4,5 万行ぐらいでまともに動かない
Dynatableの方がいいのかも?StartDateで絞れるようにはした。
各種部品(ライブラリ)
AWS SDK
S3は少々CORSとかで癖があるけど、それ以外は特に問題ない。必要な機能だけの最小版も作れるみたい。
Build your own AWS SDK for JavaScript
これいいね!
datatables
テーブルをいい感じに捌くやつ。調べつつ使ったけど、あんまり使いやすくない。
moment.js
jsの面倒くさいところに、日付の変換とかがありますが、こいつはいい感じに捌いてくれます。
bootstrap-datetimepicker
昔からよくあるやつだけど、こいつのお陰でmoment.jsに触れた。
File API
とりあえず使ってみたかっただけ。
感想
やっぱjs難しいな-と思った。Bootstrap以外のものを使ってみよかとおもったけど、やめた。ともかく非同期地獄をコントロールできるようにならねばな、Promiseとか。