Hatena::ブログ(Diary)

Perl勉強メモ アルパカDiary出張版

2013-11-06

App::Monitor::Simpleをcpanに上げた

| 01:17 | App::Monitor::Simpleをcpanに上げたを含むブックマーク

CPAN

http://search.cpan.org/~toritsuyo/App-Monitor-Simple-0.01/


昔書いた記事

http://d.hatena.ne.jp/tori243/20120609/1339255200


最近cronで使う機会増えてて、cpanあったほうが楽だなーと思ってcpanizeしました。

ついでにMinilla化したのはいいんですが、なんか怖くて普通にtarballでアップロードしました。。。


今回、いらない依存を削除したんですけど

なんでAnyEvent使ってたのか思い出せない。。*1

*1:普通にAnyEvent使いたかっただけだろうなー

2013-09-21

YAPC::Asia 2013 に参加してなんか書いてたというお話

| 01:46 | YAPC::Asia 2013 に参加してなんか書いてたというお話を含むブックマーク

なんだかんだで今年で4回目のYAPC::Asia。


なんか、いろいろ下書きしたんですが

グダグダな記事になりそうだったので一言でまとめますと、

最高

でした!!!

会場、ネットワーク環境、トーク(はずれなし)、懇親会(しかも無料!DeNA++)、どれをとっても最高。

としか言い用がありません。今年も存分に楽しませて頂きました。


Perl置かれている現状や来年のYAPC::Asiaなど、心配事は多々あるわけですが

自分はグダグダ言わずにコード書いて

Perlに貢献していくしかないかなーなどと思っています。


というわけでYAPC会場で暇を見つけてこんなの書いてました。

redis-stats

f:id:tori243:20130922012718g:image:w740


redis-stats > fluentd > GrowthForecast

というところまでやりたかったんですが、

redis-stats書くまでしか行けませんでした。書くの遅。


今回1000人超規模というとても大きなイベントになり

運営されていたスタッフの方々は例年にもまして大変だったと思います。

本当にお疲れ様でしたそしてありがとうございました!

2013-09-17

VM::EC2でIAMロール認証を行う

| 03:45 | VM::EC2でIAMロール認証を行うを含むブックマーク

VM::EC2でもIAMロール認証したくて、

VM::EC2にプルリクでもしようかなとコード眺めてたところ

「あれ、別にコード変えなくても今のままで行けるんじゃね?」

と気付いてしまった。

use strict;
use warnings;
use VM::EC2;

# dummy instance
my $ec2_dummy = VM::EC2->new(
    -access_key => 'a', # 空だと怒られる。。。
    -secret_key => 'b', # 空だと怒られる。。。
);
# get iam token
my $token = $ec2_dummy->instance_metadata->iam_credentials;
# get ec2 instance
my $ec2 = VM::EC2->new(
    -security_token => $token,
);
# api access...
print $ec2->describe_instances();

一度ダミーインスタンスを作って、iam_credentialsを取得。

そのトークンを用いて再認証したらいけた。


これでEC2サーバにキーを置かなくてもIAMロール+VM::EC2APIアクセス出来ますね!

2013-07-25

Redisのメモリ設定とファイル設定のdiff取るスクリプト書いた

| 20:45 | Redisのメモリ設定とファイル設定のdiff取るスクリプト書いたを含むブックマーク

※2013/07/25 スクリプトと概要をUpdateしました


次期バージョンであるRedis 2.8ではこの問題を少しでも解決しようと、 CONFIG REWRITE というコマンドで、redis.confの書き換えを行えるらしい、 が、結局それを忘れたら同じことなのでこの問題の解決にはなるかは微妙なところだ。 メモリ上にしか反映されていない設定があるかどうかをなんらかの方法でチェックすることができれば監視するなどできると思うのだが…。

http://unknownplace.org/archives/twilio-redis-incident.html

書き捨てっぽいですが、差分をとるスクリプトをペロッと書いてみました。


概要

以下のようなことをしています。

  1. 値が空のキーはデフォルト値を設定
  2. 単位(K/M/G)を最小単位に戻す
  3. メモリ上のキーを正とします*1
    • メモリにのみキーが存在する場合、ファイルのキーにデフォルト値を追加設定
    • ファイルにのみキーが存在する場合、ファイルのキーを削除
  4. 上記ハッシュをテキスト化してdiff取る
  5. 差分がないと「0」、差分があると「1」をステータスコードとして返します

チェックスクリプトとしてお使いください〜

*1:そうしないとチェックしようがないため

2013-07-17

redis-topにMax値との比率を出すオプションを追加しました

| 01:58 | redis-topにMax値との比率を出すオプションを追加しましたを含むブックマーク

CONFIG GET で取れる値(maxmemoryやmaxclientsなど)を使って使用率が確認できるとより便利かなぁと思います

Redisの監視/分析系ツールまとめ

なるほど。そうしましょう!


しました

https://github.com/toritori0318/p5-App-RedisTop

まだGithubのみ。


※2013/7/17 追記

さらに--slowlogオプションも追加しました。



オプションで--memoryperと--connperと--slowlogを追加しています。デフォルトでは表示されません。

ただ、maxmemoryとmaxclientsは

redis.confに明示的に指定しておかないとCONFIG GETで値取れないんですよねー*1

そこだけ注意しましょう。


しばらく様子見て問題無さそうならCPAN上げようかと思います

*1:--memoryや--connとあえて別にしているのもその理由