跳转到主要内容

具有多厂商支持的网络安全自动化和可编程抽象层:syslog解析器

项目描述

Python库,用于解析网络设备的syslog消息并生成JSON序列化Python对象,具有厂商无关性。输出对象遵循OpenConfig或IETF YANG模型。

例如,以下来自Juniper设备的syslog消息

Mar 30 12:45:19 re0.edge01.bjm01 rpd[15852]: BGP_PREFIX_THRESH_EXCEEDED 1.2.3.4 (External AS 15169): Configured maximum prefix-limit threshold(160) exceeded for inet-unicast nlri: 181 (instance master)

将生成以下对象

      {
        "yang_message": {
              "bgp": {
                "neighbors": {
                      "neighbor": {
                        "192.168.140.254": {
                              "state": {
                                "peer_as": "65001"
                              },
                              "afi_safis": {
                                "afi_safi": {
                                      "inet4": {
                                        "state": {
                                              "prefixes": {
                                                "received": 141
                                              }
                                        },
                                        "ipv4_unicast": {
                                              "prefix_limit": {
                                                "state": {
                                                      "max_prefixes": 140
                                                }
                                              }
                                        }
                                      }
                                }
                              }
                        }
                      }
                }
              }
        },
        "message_details": {
              "processId": "2902",
              "severity": 5,
              "facility": 18,
              "hostPrefix": null,
              "pri": "149",
              "processName": "rpd",
              "host": "vmx01",
              "tag": "BGP_PREFIX_THRESH_EXCEEDED",
              "time": "14:03:12",
              "date": "Jun 21",
              "message": "192.168.140.254 (External AS 65001): Configured maximum prefix-limit threshold(140) exceeded for inet4-unicast nlri: 141 (instance master)"
        },
        "timestamp": 1498050192,
        "facility": 18,
        "ip": "127.0.0.1",
        "host": "vmx01",
        "yang_model": "openconfig-bgp",
        "error": "BGP_PREFIX_THRESH_EXCEEDED",
        "os": "junos",
        "severity": 5
      }
}

该库附带一个命令行程序,作为守护程序运行在后台,持续监听syslog消息,然后通过安全通道发布它们,多个客户端可以订阅。

它可以灵活地通过UDP或TCP监听syslog消息,也可以从Apache Kafka等代理中监听。同样,输出对象可以通过各种渠道发布,例如ZeroMQ、Kafka或远程服务器日志。它还足够灵活,可以扩展这些功能,根据需要监听或发布到其他服务。

消息通过安全通道发布,加密并签名。尽管可以禁用安全功能,但强烈建议不要这样做。

文档

请查看官方文档以获取更多信息。

安装

napalm-logs 可在 PyPi 上获取,并且可以使用以下命令轻松安装

pip install napalm-logs

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关 安装软件包 的更多信息。

源分布

napalm-logs-0.11.0.tar.gz (69.7 kB 查看哈希值)

上传时间

构建分布

napalm_logs-0.11.0-py2.py3-none-any.whl (120.9 kB 查看哈希值)

上传时间 Python 2 Python 3

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面