EventをFilterする2019年10月20日hama24(0)5はじめに「なんかおかしい」と言われてログを漁る、でも特に何も見つからない。コマンドの打ち間違いもあるかもしれませんね。慣れてる人はそうでも無いのかもしれませんが、それぞれシステム事情も有ります。余計な心労は無いにこしたことはないですね。いう事で、プログラムしましょう。今回採用したのはNode.jsです(理由は特にありません)。相当する処理を実装します。}});さてこれで期待した結果が得られましたか?残念ながら、たいていの条件・状況において、これでは不足です。CloudWatchLogsでは、一度のクエリで走査されるボリュームが制限されているからです。本番環境のように大量のログデータが存在する状況で、このようなコードで、期待した結果を得られるような事はまずありません(対象範囲日時をよほど絞り込めている場合でも無い限り)。現実的には、nextTokenを使った再帰的な問合せが必要になります。使って再帰処理するという事でPromise使って再帰処理を実装します。.catch(console.log);これで、再帰問合せが実現できました。問合せの上限回数を緩くすれば、指定日時範囲の全てのログを探索し続ける事も可能です(もちろん自己責任でお願いします)。使い回せるように整えるやってみただとここまでなんですが、せっかくなので、もう少しちゃんとやりきりたいと思います。クエリ条件を、コマンドライン引数から貰う事にします。ここはライブラリ(command-line-args)の力を借りて、スッキリまとめたいですね。defaultValueも定義して、無駄な入力は減らしましょう。日時情報には定番のmomentとmoment-timezoneを使って、JSTデフォルト、短縮入力も可能にします。入力ミスは怖いのでちゃんとValidateも。.catch(console.log);ベースとしてはこんな感じでどうでしょう?あとは、ログストリーム毎にカスタマイズしたものを用意しておけば、コマンドラインからの入力の手間も省けますし、processDataChunk関数内でログの内容に応じた処理を実装する事で、より見やすく加工したり、後処理を楽にする事もできると思います。まとめという事で、私は上記のようなスクリプトを、ログストリーム毎や、定番の抽出条件などにカスタマイズしたものを複数用意しています。やるべき事を定型化できるようになり、結果、心労は大きく軽減されました。同じように、心病みそうな思いをされてる方の助けになれば嬉しいです。5,843まだプロフィールが設定されていません。リモート】クラスメソッドの会社説明会を開催しますクラスメソッドでは、AWS・AI・ビッグデータ・モバイルなどの技術職や営業のメンバーとして一緒にお仕事をする仲間を大募集しています。〜ITエンジニアのお仕事とホンネ〜1月30日に新卒向けの会社説明会〜ITエンジニアのお仕事とホンネ〜を開催します。濱田孝治80EKS初心者の方向けに、EKS周辺のAWSリソースがどのように関連して動作しているのかをステップバイステップでEKSCTLが担っている役割を中心に説明しました。菊池修治45こんにちは、菊池です。VPNの冗長化について、最近何度か続けて社内で質問を受けましたのでまとめようと思います。大前諒祐26MediaLiveでの配信終了時に自動でアーカイブファイルをMediaConvertで変換する仕組みを作ってみました。武田隆志1179このエントリは、2018年、2019年に公開したAWS全サービスまとめの2020年版です。これまではいくつかに分割して公開していましたが、1エントリにまとめてほしいという要望をもらっていたため、今年は1エントリに集約してみました。クラスメソッドの関連会社であるアノテーション株式会社の研修として依頼を受け、チームと心理的安全性、それに礼節というテーマで話をしてきました。CAFEのサービスが「LINEアプリ」として利用できるようになりました。これまではLINEのトークから利用する形でしたが、LINEサービス内から利用できるようになりました。これまでより便利に、シームレスにご利用いただけます。Cafe328件のシェア(そこそこ話題の記事)インフラ未経験の私が内定から入社までに読んだ技術書11冊ブログ記事2020年01月16日Yui328インフラ未経験で入社した私がインフラを勉強するために読んだ技術書11冊を感想とともにまとめました。濱田孝治272「ふわわぁ、眠いな。クラスメソッド株式会社が運営するAWS・iOS・HTML5に関する技術情報サイトです。