2014年12月18日木曜日

EC2のCentOS6 HVMでresize2fs "Nothing to do!"と言われたとき

http://www.flickr.com/photos/micahdowty/2932264540

EC2のCentOS6 HVMインスタンスを立ち上げたときは、そのままでは、resize2fsが動かずディスクサイズの増加ができません。
※ CentOS 6 (x86_64) - with Updates HVMのみ、CentOS 7版はOKです。
# resize2fs /dev/xvda1
resize2fs 1.41.12 (17-May-2010)
The filesystem is already 2096896 blocks long.  Nothing to do!
fdiskでパーティーションを作りなおしたりすれば良いのですが、若干面倒です。
cloud-initとcloud-utils-growpartを使った簡単な方法でディスクサイズを増加させます。

cloud-initをインストール
# yum -y install http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
# yum -y install cloud-init.noarch cloud-utils-growpart

下記の記述があることを確認
# cat /etc/cloud/cloud.cfg
 - growpart
 - resizefs

リブート
# reboot

もう一回、ログインしてリブート
※ ログインユーザがcentosになっているので注意。
$ ssh -i your.pem centos@xxxxxx.ap-southeast-1.compute.amazonaws.com
$ sudo su
# reboot

ディスクサイズが増えていることを確認
$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1       99G  898M   93G   1% /
tmpfs            30G     0   30G   0% /dev/shm


Enjoy!


参考)
AWS Marketplace版CentOSとの格闘記録 | tech
http://www.infilic.co.jp/tech/?p=221

1001714 – Add cloud-init to our base AMIs
https://bugzilla.mozilla.org/show_bug.cgi?id=1001714

2014年12月15日月曜日

BasecampのアップデートをSlackに投稿する

http://www.flickr.com/photos/qrush/14683721804

https://github.com/takeshiyako2/basecamp_to_slack
BasecampのアップデートをSlackに投稿するスクリプトを書きました。
以下のように通知してくれます。


もともと、Zapier(https://zapier.com/)というサービスで、BasecampとSlackを接続していたのですが、すぐにAccount Usageがフルになり使えなくなってしまいました。
調べたところ、BasecampにはAPIが提供されていたので、それを使ってみました。
https://github.com/birarda/logan
こちらのGemライブラリを利用しています。

Enjoy!



2014年12月12日金曜日

NagiosでAmazon Redshiftのディスク使用量をチェックする

http://www.flickr.com/photos/chewie/163892769

https://github.com/takeshiyako2/nagios-check_redshift_free_storage_space
Amazon Redshiftのディスク使用量をチェックするNagiosプラグインを書きました。


Amazon Redshiftは、ディスク使用率が50%を超えると性能が劣化してきます。
無理のないように早めにスケールさせて上がるとよいでしょう。

以下、セットアップ方法です。先に、rubyを使えるようにしておいてください。

1) CentOSの場合postgresql-develをインストール。
# yum -y install postgresql-devel

2) Gemライブラリをインストール.
# bundle

3) スクリプトを実行.
# ruby check_redshift_free_storage_space.rb -H xxxxx.ap-northeast-1.redshift.amazonaws.com -P 5439 -d my_database -u my_user -p my_password -w 50% -c 80%
OK - total: 7168GB, used: 2048GB (28%), free: 5120GB (72%)|used=2048

4) nrpe.cfgに設定を書き込み。nrpeをリスタート。


Enjoy!