VPC Flowlogが見づらいので、htmlでViewer作ってみた
VPC flowlogという機能が最近リリースされました。SGを通過した・蹴られたのログが取れるというものです。これ自体はとてもありがたいのですが、ログの閲覧はCloudWathLogsからとなり、コレがイケてない。だから何とかしたという話
どんなふうにイケてないのか
CloudWatchLogs上の見え方ですが、こんなかんじです。
フィルタで頑張ることも出来なくはないのです。たとえば80ポートへのアクセスで絞るなら[スペース]80[スペース]
とかでフィルタかければなんとかいけます。ただ、Unixタイムスタンプはキツイよねー
で作りました
機能解説
ローカル実行可能 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とか。