背景
aws CloudWatch LogsをLog Group横断でtailするヤツ。awsでAPI開発をしていると複数のEC2インスタンスに冗長化したり、更にその内部でnginx持っててDocker containerをClusteringしていたりして、Logを集約して見るのに若干不便な思いをすることがあります。CloudWatch Logsでは一応Log Groupをまとめていたものの、なにか良い方法はないものか?と日頃から思っていました。そこでawslogsのご紹介です(ショップジャ○ン感)。
jorgebastida/awslogs: AWS CloudWatch logs for Humans™
前提
- AWSで
- CloudWatchを見る権限のあるIAMユーザーを作っている
- Logを見る環境で
- awscliインストール位済
-
aws configure
済
- 各EC2インスタンスたちで
- agentをインストールしている
awslogsをインストール
ネットに散見する資料ではroot不要みたいに書いてあるけど必要。pip必須。
-bash-*.*$ sudo pip install awslogs
Log Group一覧取得
仮にこんなLog Groupがあったとして…
-bash-*.*$ awslogs groups
production.log
staging.log
/var/log/messages
/var/log/docker
-bash-*.*$
tailする
基本的にawslogs get -w {log_group_name}
で取る。
productionの場合
-bash-*.*$ awslogs get -w production.log
stagingの場合
-bash-*.*$ awslogs get -w staging.log
所感
週末に( ゚д゚)ポカーンと眺めたいですね。それじゃまた。