1. ホーム
  2. 研究日誌
  3. 【Hinemos】監視メッセージの文字化け解消手順

STUDY研究日誌

Hinemosをはじめ、
様々な技術のノウハウを発信しています。

【Hinemos】監視メッセージの文字化け解消手順

投稿日: / 更新日:

■ はじめに

こんにちは。
Hinemosでシステムログやログファイルを監視している際、監視履歴に通知される「オリジナルメッセージ」が読めない状態(文字化け)になることがあります。
今回はそのような状況に陥った場合の、対処方法について説明します。

 

■ 監視メッセージにて、文字化けが発生する原因

監視メッセージの文字化けは、監視対象のログファイルの文字コードと、監視設定にて設定している読み取り側の文字コードが一致していないために発生します。

文字化けが発生すると、Hinemosマネージャ側で設定した「正規表現(パターンマッチ)」も正しく機能しません。

 

■ 文字化けが発生するケース(例)

例えば、以下のような環境で発生しやすくなります。

・Linux/Windows環境(ファイルエンコーディングのデフォルト設定、UTF-8)で、EUC-JPで出力されるアプリケーションのログを監視した場合。

【具体例:ログファイル監視】
監視対象のログに 「ERROR: 接続に失敗しました」 と出力されていても、
Hinemosマネージャ上のイベント履歴では「 ERROR: ??????? 」のように表示され、メッセージ内容を確認することができない状態になります。

 

■ 対処方法

1. ログファイル監視の場合
ログファイル監視では、監視設定ごとに文字コードを指定することが可能であり、以下の手順で設定します。

・設定手順

Hinemosクライアントから「監視設定[一覧]」より、設定済みのログファイル監視設定を開く。

該当の設定の「ログファイル[作成・変更]」タブ内にあるファイルエンコーディングの項目を確認する。

ログファイル監視設定画面

デフォルト(UTF-8)から、実際のログファイルと同じ文字コードに変更して保存する。

対応する文字コードは以下の通りになります。

対応文字コード

2. システムログ監視の場合

システムログ監視(syslog)の場合、エージェントはOSの仕組みを利用してログを受け取りますが、ここでもエージェントの動作環境(ロケール)が影響します。もしsyslog経由で届くメッセージがエージェントの想定外の文字コードだった場合、同様にパターンマッチの失敗やメッセージの欠落が発生してしまいます。

システムログ(syslog)が文字化けする場合は、システムログ監視を、ログファイル監視で代替することで解決できます。 管理対象ノード上の/var/log/messagesをログファイル監視するよう設定して下さい。

※注意: ログファイル監視を利用するには、対象ノードにHinemosエージェントが導入されている必要があります。

 

・設定変更方法

監視対象のrsyslogは下記設定ファイルを以下のように修正してください。

/etc/rsyslog.d/rsyslog_hinemos_agent.conf

修正内容

設定変更を行わずに「ログファイル監視」を追加すると、同じエラーログ1件に対してHinemos上で2通のイベント通知が発生し、同一の内容が二重に監視されてしまいますのでご注意下さい。

システムログ監視をログファイル監視で代替する際は、必ず「rsyslog側での転送設定」を停止(コメントアウト)し、監視ルートを一本化する必要があります。

さらに「1. ログファイル監視の場合」と同様に、ログファイルの監視設定にて、ファイルエンコーディングを実際の読み込むログファイルと同じ文字コードに変更します。 

/var/log/messagesに出力するマルチバイト文字列はShift-JISに限定して下さい。

UTF-8で/var/log/messagesに出力しているマルチバイト文字列がある場合、 Shift-JISで読み込もうとするため、その文字列は文字化けします。

 

以下が実際の設定例になります。

ログファイル監視設定例

監視設定での文字コード指定は、Hinemosエージェント全体の挙動を変えることなく、特定のログに対してのみピンポイントで適用できるため、システムの他機能への影響を最小限に抑えられます。もし、この設定変更を行っても文字化けが解消されない場合は、出力元のアプリケーション側が想定外のエンコーディングで書き込みを行っていないか、あるいはファイル内に複数の文字コードが混在していないかを再確認してください。

■ おわりに


Hinemosで日本語ログを正しく扱うには、実際のログファイルのエンコード(UTF-8やMS932など)を、監視設定におけるファイルエンコーディングの項目と一致させることで、文字化けすることなく利用することが可能です。

ぜひ、これからのHinemosの運用にお役立てください。

関連する記事

Hinemos導入はアトミテックにお任せください

見積もりを依頼する

最新情報発信中

Xやメルマガでも、Hinemosの保守、
開発、導入、構築やカスタマイズ等の
お役立ち情報を発信しています。
是非ご登録ください。