Home / Blog / FortiGate Log Format
firewall

FortiGate Log Format: What Each Field Means

We examine the 60+ fields in the FortiOS syslog output, isolate the ones that are critical to SIEM, and explain which fields are useful for what in the real world.

K
Kerem M.

FortiGate firewalls use the FortiOS operating system andextremely detailedproduces logs. There can be nearly 60 fields in a traffic event. Indexing all of these fields in SIEM is both unnecessary and expensive. If you make the right choice, both performance will be good and your detection quality will remain high.

In this guide, we will examine the FortiOS 7.x syslog output field by field and distinguish which is critical and which is noise.

An example FortiGate Log Line

date=2026-04-23 time=14:32:05 devname="FG100-HQ" devide="FG100ETK20000123"
eventtime=1714048325 tz="+0300" logid="0000000013" type="traffic"
subtype="forward" level="notice" vd="root" srcip=192.168.1.105
srcport=54332 srcintf="port1" srcintfrole="lan" dstip=203.0.113.45
dstport=443 dstintf="port2" dstintfrole="wan" sessionid=8821334
proto=6 action="deny" policyid=0 policytype="policy" service="HTTPS"
dstcountry="Netherlands" srccountry="Reserved" trandisp="noop"
duration=0 sentbyte=0 rcvdbyte=0 sentpkt=0 appcat="unscanned"
crscore=5 extraction=131072 crlevel="low"

This single row contains 30+ fields. Let's examine each one individually — but first, let's prioritize.

critical Fields (should always be indexed)

Alan Meaning Why critical?
date, time timestamp The basis of every correlation
devname firewall name Filtering in multi-device environment
srcip Source IP Brute force, scan detection
dstip Target IP Target enumerasyonu
srcport / dstport Port numbers Port scan, service detection
action deny / accept / dropped Deny chain = attack signal
service HTTPS, DNS, vs. Traffic type
proto 6 (TCP), 17 (UDP), 1 (ICMP) Protocol analysis
policyid Which firewall rule was triggered Policy tuning
srccountry / dstcountry GeoIP Foreign country detection

Important Fields (required for most scenarios)

srcintf/dstintf Input/output interface (port1, wan1 etc.)
srcintfrole / dstintfrole lan, wan, dmz — critical for traffic direction
sentbyte / rcvdbyte Traffic volume — for data exfil detection
duration Connection time
appcat / app Application category (Social Media, etc.)
user Username if Auth is done

Noise Areas (usually should not be indexed)

The following areasfills up storageand is rarely required for detection:

💡
Hybrid strategy:Index critical areas (quick query), noise areas raw_message Store it as text inside. Thus, both performance and archive are possible.

Meaning of Action Field

In FortiGate, the action area is the heart of intrusion detection:

accept Traffic allowed
deny Rejected by Policy
close Normal oturum sonu
time out Session time out
server-rst / client-rst TCP RST packet
ip-conn IP connection error

Most valuable for intrusion detection: deny, server-rst, ip-conn. Their successive arrival is the clearest signal of port scan or brute force.

Log Levels

FortiGate log levels comply with Syslog RFC 5424:

emergency0 — System cannot be used
alert1 — Immediate action is required
critical2 — critical situation
error3 — Hata
warning4 — Warning
notice5 — Important but normal
information6 — Information
debug7 — Debug
⚙️
Suggestion:to SIEM notice Submit and above (0-5). informationanddebug It takes up a lot of space and has low analytical value.

Sending Syslog from FortiGate

Configuring FortiGate to send logs to SIEM with CLI:

config log syslogd setting
    set status enable
    set server "siem.example.com"
    set mode udp
    set port 514
    set facility local7
    set source-ip "192.168.1.1"
    set format default
    set enc-algorithm disabled
end

config log syslogd filter
    set severity notice
    set forward-traffic enable
    set local-traffic disabled
    set multicast-traffic disabled
    set sniffer-traffic disabled
    set anomaly enable
    set voip disabled
end

This configuration:

Suggestion for Renaming Log Fields

FortiGate domains sometimes do not match other firewalls. To use uniform schema in SIEM:

FortiGateNormalized (recommended)
srcipsrc_ip
dstipdst_ip
srcportsrc_port
dstportdst_port
devnamedevice_hostname
srccountrysrc_country
sentbytebytes_sent
rcvdbytebytes_received

Since this naming will also be compatible with MikroTik, WatchGuard, Cisco, correlation rulesvendor-agnosticcan be written.

Summary

📦
OxiSec SIEMIt automatically parses FortiGate logs, normalizes the fields, and detects port scan, brute force, and data exfil with 13 ready-made correlation rules. Try it for free →

Analyze your FortiGate logs with SIEM

Installation 15 minutes. community plan is free.

Start Free →