contact@yottabyte.cn
400-085-0159
调查问卷
J

数据接收

上传网络设备日志

路由器、交换机、负载均衡、入侵防护系统等网络设备,可以通过syslog输出日志,您使用本地的中央rsyslog转发这些日志给日志易。

大多数网络设备使用旧的非结构化的日志格式,并使用UDP协议传输。日志易使用新的RFC5424标准来结构化日志,我们选择更可靠的TCP传输协议,我们将展示将旧日志转换为这种新的标准格式配置Linux系统的rsyslog协议进行转发。

tag

Linux后台程序

  1. 添加UDP输入

    创建一个新的UDP配置文件或打开现有的:

      sudo vim /etc/rsyslog.d/forward_udp_2_tcp.conf
    

    复制并粘贴此配置启用syslog,默认 UDP输入端口为514,会通过TCP协议转发数据到collector01的5140端口

     # Modules
     $ModLoad imudp
     $UDPServerRun 514
     # log every host in its own directory
     $template RemoteHost,"/data/syslog/%$YEAR%-%$MONTH%-%$DAY%/%HOSTNAME%.log"
    
     # 写本地文件
     $template LocalFileFormat,"%timestamp:::date-rfc3339% %HOSTNAME% %syslogfacility-text% %syslogseverity-text% %syslogtag%%msg%\n"
     # 写远程Collector,这里将appname固定为"switch",注意修改token和tag
     $template RizhiyiFormat,"<%pri%>%protocol-version% %timestamp:::date-rfc3339% %HOSTNAME% switch %procid% %msgid% [your-token@32473 tag=\"udp\"]%msg%\n"
    
     # 发送数据,注意修改collector01为具体的collector地址
     #if $inputname == 'imudp' then ?RemoteHost;LocalFileFormat
     if $inputname == 'imudp' then @@collector01:5140;RizhiyiFormat
     if $inputname == 'imudp' then ~
    

    重启rsyslog进程:

     #如果是CentOS 7及以上版本,重启此服务命令为:
    
     $sudo systemctl restart rsyslog.service
    
     #否则为 
    
     $sudo service rsyslog restart	
    
  2. 发送一条测试日志

    使用netcat发送一条测试日志,使用rsyslog来验证能够接收UDP信息:

     echo ":hello" | nc -u -w 1 localhost 514
    

    该消息应显示在您的系统日志和日志易中:

     tail -f /data/syslog/$(date +%Y-%m-%d)/localhost.log 
    
  3. 配置网络设备

    获取本地中央rsyslog的IP地址,然后配置网络设备发送日志到这个IP,请查看您的设备文档如何配置。

     ifconfig eth0
    
  4. 校验

    搜索日志易中过去一小时的网络设备日志。这可能需要几十秒钟的时间来索引日志。如果它没有正常工作,请参阅下面的疑难解答。

疑难解答

如果您在验证时看不到搜索结果,请检查下列常见问题

检测你的网络设备

检测您的rsyslog后台进程