All Projects β†’ napalm-automation β†’ napalm-logs

napalm-automation / napalm-logs

Licence: Apache-2.0 license
Cross-vendor normalisation for network syslog messages, following the OpenConfig and IETF YANG models

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to napalm-logs

xrgrpc
gRPC library for Cisco IOS XR
Stars: ✭ 40 (-69.47%)
Mutual labels:  yang, openconfig
pony-zmq
Pure Pony implementation of the ZeroMQ messaging library. 🐴 0️⃣ Ⓜ️ πŸ€
Stars: ✭ 64 (-51.15%)
Mutual labels:  zeromq, zmq
Message Io
Event-driven message library for building network applications easy and fast.
Stars: ✭ 321 (+145.04%)
Mutual labels:  transport, event-driven
zmq
ZeroMQ based distributed patterns
Stars: ✭ 27 (-79.39%)
Mutual labels:  zeromq, zmq
Libzmq
ZeroMQ core engine in C++, implements ZMTP/3.1
Stars: ✭ 7,418 (+5562.6%)
Mutual labels:  zeromq, zmq
eda
eda is a library for implementing event-driven architectures.
Stars: ✭ 31 (-76.34%)
Mutual labels:  event-driven, event-driven-architecture
openmgmt
Documentation and examples for using open network management tools such as OpenConfig
Stars: ✭ 23 (-82.44%)
Mutual labels:  yang, openconfig
Westworld-Style-Behavior-Pad-Interface
UPDATE 20210705: Adding ZeroMQ functions in to allow full-duplex comms with deep parts of the hosts' cognitive processes, and expose speech recognition background processes, visual processes, etc. ORIGINAL DESCRIPTION >>>This is a working version of the iconic Behavior Pad "Rose Graph" Interface that the Westworld Techs use to set Host Behaviora…
Stars: ✭ 25 (-80.92%)
Mutual labels:  zeromq, zmq
ZMQ.jl
Julia interface to ZMQ
Stars: ✭ 114 (-12.98%)
Mutual labels:  zeromq, zmq
UT GameEventSystem
A flexible event system in Unreal Engine 4
Stars: ✭ 33 (-74.81%)
Mutual labels:  engine, event-driven
Posh-SYSLOG
Send SYSLOG messages from PowerShell
Stars: ✭ 85 (-35.11%)
Mutual labels:  syslog, syslog-messages
rage1
RAGE1: Retro Adventure Game Engine, release 1
Stars: ✭ 16 (-87.79%)
Mutual labels:  engine
Scylla
The Simplistic Information Gathering Engine | Find Advanced Information on a Username, Website, Phone Number, etc.
Stars: ✭ 424 (+223.66%)
Mutual labels:  engine
qp-arduino
QP real-time embedded frameworks/RTOS for Arduino (AVR and SAM)
Stars: ✭ 37 (-71.76%)
Mutual labels:  event-driven
VoxelEngine
Custom voxel engine written in C++ and OpenGL
Stars: ✭ 44 (-66.41%)
Mutual labels:  engine
gba-sprite-engine
An object-oriented Game Boy Advance sprite engine concept
Stars: ✭ 68 (-48.09%)
Mutual labels:  engine
distmq
Distributed Message Queue based on Raft
Stars: ✭ 32 (-75.57%)
Mutual labels:  zeromq
bitty
Bitty Engine - An itty bitty 2D game engine, with built-in editors, programmable in Lua.
Stars: ✭ 86 (-34.35%)
Mutual labels:  engine
ydk-cpp
C++ SDK generated from YANG data models.
Stars: ✭ 17 (-87.02%)
Mutual labels:  yang
distributedRL
A framework for easy prototyping of distributed reinforcement learning algorithms
Stars: ✭ 93 (-29.01%)
Mutual labels:  zeromq

napalm-logs

napalm-logs is a Python library that listens to syslog messages from network devices and returns structured data following the OpenConfig or IETF YANG models.

The outgoing objects are published via ZeroMQ, Kafka, or other usual transport options. It is easy enough to switch between transports and pluggable to add others such as Google Datastore, RabbitMQ, etc.

Similarly, the syslog messages can be received via UDP, TCP, or different services, such as Kafka, etc.

New platforms can be easily added, just referencing the path to the YAML configuration file.

Requirements

  • PyYAML
  • PyZMQ
  • PyNaCl
  • u-msgpack-python

Output object example

{
  "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",
    "facility": 18,
    "severity": 5,
    "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
}

Documentation

Please check the official documentation for more detailed information.

Installation

pip install napalm-logs
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].