Logsを検索できるawslogsコマンドの紹介CloudWatch2016年06月06日knakayama(82)8686件のシェア(ちょっぴり話題の記事)この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。はじめにこんにちは、中山です。2016に参加してきました。セッションを聴講している際にスピーカーの方が面白そうなツールを紹介されていました。awslogsというPython製のツールです。Logsをターミナルから直感的に検索するためのツールです。使用してみたのでレポートします。Logsの設定が必要です。検証環境構築用のコードをGitHubに上げておきました。以下のコマンドで実行可能です。ロググループ名は「/var/log/nginx/access_log」で、ストリーム名が「<instance-id>_nginx_access_log」です。cronで1分毎にlocalhostにアクセスさせているので、ログが随時書き込まれていきます。こちらのコードを利用すれば検証環境が構築可能です。既存の環境がある場合はこのコードを利用する必要はありません。説明を簡易化させるために以下の内容はこの検証環境を前提として進めます。環境も整ったところで早速使ってみましょう。インストール方法READMEに詳しいですがpipで簡単に導入可能です。指定してsixパッケージをインストールせずに導入する必要があります。Capitanからはsixパッケージの1.4.1がデフォルトで入っているため、awslogsが依存しているbotocoreがさらに依存しているpython-dateutilがsixパッケージ1.5以上を要求するので、pip経由でインストールさせるとうまく動作しない場合があるようです。sixサブコマンドawslogsには以下の3つのサブコマンドがあります。以下ではそれぞれのサブコマンドについて解説します。Logsのロググループ名を標準出力に表示します。書式は以下の通りです。AWS_REGION]お馴染みのクレデンシャル系オプションを指定できるようですが、このサブコマンド特有のオプションはないようです。groups<snip>/var/log/nginx/access_log「/var/log/nginx/access_log」というロググループ名が表示されました。サブコマンドにはこれ以外の機能がなく、非常にシンプルなものになっています。Logsのストリーム名を標準出力に表示します。書式は以下の通りです。引数に「log_group_name」を指定する必要があります。/var/log/nginx/access_logi-904d2d0f_nginx_access_logi-e54c2c7a_nginx_access_log設定したストリーム名が表示されました。サブコマンド同様こちらも非常にシンプルな機能になっています。以前にイベントが発生したストリームに絞って表示してくれます。サブコマンドの方で説明します。Logsのストリームに発生したイベントを標準出力に表示させます。この機能がawslogsコマンドの要です。書式は以下の通りです。[log_stream_name]このサブコマンドにはさまざまなオプションを指定できるようですね。それぞれ見ていきましょう。getサブコマンドの基本まずは基本的なコマンドの使用方法を解説します。ロググループ名とストリーム名のみ指定する形式がそれになります。"-"いい感じにログが表示されていますね。お伝えできなくて恐縮ですがしっかりと色付きで表示されています。お馴染みのツールで特定のログを抜き出せます。"-"ちなみにストリーム名は省略可能です。指定した場合と同じ)。ストリーム名には正規表現が指定できます。"-"続いてオプションについて解説します。オプションこのオプションはログを表示し続けます。オプションロググループ名を省略して表示させます。オプションストリーム名を省略して表示させます。オプションストリームにイベントが発生した時間を表示します。オプションストリームにイベントが発生してingestされた時間を表示します。オプションストリームにイベントが発生した時間以降のログを表示させます。日付処理にはPythonのdateutilモジュールが使われています。以下ではREADMEを参考にしてこのオプションの使い方を解説します。オプションストリームにイベントが発生した以前のログを表示させます。以下ではこの2つのオションを組み合わせた例を紹介します。オプションその名の通り色を表示させません。Logsのフィルターパターンを指定してより詳細なログの抽出を実施できます。"-"まとめいかがだったでしょうか。イベント自体はawscliでも見れますが、より直感的な操作かつ慣れ親しんだUnix系ツールを利用できる点がいいなと思いました。今後も使っていきたいツールの一つになりそうです。本エントリがみなさんの参考になれば幸いです。リモート参加もOK〜クラスメソッドでは、AWS・AI・ビッグデータ・モバイルなどの技術職や営業のメンバーとして一緒にお仕事をする仲間を大募集しています。〜ITエンジニアのお仕事とホンネ〜1月30日に新卒向けの会社説明会〜ITエンジニアのお仕事とホンネ〜を開催します。クラスメソッドの関連会社であるアノテーション株式会社の研修として依頼を受け、チームと心理的安全性、それに礼節というテーマで話をしてきました。濱田孝治268「ふわわぁ、眠いな。藤井元貴90Gitリポジトリ内を検索する機会はよくあると思います。grepコマンドを使えば、git管理下のファイルのみを対象としてgrepができます。シンプルなコマンドですが、利便性はとても高いと思います。記事2020年01月20日かずえ81速報です。先程大阪リージョン開設予定がアナウンスされました!!以前から大阪ローカルリージョンという色々と制限がついた特殊なリージョンが存在していましたが、それが拡張され、東京リージョンなどと同じ通常のリージョンになります!2021年初頭開設予定です。武田隆志1143このエントリは、2018年、2019年に公開したAWS全サービスまとめの2020年版です。これまではいくつかに分割して公開していましたが、1エントリにまとめてほしいという要望をもらっていたため、今年は1エントリに集約してみました。クラスメソッドの関連会社であるアノテーション株式会社の研修として依頼を受け、チームと心理的安全性、それに礼節というテーマで話をしてきました。CAFEのサービスが「LINEアプリ」として利用できるようになりました。これまではLINEのトークから利用する形でしたが、LINEサービス内から利用できるようになりました。これまでより便利に、シームレスにご利用いただけます。Cafe326件のシェア(そこそこ話題の記事)インフラ未経験の私が内定から入社までに読んだ技術書11冊ブログ記事2020年01月16日Yui326インフラ未経験で入社した私がインフラを勉強するために読んだ技術書11冊を感想とともにまとめました。濱田孝治268「ふわわぁ、眠いな。クラスメソッド株式会社が運営するAWS・iOS・HTML5に関する技術情報サイトです。