技術ネタ: 2013年7月アーカイブ

どうも。

どうにも熱帯夜のため寝不足で仕事中に眠りかけているハシモトです。

capistranoをいじって遊んでいたのですが、bitbucketからgitでdeployさせようとしてもどうにもうまくいかなかったのでメモ。

症状としてはパスフレーズを聞かれ続け失敗する、というもの。

scm_passphraseを入れてみたり抜いてみたり、deploy先サーバーでssh-agent起動させてみたり色々したのですがどうにもうまくいかず、正しいパスフレーズを入力してもはじかれる。。

結果としては

default_run_options[:pty] = true

の記述を抜いたら動いた(deploy先サーバーでssh-agentしてる)。

取り敢えず理由がまだよく分からないので引き続き調べる。

ではでは。

どうも。

寝苦しさのためか夜中に胃痛が増しているハシモトです。

fluentdを動かしているには動かしているんですがあんま真剣に取り込み結果を見ていないのでたまに止まっている事に気づかないんですね。
でなんで止まっているかというと、これ。

2013-07-08 03:05:24 +0900 [error]: Permission denied - /var/log/httpd/access_log
  2013-07-08 03:05:24 +0900 [error]: /usr/lib64/fluent/ruby/lib/ruby/gems/1.9.1/gems/fluentd-0.10.35/lib/fluent/plugin/in_tail.rb:366:in `initialize'
  2013-07-08 03:05:24 +0900 [error]: /usr/lib64/fluent/ruby/lib/ruby/gems/1.9.1/gems/fluentd-0.10.35/lib/fluent/plugin/in_tail.rb:366:in `open'
  2013-07-08 03:05:24 +0900 [error]: /usr/lib64/fluent/ruby/lib/ruby/gems/1.9.1/gems/fluentd-0.10.35/lib/fluent/plugin/in_tail.rb:366:in `on_notify'
  2013-07-08 03:05:24 +0900 [error]: /usr/lib64/fluent/ruby/lib/ruby/gems/1.9.1/gems/fluentd-0.10.35/lib/fluent/plugin/in_tail.rb:153:in `on_notify'
  2013-07-08 03:05:24 +0900 [error]: /usr/lib64/fluent/ruby/lib/ruby/gems/1.9.1/gems/fluentd-0.10.35/lib/fluent/plugin/in_tail.rb:245:in `call'
  2013-07-08 03:05:24 +0900 [error]: /usr/lib64/fluent/ruby/lib/ruby/gems/1.9.1/gems/fluentd-0.10.35/lib/fluent/plugin/in_tail.rb:245:in `on_timer'
  2013-07-08 03:05:24 +0900 [error]: /usr/lib64/fluent/ruby/lib/ruby/gems/1.9.1/gems/cool.io-1.1.0/lib/cool.io/loop.rb:96:in `run_once'
  2013-07-08 03:05:24 +0900 [error]: /usr/lib64/fluent/ruby/lib/ruby/gems/1.9.1/gems/cool.io-1.1.0/lib/cool.io/loop.rb:96:in `run'
  2013-07-08 03:05:24 +0900 [error]: /usr/lib64/fluent/ruby/lib/ruby/gems/1.9.1/gems/fluentd-0.10.35/lib/fluent/plugin/in_tail.rb:83:in `run'

ログのPermissionが変わってしまっているんです。
設定を最初にした際にはコマンドからchown 755 ... みたいに変えてはあったのですが、ローテーションしている間にPermissionがデフォルトに戻っているらしい。
で、解決は

vi /etc/logrotate.d/syslog

/var/log/messages /var/log/maillog /var/log/cron {  
 sharedscripts
 weekly  
 rotate 4  
 create 0755 root root
 postrotate  
 /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true  
 /bin/kill -HUP `cat /var/run/rsyslogd.pid 2> /dev/null` 2> /dev/null || true  
 endscript  
}

vi /etc/logrotate.d/httpd

/var/log/httpd/*log {
    missingok
    notifempty
    sharedscripts
    create 0755 root root
    postrotate
        /sbin/service httpd reload > /dev/null 2>/dev/null || true
    endscript
}

のような感じで、syslogのlogrotate設定でデフォルトのPermissionを変えるようです。

ではでは。

1