Mantra Networking Mantra Networking

F5 Logging, Reporting & Monitoring with Prometheus + Grafana

F5 Logging, Reporting & Monitoring with Prometheus +  Grafana
Created By: Chase Woodard

F5 Logging, Reporting, & Monitoring with Prometheus + Grafana

Everything You Need to Know

Table of Contents

  • Overview
  • Core Components
  • Prerequisites
  • Configuration
    • Local Logging
    • Remote Logging
    • Sending Logs to SIEM
    • ASM Logging Configuration
    • Enabling F5 Exporter for Prometheus
    • Grafana Dashboard Setup
  • Validation
  • Troubleshooting
  • Conclusion

Overview

F5 logging, reporting, and monitoring with Prometheus and Grafana provides a holistic solution for gaining visibility into your F5 BIG-IP infrastructure. This integrated approach leverages modern monitoring and analytics tools to track performance, detect anomalies, and rapidly respond to potential issues across your load balancers and application security modules.

What Is F5 Logging, Reporting, and Monitoring?

At its core, F5 BIG-IP logging and monitoring involves capturing detailed system events, performance statistics, and security incidents from your F5 appliances. Prometheus acts as the robust time-series database that collects metrics from F5 devices or dedicated F5 exporters, while Grafana enables real-time, interactive dashboards and alerting for operational insight.

Logging can be categorized into:

  • Local Logging: Storing log messages directly on the F5 device for immediate retrieval and troubleshooting.
  • Remote Logging: Forwarding log data to external systems—like SIEMs (Security Information and Event Management tools) or syslog servers—for centralized analysis, archiving, compliance, and enhanced security monitoring.

By setting up comprehensive logging and integrating with versatile open-source monitoring tools, organizations can achieve both real-time and historical views into their application delivery traffic, security posture, and device health.

Why Is This Important?

  • Operational Visibility: Deep insight into F5 device activity helps teams ensure uptime, quickly detect and resolve issues, and optimize performance.
  • Security and Compliance: Comprehensive logs support regulatory mandates and help identify threats by sending event data (such as ASM, Application Security Manager logs) to centralized SIEM platforms.
  • Early Detection and Response: Prometheus and Grafana, coupled with SIEM integration, offer proactive monitoring, alerting, and analytics—empowering teams to spot anomalies and policy violations as they occur.
  • Scalability and Flexibility: Open-source monitoring frameworks are highly customizable, making them suitable for environments ranging from small businesses to enterprise-scale deployments.

How Does It Work?

The solution combines several key functions and components:

  • Log Collection: F5 BIG-IP devices generate logs for system events, traffic statistics, configuration changes, and security incidents.
  • Log Forwarding: These logs can be retained locally or sent to remote syslog servers and SIEMs for aggregation and advanced analysis.
  • Metrics Export: The F5 Prometheus Exporter gathers device metrics via F5's APIs and exposes them in a format Prometheus can scrape.
  • Metrics Scraping and Storage: Prometheus continuously collects these metrics, storing them for querying, visualization, and alerting.
  • Data Visualization: Grafana, connected to Prometheus, provides highly customizable dashboards to present metrics such as throughput, error rates, ASM violations, system health, and more.
  • Integrated Analytics: Security-focused teams benefit as logs and metrics can be correlated inside SIEMs or Grafana, supporting in-depth forensic investigations and security monitoring.
This ecosystem not only centralizes monitoring and reporting for F5 networks and security operations but also equips teams with the modern tools needed for agile, data-driven management and continuous improvement of their application services.

Core Components for F5 Logging, Reporting, & Monitoring with Prometheus & Grafana

To build a robust solution for logging, reporting, and monitoring with F5, Prometheus, and Grafana, you’ll need several core software and hardware components working together. Below is a breakdown of each component required, with a step-by-step explanation of their role in the overall architecture:

  • F5 BIG-IP Appliance/Virtual Edition:
    The primary load balancer, traffic manager, and security enforcement point. This device generates the system and security logs, ASM (Application Security Manager) events, and performance metrics that are the foundation of all monitoring and reporting.
    • Step 1: Ensure your F5 appliance has the necessary licenses (LTM/ASM) and is accessible via the network.
  • F5 Device Management Interfaces (GUI, CLI, and REST API):
    Provided by the BIG-IP system for configuration and management tasks:
    • Step 2: Use the Web GUI for intuitive configuration.
    • Step 3: Use the CLI (SSH or console) for scripting and automation.
    • Step 4: Use the REST API (iControl REST) for programmatic configuration and monitoring.
  • Syslog Server (Optional but Recommended):
    An external system to collect logs from the F5 (can also forward to SIEM). Allows for log retention, centralized search, alerting, and compliance.
    • Step 5: Deploy or identify a syslog server (Linux-based rsyslog, Splunk, or similar) reachable by BIG-IP.
  • SIEM Platform (e.g., Splunk, QRadar, Elastic Stack):
    The centralized log aggregator and analytics engine used for threat detection, correlation, and compliance auditing.
    • Step 6: Integrate your syslog data stream (or direct F5 logs) with your SIEM platform.
  • F5 Prometheus Exporter:
    A connector (community or official) that queries F5 via its APIs for operational metrics (such as CPU, memory, pool status, and request rates), then exposes those metrics in Prometheus format.
    • Step 7: Deploy the exporter as a service or container (Docker recommended) on a system with network access to the F5.
    • Step 8: Configure the exporter with F5 API endpoint and credentials.
  • Prometheus Server:
    The open-source metrics collector and time-series database. Scrapes metrics from the F5 exporter on a regular schedule.
    • Step 9: Install Prometheus and update prometheus.yml to scrape the F5 exporter endpoint.
  • Grafana:
    Visualization platform for metrics collected in Prometheus, providing interactive dashboards and powerful alerting capabilities.
    • Step 10: Install Grafana and configure it to use Prometheus as a data source.
    • Step 11: Import or create F5-specific dashboards to visualize device health, traffic, and security events.

Each of these components works together to provide comprehensive operational insight into your F5 environment, from raw event logging and security monitoring to advanced, real-time performance analytics and alerting.

Prerequisites

Before you begin configuring F5 logging, reporting, and monitoring with Prometheus and Grafana, ensure the following prerequisites are met. Each step ensures a smooth and secure deployment:

  • F5 BIG-IP Appliance/VE Prepared
    • Step 1: Confirm that your F5 BIG-IP device (physical or virtual) is fully licensed with all required modules (LTM, ASM, etc.).
    • Step 2: Complete initial F5 network setup (management and data interfaces configured and reachable).
    • Step 3: Verify admin access via Web GUI, CLI (SSH), and API (iControl REST).
  • Network Connectivity Established
    • Step 4: Ensure the F5 BIG-IP can reach the remote syslog server (if used), Prometheus exporter host, and any SIEM platforms over required ports (e.g., syslog UDP/TCP 514, Prometheus HTTP 9090, API TCP 443).
    • Step 5: Confirm that Prometheus, Grafana, and SIEM platforms can reach each other where required for metric and log flow.
  • Dedicated Syslog or SIEM Platform Ready
    • Step 6: Deploy a syslog server (such as rsyslog, syslog-ng, or Splunk) or ensure your SIEM (Splunk, QRadar, Elastic, etc.) is reachable by the F5 device.
  • Monitoring Infrastructure in Place
    • Step 7: Install Prometheus on a Linux server or Docker host to collect and store F5 metrics.
    • Step 8: Deploy Grafana and confirm access for dashboard creation and Prometheus data source integration.
    • Step 9: Download and prepare the F5 Prometheus Exporter (community or official) on a suitable node with connectivity to both F5 and Prometheus.
  • User, Permissions, and Security
    • Step 10: Create a dedicated, least-privileged account on F5 for the Prometheus exporter/API access.
    • Step 11: Ensure proper network segmentation and firewall rules restrict access to management ports and sensitive logging information.
    • Step 12: (Recommended) Configure TLS/encryption for REST API access, syslog forwarding, and metric exposure where supported.
  • Time Synchronization Configured
    • Step 13: Verify that all devices (F5, Prometheus host, syslog server, SIEM, Grafana) are synced to the same NTP time source to ensure accurate data and log correlation.

Once these prerequisites are complete, you are ready to proceed with configuring local and remote logging, SIEM integration, and enabling advanced monitoring and visualization with Prometheus and Grafana.

Configuration: Local Logging on F5 BIG-IP

Setting up local logging on F5 BIG-IP ensures that important system events, traffic activity, and security logs are saved directly to the device. This immediate log storage facilitates quick troubleshooting and compliance verification, even if network access to remote log servers is temporarily unavailable. Below are step-by-step instructions for configuration using the GUI, CLI, and API methods:

  • Step 1: Access the F5 BIG-IP Device
    • Log into the F5 Web GUI as an administrator, or connect using SSH for CLI access.
  • Step 2: Configure Local Logging via the GUI
    • Navigate to System > Logs > Configuration.
    • Select the Local Logging tab or section.
    • Choose which log facilities to enable (such as local0, local1, or custom facilities).
    • Specify log levels (e.g., info, warn, error) for each facility, as appropriate for your environment.
    • Click Update or Save to apply changes.
  • Step 3: Configure Local Logging via the CLI
    • Connect to your device using SSH or the console.
    • To adjust system logging parameters, run commands like:
    • tmsh modify sys syslog include "local0.* /var/log/local0.log"
    • This example writes all local0 logs to /var/log/local0.log.
    • You may repeat or modify the above for other facilities and log levels.
    • To save your configuration:
      tmsh save sys config
  • Step 4: Configure Local Logging via API
    • Use the F5 iControl REST API to adjust logging.
    • Send a PATCH or PUT request to the endpoint:
      /mgmt/tm/sys/syslog
    • Example payload for logging local0.info events to /var/log/local0.log:
      {
        "include": "local0.info /var/log/local0.log"
      }
              
    • Authenticate with appropriate admin credentials.
  • Step 5: Verify Local Log Collection
    • Use the GUI: Navigate to System > Logs > Local Traffic or relevant log sections to review log entries.
    • Use the CLI: Run tail -f /var/log/ltm or tail -f /var/log/local0.log to monitor log activity in real-time.
  • Step 6: Optional – Rotate and Retain Local Logs
    • Edit logrotate parameters (if required) in F5’s /etc/logrotate.d/ files to manage retention and rotation schedules for local logs.

With local logging enabled, your F5 BIG-IP device will capture critical activity and provide an immediate source of truth for troubleshooting and compliance. This foundational setup can later be extended to export logs to remote systems or SIEM tools as needed.

Configuration: Remote Logging on F5 BIG-IP

Enabling remote logging on the F5 BIG-IP allows log events—including traffic, system, and security logs—to be forwarded to external servers such as syslog collectors or SIEM platforms for centralized storage, analysis, and alerting. This is essential for compliance, auditing, security monitoring, and troubleshooting across large or distributed environments. Follow these step-by-step instructions to configure remote logging using the GUI, CLI, and API methods.

  • Step 1: Access the F5 BIG-IP Device
    • Log into the BIG-IP Web GUI as an admin, or access the CLI (SSH or console).
  • Step 2: Configure Remote Logging via the GUI
    • Navigate to System > Logs > Configuration > Remote Logging.
    • Click Create or Add to define a new remote syslog server.
    • Enter the remote server’s IP address and port (default: UDP 514).
    • Select which log facilities to forward (e.g., local0, local1).
    • Choose protocol (UDP, TCP, or TCP over TLS if your log server requires it).
    • Save the configuration.
  • Step 3: Configure Remote Logging via the CLI
    • Open your SSH session or console access.
    • Run the following command to add the remote syslog server, replacing values with your own:
    • tmsh modify sys syslog remote-servers add { my-remote-syslog { host 10.20.30.40 remote-port 514 } }
    • To specify TCP or TLS (if supported), add the remote-servers options with transport tcp or transport tcp+tls.
    • Apply and save:
    • tmsh save sys config
  • Step 4: Configure Remote Logging via API
    • Use the F5 iControl REST API to update remote syslog servers.
    • Send a PATCH or PUT request to /mgmt/tm/sys/syslog with a payload like:
      {
        "remoteServers": [
          {
            "name": "MyRemoteSyslog",
            "host": "10.20.30.40",
            "remotePort": 514,
            "transport": "udp"  // or "tcp" or "tcp+tls" if needed
          }
        ]
      }
              
    • Authenticate with admin credentials and verify success via the API response.
  • Step 5: Select Log Facilities and Levels to Forward
    • Via the GUI or CLI, define which facilities (e.g., local0, local1, etc.) and log levels (info, warn, error) should be sent to the remote server.
    • Example CLI (append to syslog include):
    • tmsh modify sys syslog include "local0.* @10.20.30.40:514"
    • This sends all local0 facility logs to your remote syslog server at 10.20.30.40.
  • Step 6: Validate Remote Log Forwarding
    • On your remote syslog or SIEM platform, check for incoming logs from the F5 (source IP of the BIG-IP device).
    • If not present, test network connectivity, firewall rules, and ensure proper protocol/port selection.
    • On the F5 CLI, use tail -f /var/log/ltm to see local logs and verify that forwarded events match what's in your remote log collector.
  • Step 7: (Optional) Configure Secure Log Transport
    • For sensitive environments, use TCP or TLS for syslog (if supported by your SIEM/log server).
    • In the GUI, select TCP/TLS protocol. In the CLI/API, use transport tcp or transport tcp+tls.

With remote logging configured, your F5 BIG-IP device will continuously forward logs to external collectors—enabling reliable, scalable storage and analytics, streamlined compliance audits, and powerful enterprise-wide security visibility.

Configuration: Sending F5 Logs to SIEM Platforms

Forwarding F5 BIG-IP logs to a SIEM (Security Information and Event Management) tool such as Splunk, QRadar, or Elastic Stack enables powerful centralized detection, correlation, threat hunting, and compliance reporting. Follow these step-by-step instructions using GUI, CLI, and API for robust SIEM integration.

  • Step 1: Confirm SIEM Platform Readiness
    • Ensure your SIEM is configured to accept syslog, TCP/UDP or TLS (recommended for security).
    • Identify the SIEM listener IP address and the port (default is 514 for syslog, but SIEMs may use custom ports).
    • Verify that your SIEM has parsing rules or apps/add-ons to recognize F5 log formats. Many SIEMs have F5-specific content packs.
  • Step 2: Add the SIEM as a Remote Logging Destination on F5
    • Via the GUI: Navigate to System > Logs > Configuration > Remote Logging.
    • Click Create or Add and enter your SIEM's IP address and port.
    • Select the required log facility to forward (such as local0, local1).
    • Choose the appropriate protocol (UDP, TCP, or TCP+TLS for encrypted transport).
    • Click Save to apply changes.
    • Best Practice: Use TCP+TLS for log forwarding when supported by your SIEM to protect sensitive event data in transit.
  • Step 3: Specify Which Logs to Send
    • Forward relevant facilities and minimum necessary log levels to SIEM to avoid data overload.
    • For example, forward local0.info or only warning and more severe logs depending on your compliance requirements.
    • If needed, use the GUI to narrow down log profiles in System > Logs > Configuration > Formats.
  • Step 4: Configure via CLI
    • Run the following TMSH command, replacing values as appropriate:
      tmsh modify sys syslog remote-servers add { siem-syslog { host 10.20.30.50 remote-port 514 } }
    • To filter specific log levels/facilities, append to the syslog include directive (example for info level on local0 sent to SIEM):
      tmsh modify sys syslog include "local0.info @10.20.30.50:514"
    • For TCP or TLS, use transport tcp or transport tcp+tls if supported:
      tmsh modify sys syslog remote-servers modify { siem-syslog { transport tcp } }
    • Save the configuration:
      tmsh save sys config
  • Step 5: Configure via API
    • Use F5's iControl REST API. Send a PATCH or PUT request to /mgmt/tm/sys/syslog with a payload like:
      {
        "remoteServers": [
          {
            "name": "SIEM-Remote",
            "host": "10.20.30.50",
            "remotePort": 514,
            "transport": "tcp+tls" // use "udp" or "tcp" as required
          }
        ],
        "include": "local0.info @10.20.30.50:514"
      }
              
    • Make sure to authenticate with API credentials having sufficient privileges.
  • Step 6: Validate Log Forwarding to SIEM
    • On your SIEM console, search for logs originating from your F5 BIG-IP’s IP address.
    • Confirm parsing, timestamp accuracy, and that key log fields (such as source, action, signatures for ASM/WAF, etc.) are detected.
    • Perform a test action (like a failed login or triggered ASM event) to ensure it’s logged and visible in the SIEM.
  • Step 7: Optimize for Performance and Security
    • Adjust log throttling and rate limits on F5 or SIEM if handling large volumes.
    • In sensitive environments, restrict network access to the SIEM listener port using firewalls or ACLs.
    • Regularly audit and update parsing rules/content packs in your SIEM for new F5 event types or signatures.

By forwarding logs to your SIEM, you gain advanced analytics and security visibility into your F5 environment, supporting operational, forensic, and regulatory objectives.

Configuration: ASM (Application Security Manager) Logging on F5 BIG-IP

Enabling and forwarding ASM (Web Application Firewall) logs is critical for capturing security events, attack data, and violation reports essential for threat monitoring and compliance. ASM logging can be configured locally, sent to remote syslog/SIEM, and even visualized when integrated with your broader observability stack. Below are step-by-step instructions to configure ASM logging via the GUI, CLI, or API:

  • Step 1: Access the F5 BIG-IP Device
    • Log in to the F5 Web GUI as an administrator, or connect using SSH for CLI access.
  • Step 2: Create or Edit an ASM Logging Profile (GUI)
    • Navigate to Security > Event Logs > Logging Profiles.
    • Click Create to make a new logging profile, or select an existing profile to edit.
    • Under Application Security, enable the required event types (e.g., All Requests, Illegal Requests, Brute Force Attempts, etc.).
    • Choose the logging destination (Local, Remote Syslog, or Remote ArcSight/Splunk if available), log level, and formats as needed.
    • Save the changes to the logging profile.
  • Step 3: Assign the Logging Profile to the Virtual Server (GUI)
    • Go to Local Traffic > Virtual Servers, then select the appropriate virtual server.
    • Click the Security tab, then the Policies or Profiles section.
    • Attach the ASM Logging Profile you just created or modified.
    • Click Update to confirm assignment.
  • Step 4: Configure ASM Logging via CLI
    • Use TMSH to create or edit an ASM logging profile. For example:
    • tmsh create security log profile asm_log_profile application-security { request-logging { log-publisher my-asm-logger } }
    • If needed, create a log publisher to specify the log destination (local or remote syslog):
      tmsh create sys log-config publisher my-asm-logger destinations add { my-remote-syslog }
    • Assign the log profile to the virtual server:
      tmsh modify ltm virtual <vs_name> profiles add { asm_log_profile }
  • Step 5: Configure ASM Logging via API
    • Use the iControl REST API to manage log profiles and publisher configuration.
    • Send a POST request to /mgmt/tm/security/log/profile with payload like:
      {
        "name": "my-asm-profile",
        "applicationSecurity": {
          "requestLogging": [
            {
              "logPublisher": "my-asm-logger"
            }
          ]
        }
      }
              
    • Update the virtual server's profiles via the API endpoint /mgmt/tm/ltm/virtual/<vs_name> to attach the logging profile.
  • Step 6: Validate ASM Logging
    • Trigger an ASM policy violation (e.g., send a blocked request).
    • Check the logs via the GUI under Security > Event Logs > Application > Requests.
    • For CLI, tail the log file (e.g., tail -f /var/log/asm) to see real-time entries.
    • For remote/SIEM logs, verify relevant entries appear in your log management system and are parsed as expected.
  • Step 7: (Optional) Customize Log Formats and Destinations
    • In System > Logs > Configuration > Formats, adjust the log output structure to match SIEM parsing or compliance requirements.
    • Multiple destinations can be configured for redundancy (e.g., both local and remote logging).

Configuring ASM logging ensures critical application security events are captured, sent to the correct operations and security teams, and are ready for visualization in your monitoring or SIEM platform for compliance and incident response.

Enabling the F5 Exporter for Prometheus

To visualize and alert on F5 BIG-IP operational metrics with Prometheus and Grafana, you need the F5 exporter. This service queries the F5 via its API and exposes metrics in a format Prometheus can scrape. Below are clear step-by-step instructions for enabling and running an F5 exporter (using the popular open source f5-exporter) on a network-accessible server.

  • Step 1: Prepare a Host for the Exporter
    • Choose a Linux VM, bare metal server, or Docker host with network connectivity to both the F5 BIG-IP management interface and your Prometheus server.
    • Ensure inbound firewall rules allow Prometheus to reach the exporter’s HTTP TCP port (default is 9779).
  • Step 2: Create an API User Account on F5
    • Log in to the F5 Web GUI or SSH to the device.
    • Create a dedicated iControl REST API user with no shell access and strong password. Assign only the required Resource Administrator role.
    • (Example CLI command:)
    • tmsh create auth user prometheus_exporter password mySecurePass shell none partition-access add { all-partitions { role resource-admin } }
    • Record the username and password for the exporter configuration file.
  • Step 3: Download and Deploy the Exporter
    • Docker method (recommended):
    • docker run -d --name f5-exporter -p 9779:9779 \ -e F5_HOST=10.20.30.100 \ -e F5_USER=prometheus_exporter \ -e F5_PASS=mySecurePass \ greenpau/f5-bigip-exporter:latest
    • Replace F5_HOST with your F5’s management IP, and F5_USER, F5_PASS with credentials from Step 2.
    • Binary method: Download the f5-exporter release binary from the official repo, configure it with a YAML or environment variables, and run the service.
  • Step 4: Validate Exporter Operation
    • From a browser or curl on the exporter host, test:
      curl http://localhost:9779/metrics
    • You should see plaintext Prometheus-formatted metrics (e.g., f5_system_info, f5_cpu_usage, etc.).
    • Check logs of the exporter container or service if you see errors. Confirm credentials and network routing to F5’s management IP.
  • Step 5: Add the Exporter Endpoint to Prometheus
    • Edit prometheus.yml on your Prometheus server and add a scrape job:
    • scrape_configs:
        - job_name: 'f5-bigip'
          static_configs:
            - targets: ['EXPORTER_IP:9779']
              
    • Replace EXPORTER_IP with your exporter’s actual IP address.
    • Restart Prometheus and verify the F5 target appears in the Prometheus Status > Targets page and is labeled as "UP."
  • Step 6: (Optional) Secure and Harden
    • Restrict which systems can reach the exporter HTTP port.
    • Consider running the exporter behind an internal reverse proxy or enable HTTPS if the exporter supports it.
    • Regularly update the exporter image/binary for the latest security and compatibility fixes.

Once completed, your F5 BIG-IP metrics are continuously available in Prometheus for historical trending, real-time monitoring, and alerting—powering visibility in Grafana dashboards and automations.

Grafana Dashboard Setup for F5 BIG-IP Monitoring

Grafana provides rich, interactive visualizations for data collected from your F5 devices via Prometheus. Setting up an F5 dashboard in Grafana allows your operations and security teams to monitor health, performance, and threats in real time. Follow these step-by-step instructions for connecting Grafana to Prometheus and building powerful F5 dashboards.

  • Step 1: Access Grafana Web Interface
    • Open a browser and go to your Grafana URL (e.g., http://your-grafana-server:3000).
    • Log in with your admin or editor credentials.
  • Step 2: Add Prometheus as a Data Source
    • Click the gear icon (⚙) in the side menu and select Data Sources.
    • Click Add data source and choose Prometheus from the list.
    • Enter the URL of your Prometheus server (default is http://localhost:9090 or use your actual server IP/hostname).
    • Click Save & Test to ensure Grafana can connect to Prometheus.
  • Step 3: Import a Pre-Built F5 Dashboard (Recommended)
    • Go to Dashboards > Import in the side menu.
    • Enter a dashboard ID from Grafana’s official dashboard site (e.g., search for "F5" or "BIG-IP").
    • Paste the ID (such as 12645 or another relevant number) or upload a JSON file if you downloaded one.
    • Select your Prometheus data source when prompted and click Import.
    • Review the imported dashboard to verify the panels (CPU, Memory, Pool, Virtual Servers, etc.) are pulling F5 data.
  • Step 4: Create a Custom Dashboard (Optional)
    • Click the + icon in the side menu and select Dashboard.
    • Click Add new panel to start building a custom visualization.
    • Use Prometheus queries for F5 metrics, such as:
      • f5_cpu_usage_percent
      • f5_memory_usage_bytes
      • f5_virtual_server_state
      • f5_pool_member_availability
      • f5_asm_policy_violations_total (requires exporter with ASM support)
    • Adjust visualization types (graph, gauge, table, etc.), thresholds, and alerts as needed.
    • Click Apply to save each panel and build your dashboard.
  • Step 5: Configure Alerts (Optional but Recommended)
    • In any panel, click the Alert tab to define alerting rules (e.g., when F5 CPU exceeds 80% for 5 minutes).
    • Set notification channels (email, Slack, pager) via Alerting > Notification channels in the Grafana admin menu.
    • Test your alerts to ensure they’re firing as expected from real F5 metric changes.
  • Step 6: Share and Secure Your Dashboards
    • Use the Share button to export dashboards or provide direct URLs to stakeholders.
    • Set dashboard or folder permissions to control viewer/editor/admin access as per your organization’s needs.

With Grafana dashboards set up, you can visualize all key F5 BIG-IP metrics and logs, correlate events, and drive proactive responses to performance or security issues—empowering your network and AppSec teams with actionable insights.

Validation: Confirming Logging, Reporting, & Monitoring on F5 with Prometheus & Grafana

After configuring F5 logging, remote forwarding, SIEM integration, ASM logging, the Prometheus exporter, and Grafana dashboards, it’s essential to validate that each component is functioning correctly. Use these step-by-step CLI and GUI methods to verify end-to-end visibility and data flow.

  • Step 1: Verify Local Logging (GUI & CLI)
    • GUI: Go to System > Logs > Local Traffic or the desired log section. Confirm that new entries are appearing and reflect recent traffic or configuration actions.
    • CLI: SSH to the F5 device. Use:
      tail -f /var/log/ltm
      or for custom facilities:
      tail -f /var/log/local0.log
      Perform an action (e.g., reload a config or visit a VIP) and confirm the log file updates in real time.
  • Step 2: Validate Remote Logging & SIEM Forwarding (GUI & CLI)
    • GUI: In System > Logs > Configuration > Remote Logging, ensure that the intended remote servers show Status as active or connected if visible.
    • CLI: On the F5, run:
      tmsh list sys syslog | grep remote-servers -A 5
      to display configured remote servers. Then, on the SIEM or remote syslog server, run:
      tail -f /var/log/syslog or your SIEM’s log viewer.
      Trigger a test event and ensure the log appears remotely, with correct facility and format.
  • Step 3: Confirm ASM Logging (GUI & CLI)
    • GUI: Go to Security > Event Logs > Application > Requests. Trigger a test attack (e.g., SQL injection on a protected app). Confirm the violation is logged, including source IP, signature, and virtual server details.
    • CLI: Use:
      tail -f /var/log/asm
      Trigger a WAF event and confirm a new log entry is created immediately.
    • SIEM: Search for recent ASM events; verify fields are parsed and categorized.
  • Step 4: Verify Prometheus Metrics Scraping
    • CLI (Exporter Host): Test with:
      curl http://localhost:9779/metrics
      or
      curl http://EXPORTER-IP:9779/metrics
      Ensure you see F5 metrics like f5_cpu_usage_percent, f5_pool_member, etc.
    • Prometheus Web UI: Open Status > Targets. Confirm the F5 exporter target status is UP and scrape intervals are as expected.
  • Step 5: Confirm Grafana Dashboard Data
    • Open the relevant F5 dashboard in Grafana. Check panels for metrics like CPU, memory, throughput, health, and ASM events.
    • Refresh dashboards and induce test traffic on F5 to verify that charts update in near real-time.
    • Alerting (if configured): Trigger metrics that break thresholds and verify alerts fire as expected to designated channels.
  • Step 6: Cross-System Correlation Check
    • Time Synchronization: Confirm log timestamps and metric times align across F5, SIEM, Prometheus, and Grafana. This ensures troubleshooting and investigations are accurate.
    • Generate a simulated issue (e.g., failed login, DDoS attack). Track log and metric propagation end-to-end, from F5 local logs to SIEM entry to Grafana panel.

Repeat these validations after any significant configuration change, upgrade, or if issues are suspected. Thorough verification builds trust in your F5 visibility pipeline and empowers your team with reliable data for both operational monitoring and security response.

Troubleshooting: F5 Logging, SIEM, Prometheus & Grafana Integration

Even with careful setup, issues can arise in your F5 logging and monitoring pipeline. Use the checklist below—with both CLI and GUI steps—to identify and resolve the most common problems related to log forwarding, SIEM integration, and Prometheus/Grafana metrics collection and visualization.

  • Step 1: Local Logging Issues
    • Issue: Logs not appearing locally on F5.
    • CLI:
      • Check available disk space:
        df -h /var
      • View log file directly:
        tail -n 50 /var/log/ltm or tail -n 50 /var/log/local0.log
      • Restart syslog service if corruption or permissions are suspected:
        bigstart restart syslog-ng
    • GUI:
      • Navigate to System > Logs > Local Traffic to confirm recent events.
      • Ensure logging levels and facilities are set correctly in System > Logs > Configuration.
  • Step 2: Remote Logging/SIEM Forwarding Problems
    • Issue: Logs not arriving at remote syslog/SIEM.
    • CLI:
      • Check remote server config:
        tmsh list sys syslog
      • Test network connectivity (replace with SIEM IP):
        nc -vuz 10.20.30.50 514
      • Trigger a manual log entry:
        logger -p local0.info "Test syslog forwarding"
    • GUI:
      • Go to System > Logs > Configuration > Remote Logging – verify remote servers are configured and enabled.
      • Review Status fields (if present) to check for connection errors.
    • On SIEM/Remote Syslog:
      • Check log collector’s incoming logs for F5’s source IP.
      • Review parsing rules for any dropped/incorrectly tagged entries.
  • Step 3: ASM Logging Errors
    • Issue: No or incomplete ASM logs for violations/attacks.
    • CLI:
      • Check ASM log file:
        tail -f /var/log/asm
      • List and confirm applied logging profile:
        tmsh list ltm virtual <vs_name> profiles
      • Confirm log publisher config:
        tmsh list sys log-config publisher
    • GUI:
      • In Security > Event Logs > Logging Profiles, confirm your profile includes Application Security and proper destinations.
      • Under Local Traffic > Virtual Servers, check that the logging profile is assigned to the active virtual server.
      • Generate a violation (e.g., test attack) and check logs in Security > Event Logs > Application > Requests.
  • Step 4: Prometheus Exporter or Metrics Problems
    • Issue: No metrics in Prometheus; target shows "DOWN."
    • CLI (Exporter Host):
      • Check exporter process/container logs for errors.
      • Test metrics endpoint:
        curl http://localhost:9779/metrics
      • Validate F5 credentials and network access by pinging/tracerouting to F5’s management IP.
    • Prometheus Web UI:
      • Go to Status > Targets. Click on the F5 target for error messages (e.g., timeout, authentication).
      • If metrics are missing, check prometheus.yml for correct target IP and job configuration.
  • Step 5: Grafana Visualization Failures
    • Issue: Grafana panels are empty or erroring.
    • GUI (Grafana):
      • Navigate to Configuration > Data Sources. Test the Prometheus connection and correct the URL if needed.
      • Review dashboard variables and panel queries—ensure they match available F5 metric names.
      • View Dashboard Settings > JSON Model for troubleshooting custom dashboards.
    • CLI (Prometheus):
      • Query metrics directly using curl or the Prometheus web UI to confirm they are available.
      • Check Prometheus logs for scrape errors related to the F5 exporter.
  • Step 6: Time Synchronization & Data Correlation
    • Issue: Log/metric timestamps do not align across systems.
    • CLI (All systems):
      • Check NTP configuration and current time:
        timedatectl status or date
    • GUI (F5):
      • In System > Platform, verify NTP servers are set and synchronized.
  • Step 7: General Remediation Tips
    • Incrementally test after each configuration change.
    • Use logs from each component (F5, Prometheus, Exporter, Grafana, SIEM) for deeper troubleshooting.
    • Reboot F5 services or the device only as a last resort after confirming root cause.
    • Check F5 support resources or community forums for known issues or patches.

By systematically working through these steps—using both GUI and CLI—you can quickly isolate and resolve issues across your F5, SIEM, and observability stack, ensuring you get reliable insights and alerts from your network and application infrastructure.

Conclusion

In this blog post, we've explored a comprehensive approach to logging, reporting, and monitoring for F5 BIG-IP devices using modern, open-source tools like Prometheus and Grafana, alongside integrating with powerful SIEM platforms. You have gained insight into:

  • Local and Remote Logging: Ensuring critical system, traffic, and security events are reliably captured on-device and forwarded to centralized log management for enhanced visibility and compliance.
  • Sending Logs to SIEM: Setting up robust, secure pipelines to funnel F5 log data to SIEM tools for advanced threat detection, correlation, and auditing.
  • ASM Logging Configuration: Capturing detailed Application Security Manager events to monitor and react to web application threats in real time.
  • Enabling F5 Exporter for Prometheus: Connecting the F5 infrastructure to the Prometheus ecosystem for rich, real-time performance and health metrics collection.
  • Grafana Dashboards: Visualizing key device metrics and security events through customizable and intuitive dashboards, empowering operational teams to quickly identify trends and anomalies.
  • Validation and Troubleshooting: Applying best practices with GUI and CLI commands to verify configurations and systematically resolve common issues, ensuring continuous and accurate observability.

By following these steps, you equip your network and security teams with a scalable, flexible monitoring framework that provides actionable intelligence, reduces downtime, strengthens security posture, and supports compliance mandates.

Thank you for following this journey into F5 BIG-IP logging and monitoring. Happy monitoring, and here’s to more resilient, observable networks ahead! Feel free to reach out with any questions or share your own experiences.

Read next

F5 (FIPS) Federal Information Processing Standards

F5 (FIPS) Federal Information Processing Standards

F5 (FIPS) Federal Information Processing Standards Everything You Need to Know Table of Contents * Overview * Core Components * Prerequisites * Configuration * Validation * Troubleshooting * Implementation Risk Overview: What

Chase Woodard • • 7 min read
F5 (C3D) Client Certificate Constrained Delegation

F5 (C3D) Client Certificate Constrained Delegation

F5 (C3D) Client Certificate Constrained Delegation Everything You Need to Know Table of Contents: * Overview * Core Components * Prerequisites * Configuration * Validation * Troubleshooting * Conclusion This feature allows

Chase Woodard • • 8 min read
F5 LTM Pools

F5 LTM Pools

Guide to F5 LTM Pools Everything you need to know Table of Contents: * Create LTM Nodes * Create LTM Pools * View Existing Pools * View Pool Health

Chase Woodard • • 6 min read