不覚。
クライアントから連絡が来て、障害発覚。
godで動かしていたrails script
が再起動後起動に失敗していた。
[ec2-user@app-production-001 current]$ sudo service app-god status
delayed_job:
delayed_job-0: start
delayed_job-1: start
delayed_job-2: up
delayed_job-3: start
delayed_job-4: start
mail_queue_server:
mail_queue_server-0: start
mail_queue_server-1: start
mail_queue_server-2: start
mail_queue_server-3: start
mail_queue_server-4: start
起動リトライを延々と繰り返してた。
[ec2-user@app-production-001 current]$ bundle exec rails c production
/usr/local/rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/activesupport-3.2.XX/lib/active_support/dependencies.rb:251:in `require': liblzma.so.0: cannot open shared object file: No such file or directory - /usr/local/rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/extensions/x86_64-linux/2.1.0-static/nokogiri-1.6.0/nokogiri/nokogiri.so (LoadError)
心当たりは前日行ったyum update
。
nokogiriを再ビルドしたら復旧した。
[ec2-user@app-production-001 current]$ sudo gem install nokogiri -v=1.6.0
Building native extensions. This could take a while...
Successfully installed nokogiri-1.6.0
Parsing documentation for nokogiri-1.6.0
Done installing documentation for nokogiri after 3 seconds
1 gem installed
こういうのもあるのか。
今日の教訓
- パッケージの更新は慎重に。予想外のところで依存関係の問題が発生することも
- ステージングサーバでちゃんと試す
- godでdaemonizeしたプロセスについても、繰り返し起動に失敗するようなら検知できるようにする