Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

WindowsServerのイベントログをNXLOGでCentOSのrsyslogへ転送しているが文字化けする

解決したいこと

WindowsServer2019(中国語)の中国語で表示されるイベントログをSyslogサーバに保存したいです。

WindowsServerのイベントログをNXLOGでCentOSのrsyslogへ転送していますが、
CentOS側で受け取ったログを見ると文字化けしています。
解決方法はありますでしょうか。

環境

・クライアント
WindowsServer2019(中国語)※Systemで文字コードをUTF-8に設定済み
nxlog

・Syslogサーバ
CentOS7.9 ※Systemで文字コードをUTF-8に設定済み
rsyslog
mysql ※conf,tableともに文字コードをUTF-8に設定済み

発生している問題・エラー

Syslogサーバで受け取ったログファイルが文字化けしています。

Sep 16 21:24:31  MSWinEventLog#0111#011Microsoft-Windows-Kernel-PnP/Configuration#011626#011Fri Sep 16 21:24:31 2022#011400#011Microsoft-Windows-Kernel-PnP#011SYSTEM#011User#011Information#011NCSVDC0003#011N/A#011#011已配置?? SWD\PRINTENUM\{CF8C13E8-B857-4E02-8838-872143759C5A}。    ??程序名称: printqueue.inf  ? GUID: {1ed2bbf9-11f0-4084-b21f-ad83a8e6dcdc}  ??程序日期: 06/21/2006  ??程序版本: 10.0.17763.1  ??程序提供商: Microsoft  ??程序部分: NO_DRV_LOCAL  ??程序等?: 0x1  匹配?? ID: PRINTENUM\LocalPrintQueue  低等???程序: oem1.inf:{0f4130dd-19c7-7ab6-99a1-980f03b2ee4e}:00FF0002 c_swdevice.inf:SWD\GenericRaw:00FF3001  ??已更新: false  父??: SWD\PRINTENUM\PrintQueues#011876

該当するソースコード

WindowsServer2019
C:\Program Files\conf\nxlog.conf

define ROOT     C:\Program Files\nxlog
define CERTDIR  %ROOT%\cert
define CONFDIR  %ROOT%\conf\nxlog.d
define LOGDIR   %ROOT%\data

define LOGFILE  %LOGDIR%\nxlog.log
LogFile %LOGFILE%

Moduledir %ROOT%\modules
CacheDir  %ROOT%\data
Pidfile   %ROOT%\data\nxlog.pid
SpoolDir  %ROOT%\data

<Extension _syslog>
    Module      xm_syslog
</Extension>

<Extension _charconv>
    Module      xm_charconv
    AutodetectCharsets utf-8, euc-jp, utf-16, utf-32, iso8859-2, shift_jis, big5, gb2312
</Extension>

<Extension _exec>
    Module      xm_exec
</Extension>

<Extension _fileop>
    Module      xm_fileop

    # Check the size of our log file hourly, rotate if larger than 5MB
    <Schedule>
        Every   1 hour
        Exec    if (file_exists('%LOGFILE%') and \
                   (file_size('%LOGFILE%') >= 5M)) \
                    file_cycle('%LOGFILE%', 8);
    </Schedule>

    # Rotate our log file every week on Sunday at midnight
    <Schedule>
        When    @weekly
        Exec    if file_exists('%LOGFILE%') file_cycle('%LOGFILE%', 8);
    </Schedule>
</Extension>

# Snare compatible example configuration
# Collecting event log
<Input in>
   Module      im_msvistalog
   SavePos TRUE
   Exec convert_fields("AUTO", "utf-8");
</Input>
# 
# Converting events to Snare format and sending them out over TCP syslog
<Output out>
     Module      om_udp
     Host        192.168.4.123
     Port        514
     Exec        to_syslog_snare();
</Output>
 
# Connect input 'in' to output 'out'
<Route 1>
     Path        in => out
</Route>

自分で試したこと

以下の記事を頼りにconvert_fieldsを追加をしましたが、だめでした。

   Exec convert_fields("AUTO", "utf-8");

もし知見をお持ちの方がいらっしゃったらアドバイス頂けると助かります。
よろしくお願い致します。

0

No Answers yet.

Your answer might help someone💌