H3C-S5048PV5-EI日志采集样例 +Vector 采集

H3C-S5048PV5-EI日志采集样例

1. 日志来源

日志源自设备 H3C-S5048PV5-EI

2. 产生日志程序

日志由以下程序产生:

  • 网络交换机操作系统

3. 程序用途

  • 记录交换机的配置变更、用户登录尝试和用户登出等事件

  1. 字段参考
  • %%: 日志的开始标记
  • EventIndex: 事件索引
  • CommandSource: 命令来源
  • ConfigSource: 配置来源
  • ConfigDestination: 配置目的地
  • WEB: 表示日志与Web界面相关
  • LOGIN: 登录事件
  • LOGOUT: 登出事件
  • LOGIN_FAILED: 登录失败事件

  1. 日志采集概述

5.1 交换机日志

5.1.1 access日志格式样例

Feb 13 01:37:52 2013 network-switch-10-11 %%10WEB/5/LOGOUT: admin logged out from 192.168.10.125.
Feb 13 02:33:18 2013 network-switch-10-11 %%10WEB/5/LOGIN_FAILED: admin failed to log in from 192.168.10.125.
Feb 13 02:33:22 2013 network-switch-10-11 %%10WEB/5/LOGIN: admin logged in from 192.168.10.125.

5.1.2 交换机日志采集方式
Vector配置

transforms:
  host_parsed:
    inputs: [ "in" ]
    type: "remap"
    source: |
      parsed_data=parse_regex!(.message,  r'^(?P<date>\w{3}\s+\d{1,2}\s+\d{2}:\d{2}:\d{2})\s*(?P<hostname>[^:]*):\s*(?P<message>.*)$')
      . |=parsed_data

      if find(.message, r'.\s*\((?P<prase_kv>.*)\)') != -1{
        prase_data=parse_regex!(.message,r'.\s*\((?P<prase_kv>[^()]*)\)')
        .prase_kv=prase_data.prase_kv
        kv_fields = parse_key_value!(.prase_kv, field_delimiter: ", ", key_value_delimiter: "=")
        .kv_fields=kv_fields
      }else if find(.message, r':.*;') != -1{    
        .message=slice!(.message,start: 0, end: -1)
        kv_fields = parse_key_value!(.message,  field_delimiter: ";",key_value_delimiter: ":")
        .kv_fields=kv_fields
      }  
      

      y=truncate(to_string(now()), limit: 4)
      .date = y + " " + to_string(.date) + " +00:00" 
      .date = parse_timestamp!(.date, format: "%Y %b %d %H:%M:%S %:z")
      .log_at = format_timestamp!(parse_timestamp!(.date, "%+"), "%Y-%m-%d %H:%M:%S")
      .collect_at=format_timestamp!(parse_timestamp!(now(), "%+"), "%Y-%m-%d %H:%M:%S")

      .id ="lmy-"
      .topic="switch.log"
      .category=" 交换机"
      .agent_version = "1.1"

      .raw_data =.message
      .log_level = "INFO"


      .source = {
        "ip": "172.16.100.1",
        "host": "",
        "product": "switch",
        "program": "switch",
        "region": "China"
      }
      .strings.date=del(.date)
      .strings.hostname=del(.hostname)

      if exists(.ip_fields){
        .strings = merge(.strings,object!(.ip_fields))
      }

      if exists(.kv_fields){
        .strings = merge(.strings,object!(.kv_fields))
      }

  filter_host_parsed_logs:
    inputs: ["host_parsed"]
    type: "filter"
    condition: .id != null    

5.1.3 交换机日志格式样例解析结果


  1. 参考
  • Vector 官方文档: 用于理解 Vector 配置和日志处理。

The Vector documentation | Vector documentationThe Vector documentation | Vector documentation

CM/5/USER_OFFLINERESULT - CloudEngine S3700, S5700 and S6700 V600R022C10 Log Reference - Huawei

  1. 注意点
  • 确保在部署 Vector 配置时,所有路径和文件名与系统环境匹配。
  • 日志解析的正则表达式需要根据实际日志格式进行测试和调整,以避免解析错误。
  • 文档中的日期和时间戳应与实际完成日期一致
  1. 完成时间

本文档完成于:2024年08月19日。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值