| 作成日 | 2026/06/16 |
|---|
はじめに
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の運用にお役立てください。
