2013-01-01から1年間の記事一覧

Mac OS X(Mountain Lion)のErlangでwxを動かしたい(動かせてない)

Erlang/OTP trainingでobserver便利そうだったけど、手元で動かせてなかったので。 ちなみに、以下のようなわけで64bitのMac OS Xではwxは動かないらしいです。 http://erlang.org/pipermail/erlang-questions/2013-March/072687.html以下を参考に入れてみま…

Erlang/OTP training 2013に行ってきた

ふだん触ってないパラダイムの言語触るのはだいぶ楽しかったし、いい刺激になりました。 惜しいとすれば、すごい講師の方だったのでもう少し前提知識があればより貴重な情報を拾えただろうことと、@lhoguinはネットワーク系ならだいたいErlang使うって言って…

Erlang/OTP training 2013に来てます

ひょんなきっかけで、Erlang/OTP trainingに参加して、Erlang触ってます。 普段使ってる言語とまったく違う感じで、すごいおもしろい。 言語自体がfault tolerantなsystemを作れるように、みたいな感じ。 key word的には concurrency error encapsulation fa…

Cloud Watchのカスタムメトリクスで特定のurlのhttp status codeを監視する

特定のurlのhttp status codeはこんな感じのshell scriptでとれる。 知らなかったけど、curlいろいろ出力整形できて便利だった。 $ cat /home/ec2-user/cloudwatch/http_status_check.sh #!/bin/sh curl -s $1 -o /dev/null -w "%{http_code}" あとは、cloud…

vagrant + berkshelfを使うときに独自のcookbookをどう使うか

現在、vagrant-berkshlef(ver. 1.2.0)を使うと、cookbooks_pathが乗っ取られるので、もともとそこに指定していた独自のcookbookが見えなくなってしまう。ので、試行錯誤した結果をめも。 方法1 Berksfileでcookbookを管理して、cookbook自体はlocalにinstall…

zabbixで特定のurlのいいね数を監視する

いいね数はAPI経由で取得できるので(参考:Facebookのいいねボタンのいいね数を取得するAPI - Hello API)、jsonで返ってくるresponseをjq(参考:jq)を使ってparseしていいね数のみを取得するshell scriptを用意する。ここでは、jqのinstallは省略します。 $ …

nginxでproxyしてるときにカスタムのエラーページを表示する

結論としては、proxy_intercept_errors onを使う。nginxで、error_pageディレクティブを指定するとカスタムのエラーページを表示できる。 でも、下記のような書き方だと、proxy先の返すhttp statusまで見てエラーページが表示されたりまではしない。 server …

nginx, redisの同時接続数を増やす

node+websocketを使っていて、nginx, redisあたりの同時接続数を増やしたいなぁと思って調べたのでめも。一番詳しかったのはこちらの記事。 Linux サーバでの「Too many open files」対策について - akishin999の日記簡単にまとめると、 ulimit -nで開けるフ…

CentOSでs3cmdを使ってみる

わりと簡単に入れられた。 $ cd /etc/yum.repos.d $ curl -O http://s3tools.org/repo/RHEL_6/s3tools.repo $ sed -i -e s/enabled=1/enabled=0/ /etc/yum.repos.d/s3tools.repo $ yum install s3cmd --enablerepo=s3tools $ s3cmd --configureconfigureの際…

vagrantのchefによるprovisioningでgitのprivte repositoryを扱う

いろいろと要求と制限があったけど、わりときれいに解決したのでめも。まずはssh forward agentの設定 # ~/.ssh/config Host * ForwardAgent yes $ eval `ssh-agent` $ ssh-add ~/.ssh/id_rsa Vagrantfileにもforward agentの設定を書く。 # Vagrantfile Vag…

vagrant-awsでmkdir -p /vagrantで失敗する

だいぶはまったのでメモ。aws用の設定書いてvagrant upすると以下のようなエラーが出てしまう。これ出てても、けっこうスルーしてる人が多い気がする。。。 The following SSH command responded with a non-zero exit status. Vagrant assumes that this me…

AWSでインスタンスIDからそのインスタンスのIPアドレスを調べる

いまvagrant, was, chefあたりを使いつつサーバのセットアップをしてるのですが、その中でEIPを振ってないインスタンスに対してknife走らせるにはどうすればいいか検討している中で試したのでめも。EIPのないインスタンスはstop/startするとIPが変わってしま…

rbenvでchef + knife-solo 0.3.0をセットアップするshell scirpt

knife-solo 0.3.0をgithubから入れるようにしてみた。 #! /bin/sh sudo yum -y install git libxml2-devel libxslt-devel git clone https://github.com/sstephenson/rbenv.git ~/.rbenv && echo 'checkout repository' echo 'export PATH=$HOME/.rbenv/bin:…

いろいろな方法でvagrantをprovisioningしてみる

vagrantはいくつかの方法で、起動時にいろいろな処理を走らせることができます。 今回は、 shell script chef berkshelf によるprovisioningをそれぞれ試してみました。 shell まずは、provisionningがどういうタイミングで走るのかを試しがてら、shell scir…

rbenv + chefをセットアップするやーつ。

母艦のMacの方じゃなくて、VMに入れる想定で。 #! /bin/sh sudo yum -y install git git clone https://github.com/sstephenson/rbenv.git ~/.rbenv echo 'export PATH=$HOME/.rbenv/bin:$PATH' >> ~/.bashrc echo 'eval "$(rbenv init -)"' >> ~/.bashrc so…

Vagrant 1.2.2でSaharaを導入

vagrantでスナップショットを取って変更を巻き戻したりできるsandboxを使えるようにするplugin, Saharaをいれる。けっこうmajorっぽい。 $ git clone https://github.com/ryuzee/sahara.git $ bundle install $ bundle exec rake build $ vagrant plugin ins…

boxenでログインシェルをzshにする

osx_chshを使うのだけど、このResourceはpuppet-osxに依存してるので、それも追加しておく。 dotfilesちゃんと管理して.zshrcとかもよしなにしたいけど、それはまたそのうち。 # ~/src/our-boxen/Puppetfileに追記 github "osx", "1.0.0" # ~/src/our-boxen/…

boxenで必要なものをいれてから、はじめてのvagrantまで。

Vagrant(Vagrant by HashiCorp)で遊ぼうと思い立ったのだけど、せっかくboxen入れたので、必要なものをとりあえずboxen経由で入れてみようかと。ということで、まずboxen経由でvirtualboxとVagrantをinstall # ~/src/our-boxen/Puppetfileに追記 # 現在のと…

boxenを使ってMacのセットアップ

気になってたので使ってみた。 Boxen (redirecting)いくつか記事を参考にやろうとしたけど、どうやらversion上がって、boxenのinstall方法(というかinstall先の構成か)が変わったらしく、とりあえずboxenをuninstallしてやり直すところから。 $ /opt/boxen…

本番サーバでperlの環境構築するのにxbuildを使う

開発はplenv + cartonでやってたのですが、いざ本番サーバセットアップするときにどうしようとなって、んじゃxbuild使うか!となりました。お手軽。本番環境でのperl/ruby/nodeのセットアップ - たごもりすメモ GitHub - tagomoris/xbuild: Language runtime…

AnyEvent::Twitter::Streamで日本語ハッシュタグ検索がうまくいかない

長らく取り込まれていないようだけど、以下のprを充てればうまく動きます。 uri escapeが2種類使われているのが原因でうまく動かないよう。using uri_escape_utf8 because Net::OAuth uses uri_escape_utf8 by yappo · Pull Request #3 · miyagawa/AnyEvent-…

AWSのセキュリティグループではまった話

sshしか通ってなくて少しハマった。 access_keyとsecret_keyは持っていたので、以下を参考にtcp 80を追加して解決。 ただ、ぱっと調べた感じどうやってそのインスタンスがどのセキュリティグループに属してるか調べればいいかわかんなかった。(このときは、a…

carton使ってワンライナー

備忘録的に。 $ carton exec -- perl -le 'print "hoge"'

plenv + carton使ってみた

plenv install中にめも。とりあえず、plenv入れるところまで。とりあえず使ってみようということで、新しいプロジェクトに合わせて、 plenv + cartonな環境を作ってみる。 $ git clone git://github.com/tokuhirom/plenv.git ~/.plenv $ echo 'export PATH="…