Syslogで次の警告を抑制しようとしています。
Oct 13 04:43:33 Winston kernel: 3w-sas: scsi1: ERROR: (0x03:0x0101): Invalid command opcode:opcode=0x85.
Oct 13 04:43:33 Winston kernel: md: do_drive_cmd: disk0: ATA_OP e0 ioctl error: -22
Oct 13 04:43:33 Winston kernel: mdcmd (839855): spindown 1
Oct 13 04:43:33 Winston kernel: 3w-sas: scsi1: ERROR: (0x03:0x0101): Invalid command opcode:opcode=0x85.
Oct 13 04:43:33 Winston kernel: md: do_drive_cmd: disk1: ATA_OP e0 ioctl error: -22
Oct 13 04:43:34 Winston kernel: mdcmd (839856): spindown 0
Oct 13 04:43:34 Winston kernel: 3w-sas: scsi1: ERROR: (0x03:0x0101): Invalid command opcode:opcode=0x85.
Oct 13 04:43:34 Winston kernel: md: do_drive_cmd: disk0: ATA_OP e0 ioctl error: -22
Oct 13 04:43:34 Winston kernel: mdcmd (839857): spindown 1
serverfaultに関するこの投稿 から私が理解していることから、これらのメッセージは無視することができます。私のドライブは正常に動作します。私のraid-controllerは、OSが取得しようとしている特定のコマンドを処理できないようです。
Unraid(Slackware)を実行しているので、syslogはrsyslog.d
によって書き込まれます。次のファイルを編集して、運が悪ければ特定のメッセージを無視しました:/etc/rsyslog.d/01-blocklist.conf
。
私が試したことのバリエーション:
:msg,contains,"error: mdcmd, 2640: Invalid argument (22): write" ~
:msg,regex,"md: do_drive_cmd: disk\d ATA_OP e0 ioctl error: -22" ~
:msg,regex,"mdcmd (\d+): spindown \d" ~
:msg,contains,"3w-sas: scsi5: ERROR: (0x03:0x0101)" ~
:msg,contains,"Winston kernel: 3w-sas: scsi1: ERROR" ~
:msg,contains,"kernel: 3w-sas: scsi1: ERROR" ~
contains
コマンドまたはregex
コマンドのいずれかを使用して、私が間違っていることを誰かが助けてくれますか?
前もって感謝します。
「Winstonkernel:」文字列はmsg
プロパティの一部ではありません。これは通常、「:」の後のスペースで始まります。
regex
操作はPosixBRE(基本的な正規表現)を使用するため、_\d
_は存在しません。代わりに_[0-9]
_を試してください。また、_+
_は存在しないため、_*
_が必要になります。または、サポートされている場合は、拡張正規表現操作を使用できます。ereregex
;その場合、_+
_がありますが、リテラル括弧には\(\)
が必要です。
また、_~
_は非常に古い非推奨の構文であるため、非常に古いrsyslogがない限り、代わりにstop
を使用する必要があります(ただし、_~
_は引き続き機能します)。
E0コマンドはSTANDBYIMMEDIATEです。これは、一定期間非アクティブになった後、ドライブをスリープ状態にするために電源管理によって送信されていると思います。これをオフにすると、単にログをマスクするのではなく、エラーの原因を取り除く必要があります。