Load Average をワンライナーで取るコマンド

uptime コマンドから、load averages の直近1分の値をワンライナーで取る。uptime コマンド(CentOS7で実行)は、load average: の後に過去1分間、5分間、15分間のロードアベレージが出る。 Linux の出力例 $ uptime 12:53:16 up 3:26, 1 user, load average: 0.00, 0.03, 0.61 OSX の出力例 $ uptime 23:11 up 11:10, 1 users, load averages: 1.85 1.70 2.15 awk の $1 を、$2,$3とすると過去5分、15分の値になる。OSXでuptimeすると、load average: (最後のsがない) のと、数字がLinuxはカンマ付きでOSXはカンマなしなので、下記のような正規表現で差異を吸収する。 uptime | sed -E 's/.*load averages?:(.*)/\1/' | awk '{print $1}' | sed -e 's/,//'

Read More

AWSCognitoで認証情報の自動取得が動くようになってた

今まで iOS版の Cognito 使ってたのだが、60分経ったら credential が無効になって認証エラーになってしまうという問題があった。開発者は何もしなくても裏で勝手に refresh される、と書いてあったけど実際はされていなかったように見えたが(そういう報告をフォーラムに上げてる人も何人かいた)、直ってようやく気軽に使えそうな感じがする。 AWS Cognito の iOS SDK が 2.3.5 になって、修正された模様。 iOS版は、AWS MobileHub でテンプレートを作って試してみるのが手っ取り早かった。一番良いと思うのが、Cognito で認証してるときのid的なものをIAM側で変数として埋め込めるので、それと AWS APIGateway の URL をマッピングさせると、REST API と相性が良すぎる。 APIGateway は、Swagger で書いてインポートすると良い感じだが、完全に Swagger のフォーマットだけで出来るのかはよくわからない。APIGateway 側からエクスポートするとき、APIGateway 用の拡張情報込みのエクスポートというのが出来るので、それを使えば良いのかもしれない。 APIGateway のバックエンドに S3, DynamoDB, Lambda を使ってみたところ、ec2 (Rails)でやってた処理を大部分移すことが出来た。APIGateway を挟んでおけば、複雑なことをやりたくなったら、URL単位で処理を Rails に持ってくればよいのだが、Rails外にある様々な処理についてのテストをどのように書くかというのが悩みである。

Read More