openSUSE 11.1 で syslog-ng の program とかが上手く行かない問題

 例えば php-syslog-ng を使うために program を使って MySQL サーバにログを入れようとしても、

Feb  7 09:56:13 hogepc syslog-ng[6626]: I/O error occurred while writing; fd='11', error='Broken pipe (32)'
Feb  7 09:56:13 hogepc syslog-ng[6626]: I/O error occurred while writing; fd='10', error='Broken pipe (32)'
Feb  7 09:56:13 hogepc syslog-ng[6626]: I/O error occurred while writing; fd='11', error='Broken pipe (32)'
Feb  7 09:56:13 hogepc syslog-ng[6626]: I/O error occurred while writing; fd='10', error='Broken pipe (32)'

みたいなエラーが大量に出て上手く行かない。
 時間を掛けまくって分かったが AppArmor の設定が厳しいのが悪いらしい。と言う訳でこんな設定を /etc/apparmor.d/sbin.syslog-ng に追記 *1

  #include 
  /usr/bin/mysql rmix,
  /etc/my.cnf r,
  /bin/bash rmix,

 プロファイルの reload は↓で可能。

# apparmor_parser -r /etc/apparmor.d/sbin.syslog-ng

 一応これで動いた。アクセス拒否のログは /var/log/audit/audit.log に書かれているので動かない際は要チェック。面倒なら「complain syslog-ng」とか打って監視を止める方法もある (もちろんセキュリティ的にはよろしくないけど…)。

*1:openSUSE 11.1 の yast から編集しようとしても上手く行かないので直接編集