ubuntu 12.04 で出たエラーログ出力の詳細と、対処について
目的
以前『Ubuntu Server 実践バイブル』を読んで - heyheytowerの記事で、rsyslog の機能で Error 以上でメールを送信する設定を行ったと書きました。
そこで例外とした下記のログ出力について、現在対処できないか、許して良いエラーなのか、きちんと調べてみましたので報告いたします。
if \
( $syslogseverity <= 3 ) and \
not ( $msg contains 'times' ) and \
not ( $msg contains 'Caught signal 15' ) and \
not ( $msg contains 'rpcbind.xdr' ) and \
not ( $msg contains 'iscsi_trgt' ) and \
not ( $msg contains 'HDIO_GET_IDENTITY failed for' ) and \
not ( $msg contains 'started!' ) and \
not ( $msg contains 'Reset adapter' ) and \
not ( $msg contains 'Assuming drive cache' ) and \
not ( $msg contains 'No Caching mode page found' ) and \
not ( $msg contains 'usb_submit_urb' ) and \
not ( $msg contains 'Failed to get parent' ) \
then :ommail:;mail_body
rpcbind: Cannot open '/run/rpcbind/rpcbind.xdr' file for reading, errno 2 (No such file or directory)
下記バグトラックを見るとメインストリームの rpcbind では対応済みみたいですが、12.04 で使用しているバージョンでは未対応のようです。
https://bugs.launchpad.net/ubuntu/+source/rpcbind/+bug/835833
自分の利用しているバージョンは下記です。
$dpkg -l | grep rpcbind
ii rpcbind 0.2.0-7ubuntu1.2 converts RPC program numbers into universal addresses
上記サイトに記載の通り/etc/init/portmap.conf に変更を加えて、 rpcbind が -w オプション "warm start" 判定で失敗しないように変更することで、対応できました。
script if [ -e /run/rpcbind/portmap.xdr ] || [ -e /run/rpcbind/rpcbind.xdr ] ; then OPTIONS="-w" fi if [ -f /etc/default/rpcbind ]; then . /etc/default/rpcbind elif [ -f /etc/rpcbind.conf ]; then . /etc/rpcbind.conf fi exec rpcbind $OPTIONS end script
iscsi関係
not ( $msg contains 'iscsi_trgt' ) and \
not ( $msg contains 'started!' ) and \
not ( $msg contains 'Assuming drive cache' ) and \
not ( $msg contains 'No Caching mode page found' ) and \
該当のログは下記。
May 15 00:07:43 calc0 kernel: [ 4388.795760] iscsi_trgt: scsi_cmnd_start(1059) Unsupported 85
May 15 00:07:43 calc0 kernel: [ 4388.795772] iscsi_trgt: cmnd_skip_pdu(472) 7c000000 1c 85 0
May 15 11:33:33 calc0 iscsid: iSCSI logger with pid=1106 started!
May 15 11:33:34 calc0 iscsid: iSCSI daemon with pid=1107 started!
iscsi サービスについては止めたので、上記については現状対応しません。
(しかしながら、started! 出力はどうみても info レベルで、 error では無いですよね…)
May 18 22:55:49 calc0 kernel: [ 3070.148403] sd 6:0:0:0: [sdc] No Caching mode page found↲
May 18 22:55:49 calc0 kernel: [ 3070.148409] sd 6:0:0:0: [sdc] Assuming drive cache: write through
"No Caching 〜"、"Assuming" については下記2サイトにも言及ありますが、iscsi でアクセスするクラスターファイルシステムocfsのために作った /dev/sdc が今回該当したようで、これも回避できないと判断し対応しません。
https://bbs.archlinux.org/viewtopic.php?id=162471
http://askubuntu.com/questions/167343/what-is-a-asking-for-cache-data-failed-warning
usb_submit_urb
該当ログは下記。
May 16 22:09:06 calc0 kernel: [ 483.871571] lenovo_tpkbd 0003:17EF:6009.0002: usb_submit_urb(ctrl) failed: -19
下記を見ると修正済みのはずですが…。
https://bugzilla.kernel.org/show_bug.cgi?id=4503
対応方法も自分では見つけられなかったので、したがって対処見送り。
"HDIO_GET_IDENTITY failed for '/dev/sdc': Invalid argument"
外付けHDDを接続した時に出るログ。
下記を見ると、設定変更などでは対処できない可能性が高いので対応見送り。
https://bugs.archlinux.org/task/27060
https://bbs.archlinux.org/viewtopic.php?pid=1015693
※確かに「sudo hdparm -i /dev/sdc」実行で同じコンソール出力が行われました。
※/lib/udev/hdparm の $DEVNAME 判定で例外にできるとかと試行しましたが、できませんでした。(そもそも編集箇所を間違っているかもしれません。)
"e1000e 0000:00:19.0 eth0: Reset adapter"
ifconfig で mtu を変更した際に出るログ。出力しないようにする対応分からず保留。(問題は無いのだが error レベルでログ出力している可能性もあると考えております。)
"Caught signal 15"
該当ログは下記。nfs-kernel-server を停止した時に出力されます。
374 May 28 22:19:37 calc0 rpc.mountd[27733]: Version 1.2.5 starting
375 May 28 22:19:42 calc0 rpc.mountd[27733]: Caught signal 15, un-registering and exiting.
nfs は利用できているのですが、/etc/init.d/nfs-kernel-server の stop 処理を見ると mountd の停止処理が exit 1 で終わっているようで正常に行われていない可能性があります。
これを追えば原因が分かるかもしれませんが、今のところ原因追求のため調べる場所の検討がつかないので保留。
"udev-configure-printer: Failed to get parent"
該当ログの近くに、下記のように問題のあるカーネルモジュールの記載がある。
udev-configure-printer: add /module/lpc_ich↲
udev-configure-printer: Failed to get parent↲
udev-configure-printer: add /bus/pci/drivers/lpc_ich↲
udev-configure-printer: Failed to get parent↲
これはおそらく起動時のカーネルモジュールのロード時に cups が立ち上がっていないためと考えられるため、
/etc/modprobe.d/blacklist.conf に下記を追加することにする。
blacklist lpc_ich
しかしcups を立ち上げると、lp がロードされ同様の出力が行われたため、現状では対応見送り。
※ error 以上ではないですが気になるログ
May 27 00:25:21 calc0 udev-configure-printer: failed to connect to CUPS server; giving up
起動時にUSBでプリンターが接続されており、CUPSが起動していない場合に udevd より出力されます。
あまり印刷を行わないのでUSBは抜いておき、印刷する時 cups を起動してからUSBを接続し印刷する運用に変える。
ACPI _OSC support notification failed, disabling PCIe ASPM
12.04 - ACPI _OSC control - Ask Ubuntuの通り、カーネルパラメータを off , performance にするも反映されず。対応は保留。
dbus[687]: [system] Rejected send message, 2 matched rules; type="method_call", sender=":1.17" (uid=104 pid=3328 comm="/usr/lib/indicator-datetime/indicator-datetime-ser") interface="org.freedesktop.DBus.Properti es" member="GetAll" error name="(unset)" requested_reply="0" destination=":1.8" (uid=0 pid=1446 comm="/usr/sbin/console-kit-daemon --no-daemon ")
console-kit-daemon ならD-Busを許可しても大丈夫と判断し、下記の置き換えを実行して対応した。
$ sudo diff /etc/dbus-1//system.d/ConsoleKit.conf.bak /etc/dbus-1/system.d/ConsoleKit.conf 24,25c24,26 < <deny send_destination="org.freedesktop.ConsoleKit" < send_interface="org.freedesktop.DBus.Properties" /> --- > > <allow send_destination="org.freedesktop.ConsoleKit" > send_type="method_call"/>
May 27 00:13:55 calc0 gnome-session[3381]: EggSMClient-WARNING: Desktop file '/home/ito/.config/autostart/everpad.desktop' has malformed Icon key 'everpad.png'(should not include extension)
https://github.com/MestreLion/scripts/blob/master/runonce/skype/runonce_skypeを参考に下記コマンドを実行し対応した。
sudo sed -i -e 's/everpad.png$/everpad/' /home/ito/.config/autostart/everpad.desktop
/var/log/cups/error_log
E [30/May/2014:22:41:11 +0900] Unknown directive SystemGroup on line 16 of /etc/cups/cupsd.conf.
Bug #1088448 “Unknown directive SystemGroup” : Bugs : cups package : Ubuntu を見ると、設定の移行忘れか何かのようでしたのでコメントアウトし、対応しました。
sudo sed -i -e 's/^SystemGroup lpadmin$/#SystemGroup lpadmin/' /etc/cups/cupsd.conf
/var/log/cups/error_log
E [30/May/2014:23:00:03 +0900] Unable to bind socket for address [v1.::1]:631 - Cannot assign requested address.
Bug #1006927 “Cups broken after daily update: 631 - Cannot assig...” : Bugs : cups package : Ubuntu によるとこれも cupsd のバグのようです。
所感
ログがすっきりして気持ち良いです。
rsyslog の err 以上メール送信の例外も下記だけとなり、管理上もすっきりです。
if \
( $syslogseverity <= 3 ) and \
not ( $msg contains 'times' ) and \
not ( $msg contains 'Caught signal 15' ) and \
not ( $msg contains 'Failed to get parent' ) and \
not ( $msg contains 'HDIO_GET_IDENTITY failed for' ) and \
not ( $msg contains 'Reset adapter' ) and \
not ( $msg contains 'usb_submit_urb' ) \
then :ommail:;mail_body
ログの乱れは心の乱れです。
皆様にも、たまに見直しすることをおすすめいたします。
以上。