Netpicker syslog server

A syslog-ng container that listens for network device configuration change events and forwards them to the agent.

Overview

This container:

  • Receives syslog messages via TCP (port 6601) and UDP (port 5514)
  • Filters for device configuration change events from various vendors
  • Aggregates messages per host (30s window)
  • Forwards matching events as JSON to a configurable agent

Supported Devices

Config change detection filters are included for:

VendorFilter Pattern
Alcatel OmniSwitchwrite memory
Arista EOSStartup config saved
Aruba CXCopying configs from: running-config to: startup-config
Aruba MCCOMMAND:<write memory>
Avaya ERSbsnConfigurationSavedToNvram
F5 BIG-IPstatus=[Command OK] cmd_data=save
Checkpoint MGMTProcessing : save configuration
Cisco IOS/IOS-XEConfigured / CONFIG-5-CONFIG_SAVE
Cisco NexusConfigured from
Cisco XRConfiguration committed
HP Comware 5Configuration is saved successfully
HP Comware 7SHELL_CMD_CONFIRM: Confirm option of command save
Juniper Junoscommit complete
Palo Alto PAN-OSCommit job succeeded
Fortinetaction="Edit"
A10configuration successfully saved

Configuration

Environment Variables

VariableDescriptionDefault
HOSTNAMERequired. Target host/container for forwarding
PUIDUser ID for syslog-ng process911
PGIDGroup ID for syslog-ng process911

Ports

PortProtocolDescription
6601TCPSyslog input (RFC 5424)
5514UDPSyslog input (RFC 5424)

Output

Filtered messages are forwarded to $HOSTNAME:5001 via TCP as JSON:

{"date":"2024-01-15T10:30:00+00:00","host":"switch01","message":"commit complete",...}

Usage

Docker Compose

services:
  syslog-ng:
    environment:
      - HOSTNAME: agent  # name of your agent container
    ports:
      - "6601:6601/tcp"
      - "5514:5514/udp"
    volumes:
      - syslog:/var/lib/syslog-ng

volumes:
  syslog:

Log Files

All incoming messages are logged locally for debugging:

FileContent
/var/log/messagesRaw syslog messages
/var/log/messages-kv.logMessages with all parsed key-value pairs

Would you like a hands-on session?

A couple times a week our in-house trainer is available for a private or group session. In this session we can cover our Slurp’it or Mock’it solution but also integrations with Netpicker, NetBox, Nautobot & Infrahub.

Yes, keep me informed

Connect with us on LinkedIn to stay updated on the latest happenings, news, and exciting developments at Slurp’it. Just click the button below to follow us and be a part of our professional network.

Newsletter