Build a Graylog Syslog Pipeline for Network Devices

Network devices rarely emit consistent log records. Cisco IOS, FortiGate, Juniper, MikroTik, and Aruba platforms use different layouts, even when they carry RFC 3164 or RFC 5424 headers. Setting up a Graylog pipeline to parse syslog from network devices therefore means accepting imperfect input and turning it into dependable operational data.

The pipeline should collect events, preserve the original text, identify the device, extract useful fields, and route results for search and alerting. Done properly, it gives an Australian IT team one view of interface changes, authentication failures, firewall activity, and hardware warnings without requiring staff to learn every vendor’s log syntax.

Map the Device and Log Flows

Begin with an inventory of every sender: device type, model, software version, management address, log facility, severity range, transport, and expected daily volume. Record whether the device sends a standard header, a vendor-prefixed message, or structured data. That inventory becomes the source of truth for both the Graylog input and the parsing rules.

Do not assume that a device labelled syslog speaks the same dialect as its neighbours. The Australian market includes global enterprise platforms alongside MikroTik and Ubiquiti gear common in regional branches. Juniper and Fortinet devices may add useful structured fields, while Cisco interface messages often contain only a fixed mnemonic followed by free text.

Map the path from device to collector, including management VLANs, firewalls, tunnels, and any relay. Give each sender a stable device identifier rather than depending only on an IP address; Australian NBN and cellular WAN connections can change address assignments. The mapping should also show which teams own each device and who may see its logs.

Build a Resilient Graylog Input

Create a dedicated Graylog input for network devices instead of mixing their traffic with application logs. Traditional collectors use UDP or TCP port 514, although a non-standard destination port may suit a segmented design. UDP is simple and widely supported but can lose events under load; TCP gives delivery assurance when the sender supports it. Test the actual platform rather than copying a generic configuration.

Place collectors near the networks they monitor and expose only the required syslog port. For distributed teams in Sydney, Melbourne, and Brisbane, a collector can receive traffic over an IPsec tunnel or a tightly filtered management path. Restrict access by source network, use network ACLs and host firewalls, and avoid sending sensitive logs to an internet-facing listener on a public address.

Choose collection hardware with enough buffered network capacity, CPU for parsing, reliable storage, and a supported remote console. Redundant power and a second collector are valuable for sites where a failure would remove visibility. Karl’s hardware vendor comparison offers a practical starting point, but validate throughput and support options against the expected event rate rather than choosing on headline specifications.

Parse and Normalize Vendor Messages

In Graylog’s pipeline editor, scope each stage to the network-device input. Set common event fields first, such as event category, device identifier, transport, and received timestamp. Then use parser stages to extract the sender timestamp, hostname, facility, priority, and message body. A small set of exact rules is easier to maintain than one broad expression that tries to understand every device at once.

Build extraction rules around operational questions. Cisco interface events can yield interface name and previous or new state; FortiGate records can expose policy, user, and action; authentication events can identify protocol, result, and source. Store these values as separate fields while retaining the original message. Use lookup tables for known device names and locations, and leave unrecognised text untouched for later analysis.

Handle missing and ambiguous values explicitly. Some devices omit the year, others omit the timezone, and some prefixes contain colons that confuse generic timestamp parsing. Keep the raw timestamp, parse it in a controlled step, and flag records whose time cannot be resolved. Do not silently replace a bad time with the collector’s arrival time, because that destroys the delay information needed to investigate a network outage.

Add Routing, Security, and Retention

Use Graylog routing rules to send high-severity infrastructure events to a searchable stream, while lower-volume connection records can go to a less costly index. Add fields for site, service, and environment so views remain consistent across headquarters and branch networks. Enrichment should come from authoritative records, and every additional field should have a clear operational or compliance purpose.

Protect the pipeline with role-based access, encrypted administration, and network segmentation. Where the device supports it, use TLS syslog or place a compatible relay in front of plaintext input. Logging can reveal user names, source addresses, and network activity; where those details identify people, assess them against the Privacy Act 1988 and the Australian Privacy Principles. Apply documented retention, deletion, and access rules rather than keeping every packet indefinitely.

Treat URLs and commands embedded in events as hostile by default. For example, a firewall alert containing a link to a casino bonus page should be investigated in an isolated sandbox, not opened on an administrative workstation. The same rule applies to scripts, attachments, and domain names, even when the surrounding event appears routine.

Test Across Australian Network Conditions

Generate controlled events from each supported device and compare the output with the device console. Test normal traffic, link failure, authentication denial, configuration change, high severity, and malformed messages. Repeat at a controlled burst rate to reveal UDP loss, TCP backlogs, and parser errors. Record any field that cannot be matched because a firmware update changed the message format.

Time handling deserves a dedicated test. Australian sites may operate in AEST, AEDT, ACST, and AWST, depending on the state, and daylight-saving transitions can expose faulty assumptions. Configure devices to use UTC where possible and a reliable source such as au.pool.ntp.org. Confirm that both the embedded timestamp and Graylog’s received timestamp represent the same instant.

Include real network variables in the plan. A collector in Melbourne may need to receive events from a Perth site over a variable WAN path, while a branch connected by NBN may have fewer public addresses than expected. Replay saved samples during degraded links and verify duplicate handling, since reliable TCP delivery can still result in repeats after a reconnect. Keep these results with the build standard.

Run the Pipeline as an Owned Service

Give the pipeline a named technical owner and maintain a runbook that covers input status, failed collectors, parser changes, storage pressure, and alert routing. Monitor Graylog itself for stopped inputs, sudden volume changes, search failures, indexing delays, and disk thresholds. A silent collector can create false confidence, so send an independent heartbeat from every managed site and alert when it is missing.

Review field mappings and retention on a scheduled basis, including after major firmware upgrades or network migrations. Keep test events from each device family in the acceptance suite, and make pipeline changes through normal change control. Access reviews should confirm that only relevant network, security, and compliance staff can view operational logs.

Start this week by exporting the device inventory, creating one restricted Graylog input, and sending test events from a lab device. Record the transport, parser version, and owner beside that input. Once events arrive with stable device identifiers and correct UTC timestamps, add the collector to the standard network build and use its alerts to drive the next operational change.

Experience

Information Technology Consulting

Independent Practice

Provides IT consulting services focused on infrastructure planning, cloud migration strategy, and systems architecture. Engagements draw on years of hands-on sysadmin and development experience across Linux, Windows, and hybrid environments.

K9 Search & Rescue Volunteer

Ongoing

Active participant in K9 Search & Rescue operations, combining technical logistics skills with field support for canine search teams.

Karl Katzke's Blog

October 2006 – May 2014

Published a long-running personal technology blog covering cloud vs. in-house infrastructure, F# and Mono on OSX, hardware vendor critiques, RAID card performance analysis, and sysadmin storytelling. Notable posts include "When Sysadmins Ruled the Earth" (May 15, 2014) and "Getting Started with F# and Mono on OSX" (December 22, 2012).

Credentials

A small badge icon with a shield shape in muted blue tones on a light background

Systems Administration

Deep experience with Linux (RHEL, SLES, CentOS), high-availability clusters, and STONITH configurations.

A small badge icon with a gear shape in muted blue tones on a light background

Cloud Infrastructure

Practical knowledge of AWS EC2, reserved instances, and cost analysis for cloud vs. on-premises deployments.

A small badge icon with a code symbol in muted blue tones on a light background

Development

Proficient in F#, PHP (Symfony), and cross-platform tooling including Mono and MonoDevelop on OSX.

Studies

F# & Functional Programming

Self-directed, 2012

Explored strongly typed functional programming with F# on OSX using the Mono runtime. Published a detailed getting-started guide covering toolchain setup and cross-platform game development research.

High-Availability & Cluster Management

Professional Development, 2009

Configured and documented crm_mon email alerting for STONITH events on SLES11-HAE clusters, integrating with Nagios monitoring for production environments.

Hardware & Storage Performance

Ongoing

Conducted hands-on benchmarking of SATA/SAS RAID controllers including HighPoint RocketRaid 2740 and LSI/SuperMicro AOC-USASLP2-H8iR, comparing against software RAID configurations.

Skills

A small icon representing a server with clean geometric lines in slate blue

Linux Administration

RHEL, SLES, CentOS — package management, kernel tuning, HA clustering, and monitoring integration.

A small icon representing a cloud shape with clean geometric lines in slate blue

Cloud Architecture

AWS EC2, reserved-instance planning, cost modeling, and hybrid infrastructure strategy.

A small icon representing code brackets with clean geometric lines in slate blue

F# & .NET/Mono

Functional programming on OSX, MonoDevelop toolchain, and cross-platform game-dev exploration.

A small icon representing a database cylinder with clean geometric lines in slate blue

PHP & Symfony

Web application development with the Symfony framework and the broader PHP ecosystem.

A small icon representing a storage drive with clean geometric lines in slate blue

Storage & RAID

SATA/SAS controller evaluation, md RAID configuration, and performance benchmarking.

A small icon representing a shield with clean geometric lines in slate blue

High Availability

Pacemaker, STONITH, crm_mon alerting, and Nagios integration for production cluster monitoring.