Systemwalker Centric Managerにおいて、syslogに出力するメッセージが表示されない(または遅れて表示される)。
- syslogに出力するメッセージが表示されません(または遅れて表示されます)。原因と対処方法を教えてください。
- [確認ポイント]
1)メッセージが通知されないホスト(被監視サーバ)側で、コマンド“uname -n”で獲得できるホスト名と、syslogに出力されたメッセージに付加されたホスト名が一致しているか、確認してください
2)syslogからSystemwalker Centric Managerにメッセージが通知されていない可能性があります。
3)syslogに連続して出力された同一のメッセージの内、2つめ以降のメッセージが表示されない(または遅れて表示される)現象ですか。
【原因】
1)Systemwalker Centric Managerは、自システムのsyslogに通知されたメッセージを監視します。ほかのホストから、syslogdまたは、rsyslogd(補足1)の機能によって通知されたメッセージは監視対象外です。
補足1:RHEL5以前のLinux,Solaris,HP-UX,AIXはsyslogdです。
RHEL6以降のLinuxはrsyslogdです。
2)Systemwalker Centric Managerは、/etc/syslog.confまたは,/etc/rsyslog.conf(補足2)に定義した条件(facility.level)のメッセージをsyslogdまたは、rsyslogdから直接受信しています。このため、syslogdまたは、rsyslogdがデフォルトで出力しているメッセージファイル(例:messages)に出力されるすべてのメッセージが監視できるものではありません。
※出力されたメッセージファイル(例:messages)を監視しているのではありません。
補足2:RHEL5以前のLinux,Solaris,HP-UX,AIXは/etc/syslog.confです。
RHEL6以降のLinuxは/etc/rsyslog.confです。
3)syslogdまたは、rsyslogdの仕様により、syslogに連続して同一のメッセージが出力された場合、2つ目以降のメッセージはすぐにはSystemwalker Centric Managerに通知されずに溜められます。そして溜められていたメッセージは、以下のどちらかのタイミングで通知されます。
・溜められていたメッセージとは異なるメッセージが出力された場合
・syslogがローテートされた場合
「異なるメッセージ」とは、syslogdまたは、rsyslogdがSystemwalker Centric Managerへ通知する対象のメッセージであることが条件です。異なるメッセージが発生しても、それがSystemwalker Centric Managerへの通知対象でなければ、その後も溜められたままとなります。
syslogdまたは、rsyslogdがSystemwalker Centric Managerへ通知する対象のメッセージについては、2)を参照してください。
【対処方法】
1)システムの設定(ホスト名の設定)の後でシステムの再起動を行ったかどうかを確認し、再起動が行われていなければ再起動してください。
システムの設定(ホスト名の設定)に不整合がないか確認し、不整合が見られた場合はシステムの設定を修正してください。
[Linux版で不整合となるケースの例]
以下のように、/etc/sysconfig/networkファイルに定義されたホスト名(XXXXX)とは異なるホスト名(YYYYY)が、/etc/hostsファイルでIPアドレスの直後に(XXXXXより前に)定義されている場合、不整合となる場合があります。この場合、コマンド“uname -n”ではXXXXXが取得されますが、syslogメッセージに付加されるホスト名はYYYYYとなります。
・/etc/sysconfig/networkファイル
HOSTNAME=XXXXX
・/etc/hostsファイル
10.90.144.56 YYYYY XXXXX
この場合の対処方法としては、/etc/sysconfig/networkファイルの定義ホスト名と/etc/hostsファイルのIPアドレスの直後の定義ホスト名を一致させる必要があります。
注意:
ホスト名の大文字小文字は区別されます。
例えば、“uname -n”で獲得されたホスト名が“hostname”、messagesファイルに出力されているメッセージのホスト名が“HOSTNAME”の場合、別ホストと認識されます。
2)メッセージが監視できるように、syslogdまたは、rsyslogdからSystemwalker Centric Manager へ通知される条件(/etc/syslog.confまたは、/etc/rsyslog.confに定義した条件(facility.level))に設定してください。また、syslogdまたは、rsyslogdがデフォルトで出力しているメッセージファイルと同じメッセージを監視する場合は、この条件(facility.level)の部分をメッセージファイルと同一にしてください。
◇注意
条件(facility.level)を、syslogdまたは、rsyslogdがデフォルトで出力しているメッセージファイルと同一に変更すると、Systemwalker Centric Managerに通知されるメッセージが増加します。監視の必要がないメッセージは、イベント監視の条件定義を更新し、監視対象から外してください。
◇syslogdまたは、rsyslogdからSystemwalker Centric Managerへ通知される条件を変更するために、syslogdまたは、rsyslogdの環境定義ファイルをSystemwalker Centric Managerのインストール時に自動的に設定します。
・syslogdの場合の環境定義ファイル:/etc/syslog.conf
・rsyslogdの場合の環境定義ファイル:/etc/rsyslog.conf
【5.0、5.1:Solaris 、HP-UX、AIX版の場合】
*.err;kern.debug;auth.notice /var/opt/FJSVsagt/fifo/slg
【5.2以降:Solaris 、HP-UX、AIX版の場合】
*.warning /var/opt/FJSVsagt/fifo/slg
【5.2以降:Linux版の場合】
*.warning |/var/opt/FJSVsagt/fifo/slg
Systemwalker Centric Managerに受け渡すメッセージを変更する場合には、メッセージの定義部分を任意に変更してください。
・Solarisでは、/etc/syslog.confに空白を記述すると、syslogdが正しくメッセージをSystemwalker Centric Managerに通知しません(Linux版を除く)。パラメタの区切りは、タブを使用してください。
・/etc/syslog.confまたは、/etc/rsyslog.confを変更した場合は、syslogdに変更を通知するかsyslogdまたは、rsyslogdを再起動します。
□通知する場合(通知できるのはsyslogdの場合です。)
syslogdに対してHUPシグナルを送ります。
ps -ef | grep syslogd
kill -HUP <上記で求めたプロセスID>
□再起動する場合
syslogdまたは、rsyslogを以下のように再起動します。
【Solaris版】
sh /etc/rc2.d/S74syslog stop
sh /etc/rc2.d/S74syslog start
【Linux版】
・Red Hat Enterprise Linux 6.0/Red Hat Enterprise Linux 6.1/Red Hat Enterprise Linux 6.2の場合
sh /etc/rc.d/init.d/syslog restart
・Red Hat Enterprise Linux 6.3以降の場合
【Red Hat Enterprise Linux 6】
service rsyslog restart
【Red Hat Enterprise Linux 7以降】
systemctl restart rsyslog.service
・上記以外のLinuxの場合
sh /etc/rc.d/init.d/syslog restart
注意
・再起動を行った場合、syslogdまたは、rsyslogdが停止している間に発生したメッセージは、syslogdまたは、rsyslogdで処理されない場合があります。
・HP-UX版、AIX版の場合、再起動の実施ではなく、HUPシグナルの通知を実施してください。
・定義部分と、/var/opt/FJSVsagt/fifo/slgの間は、必ずタブだけで区切ってください。
・/var/opt/FJSVsagt/fifo/slgの後ろは、必ず改行してください。空白文字などは入力できません。
・この定義をコメントアウトしないでください。
3)以下のOSの場合の回避方法を説明します。
【Red Hat Enterprise Linux 5.0以降】
/etc/sysconfg/syslogまたは、/etc/sysconfig/rsyslog に以下のオプションを指定することで、syslogdまたは、rsyslogdはある一定の間隔で溜められていたメッセージをSystemwalker Centric Managerに通知する様になります。
ただし、後述する「回避できないケース」に合致する場合を除きます。
なお、rsyslogdの場合、本回避方法はrsyslogdをバージョン0から2まで間のモードで動作させたときに利用できます。
【syslogdの場合】
/etc/sysconfig/syslog
SYSLOGD_OPTIONS="-m N"
【rsyslogdの場合】
/etc/sysconfig/rsyslog
SYSLOGD_OPTIONS="-m N"
Nは任意の数字です。分を指定します。
また、上記を記述後は設定を反映させるために syslogまたは、rsyslogを再起動してください。
この -m オプションを指定することで、 syslogdまたは、rsyslog は原則として毎回N分ごとにmessagesに「-- MARK --」という文字列を出力します(注)。この文字列はpriorityがinfoであるため、infoを明示的に通知対象にしない限り、Systemwalker Centric Managerに通知されることはありません。
(Systemwalker Centric Managerへの通知対象のメッセージについては2)を参照。)
ただし、「-- MARK --」がmessages に出力されたタイミングでsyslogdまたは、rsyslogが溜め込んでいるメッセージを、すべて出力先のファイルに書き出すため、長時間Systemwalker Centric Managerに対してメッセージ通知が遅れることは無くなります。
注)syslogdまたは、rsyslogの仕様により、N分おきに必ず「-- MARK --」が出力されるわけではなく、「-- MARK --」出力予定時間の直前 "N分の半分以内" にログが出力された場合は、出力予定時に「-- MARK --」が出力されません。
回避できないケース
-m オプションを指定した場合でも、 syslogdまたは、rsyslog が毎回N分毎にmessagesに「-- MARK --」を出力しないケースがあります。「-- MARK --」出力は、/etc/sysconfig/syslogまたは、/ete/sysconfig/rsyslog の SYSLOGD_OPTIONS="-m n" で指定した数字(n) の半分の値のインターバル時間を設けています。
SYSLOGD_OPTIONS="-m 1" と指定した場合、インターバル時間は30秒となり、MARK 出力予定時間の直前 "30秒以内" にログが出力されると、出力予定時にMARK を出力しません。最後のログ出力から30秒経過後に、 MARK を出力します。そのため、短時間の間に(例えば10秒間隔)でログが出力され続ける場合、MARK の出力は抑止されるため、回避することはできません。
製品・サービス区分 | Systemwalker | ||||||
---|---|---|---|---|---|---|---|
製品・サービス情報 |
|
||||||
アンサー種別 | 技術サポート |