• 全部
  • 经验案例
  • 典型配置
  • 技术公告
  • FAQ
  • 漏洞说明
  • 全部
  • 全部
  • 大数据引擎
  • 知了引擎
产品线
搜索
取消
案例类型
发布者
是否解决
是否官方
时间
搜索引擎
匹配模式
高级搜索

路由器推送日志是乱码

1天前提问
  • 0关注
  • 0收藏,73浏览
粉丝:1人 关注:1人

问题描述:

SR6608在配置了日志发送,经过抓包看到推送的日志是乱码,在设备配置的日志编码格式为UTF-8,这个是什么原因造成的?

组网及组网描述:

#
 info-center loghost source LoopBack0
 info-center loghost xx.xx.xx.xx
 info-center source NAT console level warning
 info-center source NAT monitor level warning
 info-center source default loghost level warning
 info-center source NAT loghost level informational
 info-center source SYSLOG loghost level informational
#
 customlog character-encoding utf-8
#
 userlog flow export version 5
 userlog flow export source-ip x.x.x.x
 userlog flow export host xx.xx.xx.xx port 514
#

 nat log enable
 nat log flow-active 10
 nat log flow-begin
 nat log flow-end
 nat log no-pat ip-usage
 nat log port-block-assign
 nat log port-block-withdraw
 nat log alarm
#

3 个回答
粉丝:0人 关注:9人

故障排查:
1. 首先检查接收端设备的编码设置。查看接收日志的设备(如日志服务器)是否也设置为UTF - 8编码,如果不是则可能导致乱码。不同设备对编码的默认设置可能不同。
2. 检查网络传输过程中是否有对数据进行处理导致编码改变。可以使用网络分析工具进一步排查从路由器到接收端之间经过的设备(如防火墙等),看是否有针对数据的转换规则。
3. 查看路由器的info - center相关配置是否存在错误。使用“display current - configuration | include info - center”命令检查info - center的完整配置,确认除了编码之外的其他设置是否正确,例如日志源、日志级别等配置是否有误。
4. 查看路由器的系统日志(使用“display logbuffer”命令),看是否有关于info - center或者日志发送相关的错误提示信息。

暂无评论

粉丝:6人 关注:0人

从你的配置来看,你同时开启了两种日志发送方式:

  1. info-center 系统日志:通过 info-center loghost 发送,你配置了 customlog character-encoding utf-8,这会影响 info-center 发送的日志编码。

  2. userlog 流日志:通过 userlog flow export 发送,主要用于 NAT 会话日志等。

乱码的可能原因:

1. 日志接收端编码设置不匹配(最常见)

  • 你的设备配置了 UTF-8 编码发送日志,但如果接收日志的服务器(如 syslog 服务器)默认使用其他编码(如 GBK、GB2312 或 ASCII)来解析收到的日志,就会显示为乱码。

  • 检查方法:确认日志服务器的字符集设置是否与设备一致(UTF-8)。

2. userlog 流日志本身就是二进制格式

  • userlog flow export 发送的是二进制格式的日志(如 NetFlow v5 格式),这种日志不是人类可读的文本,直接用文本方式打开必然会显示乱码。

  • 检查方法:确认你抓包看到的乱码是来自 info-center loghost 发送的日志,还是来自 userlog flow export host 发送的流日志。如果是后者,这是正常现象,需要用专门的 NetFlow 采集器解析。

3. 传输过程中的编码转换

  • 日志从路由器发送到接收端的过程中,如果经过防火墙、负载均衡器等中间设备,这些设备可能对数据进行了处理,导致编码改变。

4. 配置生效问题

  • customlog character-encoding utf-8 配置后,可能需要重启相关进程或设备才能完全生效。


解决方案

第一步:区分日志类型,针对性排查

日志类型配置命令日志格式处理方法
info-center 系统日志info-center loghost xx.xx.xx.xx文本格式(可读)检查接收端编码设置
userlog 流日志userlog flow export host xx.xx.xx.xx二进制格式(NetFlow v5)必须使用专用采集器

建议

  • 如果你关注的是 NAT 会话日志,确认接收端是否部署了 NetFlow 采集器(如 H3C IMC、SolarWinds、ntopng 等)。如果没有,收到的必然是乱码。

  • 如果你关注的是系统日志(如接口状态、登录日志),则需排查编码问题。

第二步:检查 info-center 日志编码问题

如果确认是 info-center 日志乱码,按以下步骤排查:

  1. 检查接收端编码设置 

    • 登录日志服务器,查看其字符集设置(如 Linux syslog-ng/rsyslog 的配置文件,或 Windows Event Collector 的语言区域设置)。

    • 确保接收端使用 UTF-8 编码解析日志。

  2. 查看设备完整配置

    display current-configuration | include info-center 确认除你已配置的命令外,没有其他影响编码的参数。
  3. 检查设备系统日志

    display logbuffer | include info-center 查看是否有关于日志发送的错误提示。
  4. 尝试在接收端抓包确认

    • 在日志服务器上抓包,查看原始数据包的十六进制内容。

    • 如果十六进制内容显示为正常的 ASCII/UTF-8 字符(如 <189> 开头),说明发送正常,问题在接收端解析。

    • 如果十六进制内容本身就是乱码,可能是设备编码未生效。

第三步:userlog 流日志的正确接收

如果你确实需要接收 NAT 会话日志,必须使用支持 NetFlow v5 的采集器:

采集器类型说明
H3C IMC官方推荐,需购买 NTA 组件
SolarWinds NetFlow Traffic Analyzer商业软件
ntopng开源方案
ELK + NetFlow 插件可定制开发

第四步:临时测试方案

为快速判断问题根源,可以:

  1. 临时关闭 userlog 流日志(如果不需要)

    undo userlog flow export
  2. 仅保留 info-center 日志发送info-center loghost xx.xx.xx.xx
  3. 在日志服务器上用 nc 或 socat 监听 514 端口,保存原始数据
    nc -l -u -p 514 > /tmp/syslog.raw 然后用 hexdump -C /tmp/syslog.raw 查看原始内容,确认是否为可读文本。



暂无评论

粉丝:98人 关注:11人

SR6608日志乱码的可能原因如下:
1. 接收端字符集不匹配(最常见原因)

设备已配置 info-center syslog utf-8 enable 使用UTF-8编码发送日志,但日志服务器或接收软件(如Syslog服务器、终端显示工具)未使用UTF-8解码。
例如:服务器默认使用GB18030/GBK编码解析,导致UTF-8编码的日志显示为乱码。
2. 中间设备篡改编码
日志传输路径中的防火墙、NAT设备或网络代理可能修改了报文编码格式。
3. 配置未生效
UTF-8配置未正确应用(需检查配置是否保存并生效)。

 解决方案

 第一步:验证接收端配置

 在日志服务器检查字符集配置(示例为Linux syslog

vim /etc/rsyslog.conf
 确保添加以下参数:

$ActionFileDefaultTemplate RSYSLOG_FileFormat
$FileDefaultTemplate RSYSLOG_FileFormat
$FileWriteUTF8BOM on  启用UTF-8支持

 第二步:检查网络中间设备

排查防火墙/NAT设备的内容编码转换功能,临时禁用相关策略测试。
 第三步:确认设备配置

 在SR6608上检查配置

display current-configuration | include "info-center syslog utf-8"
 正确输出应显示:info-center syslog utf-8 enable
 若配置丢失,重新提交并保存:

system-view
info-center syslog utf-8 enable
 第四步:终端软件兼容性

若直接终端查看日志,确保终端软件(如SecureCRTXshell)的会话编码设置为UTF-8
右键会话  属性  终端  编码  选择 "UTF-8"
 关键配置说明(摘自资料)

 命令
info-center syslog utf-8 enable
 缺省情况
 信息中心使用 GB18030 编码方式输出日志。

 使用指导
 设备与接收端需使用相同字符集,否则中文字符会显示为乱码。

 总结建议

优先检查日志服务器的字符集配置,确保与设备UTF-8设置一致。若问题仍存在,通过分段抓包(设备出口、服务器入口)确认传输过程中编码是否被篡改。

暂无评论

编辑答案

你正在编辑答案

如果你要对问题或其他回答进行点评或询问,请使用评论功能。

分享扩散:

提出建议

    +

亲~登录后才可以操作哦!

确定

亲~检测到您登陆的账号未在http://hclhub.h3c.com进行注册

注册后可访问此模块

跳转hclhub

你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作

举报

×

侵犯我的权益 >
对根叔社区有害的内容 >
辱骂、歧视、挑衅等(不友善)

侵犯我的权益

×

泄露了我的隐私 >
侵犯了我企业的权益 >
抄袭了我的内容 >
诽谤我 >
辱骂、歧视、挑衅等(不友善)
骚扰我

泄露了我的隐私

×

您好,当您发现根叔知了上有泄漏您隐私的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您认为哪些内容泄露了您的隐私?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)

侵犯了我企业的权益

×

您好,当您发现根叔知了上有关于您企业的造谣与诽谤、商业侵权等内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到 pub.zhiliao@h3c.com 邮箱,我们会在审核后尽快给您答复。
  • 1. 您举报的内容是什么?(请在邮件中列出您举报的内容和链接地址)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
  • 3. 是哪家企业?(营业执照,单位登记证明等证件)
  • 4. 您与该企业的关系是?(您是企业法人或被授权人,需提供企业委托授权书)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

抄袭了我的内容

×

原文链接或出处

诽谤我

×

您好,当您发现根叔知了上有诽谤您的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您举报的内容以及侵犯了您什么权益?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

对根叔社区有害的内容

×

垃圾广告信息
色情、暴力、血腥等违反法律法规的内容
政治敏感
不规范转载 >
辱骂、歧视、挑衅等(不友善)
骚扰我
诱导投票

不规范转载

×

举报说明