Skip to main content
COSMICBYTEZLABS
NewsSecurityHOWTOsToolsStudyTraining
ProjectsChecklistsAI RankingsNewsletterStatusTagsAbout
Subscribe

Press Enter to search or Esc to close

News
Security
HOWTOs
Tools
Study
Training
Projects
Checklists
AI Rankings
Newsletter
Status
Tags
About
RSS Feed
Reading List
Subscribe

Stay in the Loop

Get the latest security alerts, tutorials, and tech insights delivered to your inbox.

Subscribe NowFree forever. No spam.
COSMICBYTEZLABS

Your trusted source for IT intelligence, cybersecurity insights, and hands-on technical guides.

429+ Articles
114+ Guides

CONTENT

  • Latest News
  • Security Alerts
  • HOWTOs
  • Projects
  • Exam Prep

RESOURCES

  • Search
  • Browse Tags
  • Newsletter Archive
  • Reading List
  • RSS Feed

COMPANY

  • About Us
  • Contact
  • Privacy Policy
  • Terms of Service

© 2026 CosmicBytez Labs. All rights reserved.

System Status: Operational
  1. Home
  2. HOWTOs
  3. FortiAnalyzer Log Forwarding and Compliance Reports
FortiAnalyzer Log Forwarding and Compliance Reports
HOWTOIntermediate

FortiAnalyzer Log Forwarding and Compliance Reports

Configure FortiAnalyzer for centralized logging, SIEM integration, and compliance reporting. Covers syslog forwarding, custom log handlers, and PCI/HIPAA...

Dylan H.

Security Engineering

February 3, 2026
12 min read

Prerequisites

  • FortiAnalyzer with valid license
  • FortiGate devices configured for logging
  • Network connectivity between devices
  • Admin access to FortiAnalyzer

Overview

FortiAnalyzer provides centralized log collection, analysis, and compliance reporting for Fortinet Security Fabric devices. This guide covers configuring log forwarding to external SIEMs, creating custom log handlers, and generating compliance reports for PCI DSS, HIPAA, and other frameworks.

Who Should Use This Guide:

  • Security administrators centralizing log management
  • Compliance officers generating audit reports
  • SOC analysts integrating Fortinet logs with SIEM
  • Network engineers troubleshooting with log analysis

FortiAnalyzer Capabilities:

FeatureDescription
Log AggregationCollect logs from FortiGate, FortiWeb, FortiMail, etc.
Log ForwardingSend logs to external SIEM (Splunk, Sentinel, Elastic)
Compliance ReportsPre-built PCI DSS, HIPAA, SOX, GDPR reports
Automated ReportsSchedule and email reports to stakeholders
Log CorrelationCorrelate events across devices
Long-term RetentionArchive logs for compliance requirements

Log Types:

Log TypeDescription
TrafficFirewall session logs (source, dest, action)
UTMWeb filter, AV, IPS, app control events
EventSystem, VPN, user authentication events
SecurityThreat detection, anomaly detection
DNSDNS query logs
SSLSSL/TLS inspection logs

Architecture

┌─────────────────────────────────────────────────────────────────────┐
│                   Log Aggregation Architecture                       │
├─────────────────────────────────────────────────────────────────────┤
│                                                                     │
│  Log Sources                                                        │
│  ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐       │
│  │ FortiGate  │ │ FortiWeb   │ │ FortiMail  │ │ FortiClient│       │
│  │ Firewalls  │ │ WAF        │ │ Email GW   │ │ EMS        │       │
│  └─────┬──────┘ └─────┬──────┘ └─────┬──────┘ └─────┬──────┘       │
│        │              │              │              │               │
│        └──────────────┴──────┬───────┴──────────────┘               │
│                              │                                      │
│                              ▼                                      │
│                    ┌─────────────────┐                              │
│                    │  FortiAnalyzer  │                              │
│                    │   ┌─────────┐   │                              │
│                    │   │ Log DB  │   │                              │
│                    │   └─────────┘   │                              │
│                    │   ┌─────────┐   │                              │
│                    │   │ Reports │   │                              │
│                    │   └─────────┘   │                              │
│                    └────────┬────────┘                              │
│                             │                                       │
│              ┌──────────────┼──────────────┐                        │
│              │              │              │                        │
│              ▼              ▼              ▼                        │
│     ┌────────────┐  ┌────────────┐  ┌────────────┐                 │
│     │   SIEM     │  │  Syslog    │  │  Webhook   │                 │
│     │  (Splunk)  │  │  Server    │  │  (SOAR)    │                 │
│     └────────────┘  └────────────┘  └────────────┘                 │
│                                                                     │
└─────────────────────────────────────────────────────────────────────┘

Step 1: Configure FortiGate Log Settings

Ensure FortiGates are sending logs to FortiAnalyzer.

FortiGate CLI Configuration

# Configure FortiAnalyzer logging
config log fortianalyzer setting
    set status enable
    set server "<FortiAnalyzer-IP>"
    set serial "<FortiAnalyzer-Serial>"
    set upload-option realtime
    set reliable enable
    set enc-algorithm high
    set ssl-min-proto-ver TLSv1.2
end
 
# Configure log settings per type
config log fortianalyzer filter
    set severity information
    set forward-traffic enable
    set local-traffic enable
    set multicast-traffic enable
    set sniffer-traffic enable
    set anomaly enable
    set voip enable
    set dns enable
    set ssl enable
end
 
# Enable logging in firewall policies
config firewall policy
    edit 1
        set logtraffic all
        set logtraffic-start enable
    next
end

FortiGate GUI Configuration

  1. Navigate to Log & Report → Log Settings
  2. Enable Send Logs to FortiAnalyzer/FortiManager
  3. Configure:
    • IP Address: FortiAnalyzer IP
    • Upload Option: Real Time
    • Reliable Logging: Enable

Verify Connectivity

# On FortiGate - Test FortiAnalyzer connectivity
execute log fortianalyzer test-connectivity
 
# Check log queue
diagnose log fortianalyzer status
 
# Expected output: FAZ is up

Step 2: Configure Log Forwarding to SIEM

Syslog Forwarding Configuration

CLI Method:

# Configure syslog server
config log syslogd setting
    set status enable
    set server "<SIEM-IP>"
    set port 514
    set format cef
    set facility local7
    set reliable enable
end
 
# Configure what to forward
config log syslogd filter
    set severity information
    set forward-traffic enable
    set local-traffic enable
    set attack enable
    set virus enable
    set webfilter enable
    set ips enable
    set anomaly enable
    set ssl enable
end

GUI Method:

  1. Navigate to System → Advanced → Log Forwarding
  2. Click Create New
  3. Configure:
SettingValue
NameSIEM-Splunk
Remote Server TypeSyslog
Server IP10.0.1.100
Port514
FormatCEF (Common Event Format)
ReliableEnable

Syslog Formats

FormatUse CaseBest For
CEFStandard SIEM integrationSplunk, QRadar, ArcSight
LEEFIBM QRadarQRadar
JSONModern SIEM platformsElastic, Azure Sentinel
RawCustom parsingSpecific applications

Configure CEF Format

config log syslogd setting
    set format cef
end

CEF Sample Log:

CEF:0|Fortinet|FortiGate|7.4.0|00013|traffic:forward close|5|
src=10.0.1.50 spt=54321 dst=93.184.216.34 dpt=443
proto=6 deviceExternalId=FG100ETK12345678
act=accept app=HTTPS cat=traffic

Configure JSON Format

config log syslogd setting
    set format json
end

JSON Sample Log:

{
    "devid": "FG100ETK12345678",
    "logid": "0000000013",
    "type": "traffic",
    "subtype": "forward",
    "action": "accept",
    "srcip": "10.0.1.50",
    "srcport": 54321,
    "dstip": "93.184.216.34",
    "dstport": 443,
    "service": "HTTPS",
    "duration": 120
}

Step 3: Configure Log Forwarding to Azure Sentinel

Create Data Collection Endpoint

# Azure CLI - Create DCE and DCR for FortiAnalyzer
az monitor data-collection endpoint create \
  --name "fortinet-logs-dce" \
  --resource-group "security-rg" \
  --location "eastus" \
  --public-network-access "Enabled"

Configure CEF Connector

  1. In Azure Sentinel, navigate to Data connectors
  2. Search for Common Event Format (CEF)
  3. Install the connector
  4. Deploy the Log Analytics agent on a Linux VM
  5. Configure FortiAnalyzer to forward to the agent

FortiAnalyzer Syslog Output:

config system log-forward
    edit 1
        set mode forwarding
        set fwd-reliable enable
        set fwd-server-type syslog
        set server-name "Azure-Sentinel"
        set server-addr "<CEF-Collector-IP>"
        set server-port 514
        set fwd-facility local4
        set fwd-log-source-ip enable
    next
end

Step 4: Create Log Handlers

Log handlers process and filter logs before forwarding or storage.

Create Handler via CLI

# Create a log handler for security events
config system log-fetch client-profile
    edit "Security-Events"
        set log-filter 'type=utm AND (subtype=virus OR subtype=ips OR subtype=attack)'
        set index-fetch enable
        set device-filter '{"srcip": "10.0.0.0/8"}'
    next
end

Create Handler via GUI

  1. Navigate to Log View → Log Handler
  2. Click Create New
  3. Configure:
    • Name: High-Severity-Events
    • Log Type: UTM
    • Filter: severity >= warning

Common Log Filters

Filter PurposeFilter Expression
Security events onlytype=utm
High severitylevel>=warning
Specific sourcesrcip=10.0.1.0/24
Denied trafficaction=deny
VPN eventstype=event AND subtype=vpn
Admin changestype=event AND subtype=system

Filter Syntax Examples

# Traffic from specific subnet
srcip=10.0.1.0/24 AND dstip!=10.0.0.0/8
 
# Security events with high severity
type=utm AND level>=warning
 
# VPN logon failures
type=event AND subtype=vpn AND status=failure
 
# Admin configuration changes
type=event AND subtype=system AND action="config change"
 
# Web filtering blocks
type=utm AND subtype=webfilter AND action=blocked

Step 5: Configure Compliance Reports

Enable Pre-Built Reports

  1. Navigate to Reports → Report Definitions
  2. Select compliance framework
  3. Configure schedule

Available Compliance Reports

FrameworkReport NameKey Sections
PCI DSSPCI Compliance ReportReq 1,2,5,6,7,8,10,11
HIPAAHIPAA Security ReportAccess controls, audit logs
SOXSOX Audit ReportChange management, access
GDPRGDPR Compliance ReportData access, consent
NISTNIST CSF ReportIdentify, Protect, Detect

PCI DSS Report Configuration

# CLI - Configure PCI report
config system report
    edit "PCI-Monthly"
        set title "PCI DSS Compliance Report"
        set format pdf
        set schedule monthly
        set email-server "smtp.company.com"
        set email-to "security@company.com"
        set template "PCI-Compliance"
    next
end

Create Custom Report

  1. Navigate to Reports → Report Definitions → Create New
  2. Select Blank Report
  3. Add sections:
Report: Security Operations Monthly
Sections:
  - Top Threats Detected (Chart)
  - Blocked Attacks by Type (Table)
  - VPN Usage Summary (Chart)
  - Policy Violations (Table)
  - Admin Activity Log (Table)
  - Top Bandwidth Consumers (Chart)

Schedule Automated Reports

config system report
    edit "Weekly-Security"
        set schedule weekly
        set day-of-week sunday
        set time 06:00
        set email-server "smtp.company.com"
        set email-to "security-team@company.com"
        set email-cc "ciso@company.com"
    next
end

Step 6: Log Retention and Archiving

Configure Log Storage

# Configure disk allocation
config system sql
    set status enable
    set database-name "logs"
    set database-type postgres
    set server "localhost"
    set max-days 365
end
 
# Configure log archiving
config system archive
    set status enable
    set archive-type s3
    set s3-bucket "fortinet-logs-archive"
    set s3-region "us-east-1"
    set s3-access-key "<access-key>"
    set s3-secret-key "<secret-key>"
    set compress enable
    set archive-days 30
end

Compliance Retention Requirements

FrameworkMinimum Retention
PCI DSS1 year online, 1 year archive
HIPAA6 years
SOX7 years
GDPRPer data policy (typically 1-3 years)

Configure Retention Policies

# Set per-log-type retention
config log setting
    set log-type-traffic-retention 180
    set log-type-utm-retention 365
    set log-type-event-retention 365
    set log-type-dns-retention 90
end

Step 7: Alert Configuration

Configure Real-Time Alerts

# Create alert handler
config alert-handler
    edit "Critical-Security"
        set severity critical
        set filter-type utm
        set action email
        set email-to "soc@company.com"
        set email-subject "[ALERT] Critical Security Event"
        set threshold 1
        set time-period 60
    next
end

Alert Trigger Examples

Alert NameTrigger ConditionAction
Brute Force10+ failed logins in 5 minEmail SOC
Malware DetectedAny virus detectionSlack webhook
High Risk TrafficIPS critical alertEmail + ticket
Admin ChangeConfig modificationEmail security team
VPN AnomalyAfter-hours VPN accessSIEM alert

Webhook Alert Integration

# Configure webhook for SOAR integration
config alert-handler
    edit "SOAR-Integration"
        set action webhook
        set webhook-url "https://soar.company.com/api/fortinet/alert"
        set webhook-method POST
        set webhook-header "Authorization: Bearer <token>"
        set webhook-body "{\"alert\": \"$alert\", \"severity\": \"$severity\", \"device\": \"$device\"}"
    next
end

Step 8: Query and Search Logs

FortiAnalyzer Log Search Syntax

# Basic search
srcip=10.0.1.50 AND dstport=443
 
# Time-based search
date>=2026-02-01 AND date<=2026-02-03
 
# Complex query
(type=traffic AND action=deny) OR (type=utm AND level>=warning)
 
# Regular expression
srcip~"10\.0\.1\.\d+"
 
# Exclude pattern
type=traffic AND NOT action=accept

Common Search Queries

# Find all blocked traffic from a host
srcip=10.0.1.100 AND action=deny
 
# Find malware detections
type=utm AND subtype=virus AND action!=pass
 
# Find admin logins
type=event AND subtype=system AND logdesc="Admin login"
 
# Find VPN failures
type=event AND subtype=vpn AND status=failure
 
# Find web filtering blocks
type=utm AND subtype=webfilter AND action=blocked
 
# Find IPS alerts
type=utm AND subtype=ips AND severity>=high
 
# Find after-hours access
type=event AND time>=18:00 AND time<=06:00

Export Search Results

# CLI - Export query results
execute log filter device "FG100E"
execute log filter type traffic
execute log filter time-range "2026-02-01 00:00:00" "2026-02-03 23:59:59"
execute log display

GUI Export:

  1. Run query in Log View
  2. Click Export
  3. Select format: CSV, PDF, or XML

Troubleshooting

Common Issues

SymptomPossible CauseSolution
Logs not arrivingNetwork connectivityCheck routing and firewall rules
Incomplete logsFilter too restrictiveReview log filter settings
Syslog not forwardingWrong format/portVerify syslog settings match SIEM
Disk fullRetention too longReduce retention or add storage
Reports not sendingSMTP misconfiguredTest email settings

Diagnostic Commands

# Check log receiving status
diagnose debug application logrpt 255
diagnose debug enable
 
# Check disk usage
get system performance status
 
# Verify FortiGate connection
diagnose fortigate list
 
# Check syslog forwarding
diagnose test application syslog 1
 
# View current log filters
get log filter
 
# Check report schedule
diagnose sql report-schedule

Verify Log Flow

# On FortiAnalyzer
diagnose sql status
diagnose sql cache-stats
 
# Check log insert rate
diagnose log device-stats
 
# View recent logs
execute log filter time-range "2026-02-03 09:00:00" "2026-02-03 10:00:00"
execute log display

Security Best Practices

Secure Log Transport

# Enforce TLS for log transmission
config system log-forward
    edit 1
        set fwd-reliable enable
        set fwd-compression enable
        set fwd-log-source-ip enable
    next
end

Access Control

# Restrict admin access to logs
config system admin
    edit "log-viewer"
        set accprofile "Log_View_Only"
        set trusthost1 10.0.1.0 255.255.255.0
    next
end
 
# Create restricted profile
config system accprofile
    edit "Log_View_Only"
        set logview read
        set report read
        set device-manager none
        set adom-switch disable
    next
end

Log Integrity

# Enable log integrity verification
config system log settings
    set log-checksum enable
    set log-signing enable
    set log-signing-key "..."
end

Verification Checklist

Log Collection:

  • All FortiGates sending logs to FortiAnalyzer
  • Log types enabled (traffic, UTM, event)
  • Real-time logging configured
  • Connection verified from each device

Log Forwarding:

  • SIEM receiving logs in expected format
  • Syslog/CEF format correctly parsed
  • All required log types forwarding
  • Reliable transport enabled

Compliance:

  • Required reports configured
  • Report schedules set
  • Email delivery tested
  • Retention policies meeting requirements

Operations:

  • Alerts configured for critical events
  • Storage capacity monitored
  • Archive configured for long-term retention
  • Access controls in place

Next Steps

After configuring FortiAnalyzer:

  1. Integrate with SOAR - Automate incident response
  2. Build Custom Dashboards - Executive security metrics
  3. Configure FortiSOC - Advanced threat correlation
  4. Implement ML Analytics - Anomaly detection

References

  • FortiAnalyzer Administration Guide
  • FortiAnalyzer Log Reference
  • FortiGate Logging Configuration
  • PCI DSS v4.0 Requirements
  • HIPAA Security Rule

Last Updated: February 2026

#Fortinet#FortiAnalyzer#Logging#Compliance#SIEM#PCI DSS#HIPAA

Related Articles

How to Deploy Wazuh SIEM/XDR for Unified Security Monitoring

Step-by-step guide to deploying Wazuh as an open-source SIEM and XDR platform. Covers server installation, agent deployment across Windows and Linux,...

13 min read

How to Configure Microsoft Sentinel Analytics Rules

End-to-end SOC guide for Microsoft Sentinel: build KQL-based scheduled and NRT analytics rules, wire automation rules for incident triage, and deploy...

15 min read

FortiGate Performance Optimization: Tuning Guide for

Optimize FortiGate performance with NP/CP offloading, session table tuning, UTM profile optimization, SD-WAN performance rules, conserve mode prevention,...

40 min read
Back to all HOWTOs