上传网络设备日志 -凯发k8国际|首页

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% [[email protected] 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后台进程