Collect Cisco Firepower NGFW logs
This document explains how to ingest Cisco Firepower NGFW logs to Google Security Operations using the Bindplane agent.
Cisco Firepower Next-Generation Firewall generates logs for network connections, intrusion events, file and malware events, and security intelligence. The parser extracts fields using grok patterns and maps them to the Unified Data Model (UDM).
Before you begin
Make sure you have the following prerequisites:
- A Google SecOps instance
- Windows Server 2016 or later, or Linux host with
systemd - Network connectivity between the Bindplane agent and the Cisco Firepower device
- If running behind a proxy, ensure firewall ports are open per the Bindplane agent requirements
- Privileged access to a Cisco Firepower device
Get Google SecOps ingestion authentication file
- Sign in to the Google SecOps console.
- Go to SIEM Settings > Collection Agents.
- Download the Ingestion Authentication File
-
Save the file securely on the system where the Bindplane agent will be installed.
Get Google SecOps customer ID
- Sign in to the Google SecOps console.
- Go to SIEM Settings > Profile.
-
Copy and save the Customer IDfrom the Organization Detailssection.
Install the Bindplane agent
Install the Bindplane agent on your Windows or Linux operating system according to the following instructions.
Windows installation
- Open Command Promptor PowerShellas an administrator.
-
Run the following command:
msiexec / i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" / quiet -
Wait for the installation to complete.
-
Verify the installation by running:
sc query observiq-otel-collectorThe service should show as RUNNING.
Linux installation
- Open a terminal with root or sudo privileges.
-
Run the following command:
sudo sh -c " $( curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh ) " install_unix.sh -
Wait for the installation to complete.
-
Verify the installation by running:
sudo systemctl status observiq-otel-collectorThe service should show as active (running).
Additional installation resources
For additional installation options and troubleshooting, see Bindplane agent installation guide .
Configure Bindplane agent to ingest syslog and send to Google SecOps
Locate the configuration file
-
Linux:
sudo nano /etc/bindplane-agent/config.yaml -
Windows:
notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
Edit the configuration file
-
Replace the entire contents of
config.yamlwith the following configuration:receivers : udplog : listen_address : "0.0.0.0:514" exporters : chronicle/cisco_firepower_firewall : compression : gzip creds_file_path : '/etc/bindplane-agent/ingestion-auth.json' customer_id : '<customer_id>' endpoint : malachiteingestion-pa.googleapis.com log_type : CISCO_FIREPOWER_FIREWALL raw_log_field : body service : pipelines : logs/cisco_firepower_firewall_to_chronicle : receivers : - udplog exporters : - chronicle/cisco_firepower_firewall
Configuration parameters
Replace the following placeholders:
-
Receiver configuration:
-
listen_address: IP address and port to listen on:-
0.0.0.0to listen on all interfaces (recommended) - Port
514is the standard syslog port (requires root on Linux; use1514for non-root)
-
-
-
Exporter configuration:
-
creds_file_path: Full path to ingestion authentication file:- Linux:
/etc/bindplane-agent/ingestion-auth.json - Windows:
C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
- Linux:
-
customer_id: Customer ID copied from the Google SecOps console -
endpoint: Regional endpoint URL:- US:
malachiteingestion-pa.googleapis.com - Europe:
europe-malachiteingestion-pa.googleapis.com - Asia:
asia-southeast1-malachiteingestion-pa.googleapis.com - See Regional Endpoints for complete list
- US:
-
Save the configuration file
- After editing, save the file:
- Linux: Press
Ctrl+O, thenEnter, thenCtrl+X - Windows: Click File > Save
- Linux: Press
Restart the Bindplane agent to apply the changes
-
To restart the Bindplane agent in Linux, run the following command:
sudo systemctl restart observiq-otel-collector-
Verify the service is running:
sudo systemctl status observiq-otel-collector -
Check logs for errors:
sudo journalctl -u observiq-otel-collector -f
-
-
To restart the Bindplane agent in Windows, choose one of the following options:
-
Command Prompt or PowerShell as administrator:
net stop observiq-otel-collector && net start observiq-otel-collector -
Services console:
- Press
Win+R, typeservices.msc, and press Enter. - Locate observIQ OpenTelemetry Collector.
- Right-click and select Restart.
-
Verify the service is running:
sc query observiq-otel-collector -
Check logs for errors:
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
- Press
-
Configure syslog on Cisco Firepower device
- Sign in to the Firepower Device Manager web UI.
- Go to System Settings > Logging Settings.
- Switch to Enablethe Data Loggingtoggle.
- Click the +icon under Syslog Servers.
- Click Create new Syslog Server(alternatively, create the Syslog Server in Objects > Syslog Servers).
- Provide the following configuration details:
- IP Address: Enter the Bindplane agent IP address.
- Protocol Type: Select UDP.
- Port Number: Enter the Bindplane agent port number.
- Select Data Interfaceor Management Interface.
- Click OK.
- Select the newly created Syslog serverfrom the list and click OK.
- Click Severity level for filtering all eventsand select Informationallogging level from the list.
- Click Save.
- Click the Deploy New Settings icon > Deploy Now.
- Click Policiesat the top of the screen.
- Hold the pointer over the side of the ACP ruleand click Edit.
- Go to the Loggingtab.
- Select At End of Connection.
- Open the Select a Syslog Alert Configurationlist.
- Select the Bindplane Syslog Server.
- Click OK.
- Click the Deploy New Settings icon > Deploy Now.
UDM mapping table
| Log field | UDM mapping | Remark |
|---|---|---|
act
|
security_result.action_details
|
For event IDs 313001
, 746014
. |
Addr
|
principal.ip principal.asset.ip
|
For event ID 734001
. |
address
|
principal.ip principal.asset.ip
|
For event ID 746014
. |
action
|
metadata.ingestion_labels
|
For event IDs 313001
, 746014
. |
ap
|
metadata.ingestion_labels
|
|
api
|
metadata.ingestion_labels
|
|
Assigned Ip
|
principal.ip principal.asset.ip
|
For event IDs 109201
, 109210
, 109207
. |
assigned_ip
|
principal.ip principal.asset.ip
|
For event IDs 109201
, 109210
, 109207
. |
bytes
|
network.received_bytes
|
|
centry_addr
|
metadata.ingestion_labels
|
|
Client
|
network.http.parsed_user_agent
|
|
client_ip
|
principal.ip principal.asset.ip
|
|
COMMAND
|
principal.process.command_line
|
For the useradd
log type, which is event ID 199017
. |
command_line
|
principal.process.command_line
|
|
connection_type
|
metadata.ingestion_labels
|
For event ID 734001
. |
ConnectionID
|
network.session_id
|
|
ConnectType
|
metadata.ingestion_labels
|
|
cribl_pipe
|
additional.fields
|
|
DE
|
metadata.ingestion_labels
|
|
desc
|
metadata.description
|
For event IDs 109201
, 109210
, 109207
. |
desc1
|
metadata.description
|
|
desc_data
|
metadata.description
|
|
description
|
metadata.description
|
|
dest_addr
|
target.ip target.asset.ip
|
For event ID 602101
. |
device_uuid
|
metadata.product_log_id
|
Retrieved from JSON logs, where it indicates product ID details. |
DeviceUUID
|
principal.resource.product_object_id
|
Retrieved from syslog, which has the resource ID. |
direction
|
network.direction
|
For event ID 302020
. |
DNSResponseType
|
network.dns.response_code
|
|
DNSSICategory
|
security_result.category_details
|
|
dpt
|
target.port
|
|
dst management IP
|
target.ip target.asset.ip
|
For event ID 418001
. |
dst management Port
|
target.port
|
For event ID 418001
. |
DstIP
|
target.ip
|
For event ID 713906
. |
dst_ip_range
|
target.network.ip_subnet_range
|
For event IDs 418001
. 750001
, 750003
, 751002
, 750014
. |
DstPort
|
target.port
|
For event ID 713906
. |
duration
|
network.session_duration.seconds
|
Can be accessed in seconds. |
euid
|
metadata.ingestion_labels
|
|
event_name
|
metadata.product_event_type
|
|
eventId
|
metadata.ingestion_labels
metadata.product_event_type
|
|
exe
|
principal.process.command_line
|
|
exitcode
|
metadata.ingestion_labels
|
|
faddr
|
target.ip
(outbound)principal.ip
(inbound) |
For event ID 302020
. |
fdqn
|
principal.hostname
|
For event ID 746014
. |
firewall
|
principal.ip
principal.asset.ip
|
|
flag
|
metadata.ingestion_labels
|
For event ID 500003
. |
fport
|
target.port
(outbound)principal.port
(inbound) |
For event ID 302020
. |
from
|
network.email.from
|
For the useradd
log type, which is event ID 199017
. |
fromIP
|
principal.ip
principal.asset.ip
|
For event ID 500003
. |
fromPort
|
principal.port
|
For event ID 500003
. |
gaddr
|
target.nat_port
(outbound)principal.nat_port
(inbound) |
For event ID 302020
. |
GID
|
target.group.product_object_id
|
For the useradd
log type, which is event ID 199017
. |
group_id
|
target.group.group_display_name
|
|
hdrlen
|
metadata.ingestion_labels
|
For event ID 500003
. |
home
|
metadata.ingestion_labels
|
For the useradd
log type, which is event ID 199017
. |
host
|
principal.ip/hostname
principal.hostname
principal.asset.hostname
|
|
host_name
|
principal.hostname
|
|
HTTP_Hostname
|
target.resource.attribute.labels
|
|
HTTP_URI
|
target.resource.attribute.labels
|
|
icmp_code
|
metadata.ingestion_labels
|
For event ID 313001
. |
icmp_type
|
metadata.ingestion_labels
|
For event ID 313001
. |
interface
|
metadata.ingestion_labels
|
For event ID 313004
. |
interface_name
|
metadata.ingestion_labels
|
For event IDs 313001
, 500003
. |
intermediary_host
|
intermed.hostname
intermed.asset.hostname
|
|
intermediary_ip
|
intermediary.ip
|
For event ID 713906
. |
ipp
|
principal.ip
|
|
IPReputationSICategory
|
security_result.category_details
|
|
kernel_value
|
additional.fields
|
|
laddr
|
principal.ip
(outbound)target.ip
(inbound) |
For event ID 302020
, and mapped based on the direction (inbound or outbound). |
laddr
|
principal.ip
principal.asset.ip
|
For event ID 313004
. |
Local
|
principal.ip
principal.asset.ip
|
For event IDs 750001
, 750003
, 751002
, 750014
. |
Local_port
|
principal.port
|
For event IDs 750001
, 750003
, 751002
, 750014
. |
mailsize
|
network.sent_bytes
|
|
msgid
|
metadata.ingestion_labels
|
|
mtu_size
|
metadata.ingestion_labels
|
For event ID 602101
. |
name
|
target.user.user_display_name
|
For the useradd
log type, which is event ID 199017
. |
NETWORK_SUSPICIOUS
|
SecCategory
( security_result.category
) |
For event ID 430001
. |
os
|
principal.platform_version
|
|
osuser
|
principal.user.user_display_name
|
|
packet_size
|
metadata.ingestion_labels
|
For event ID 602101
. |
path
|
principal.process.file.full_path
|
|
pid
|
principal.process.pid
|
|
pktlen
|
metadata.ingestion_labels
|
For event ID 500003
. |
Policy
|
security_result.rule_labels
|
|
prin_ip
|
principal.ip
principal.asset.ip
|
Retrieved from desc_data
(using the logic:"desc_data" => "(?P<desc>.* %{IP:prin_ip}.*)"
). |
prin_user
|
principal.user.userid
|
|
product
|
security_result.summary
|
For event IDs 430002
, 430003
. |
prot
|
network.ip_protocol
|
For event ID 602101
. |
Protocol
|
network.ip_protocol
|
For event IDs 302020
, 313001
, 313004
, 418001
, |
protocol
|
network.app_protocol
|
For event ID 713906
. |
protocol
|
network.ip_protocol
network.application_protocol
|
For when the log-field value is an application or IP protocol. |
PWD
|
principal.process.file.full_path
|
For the useradd
log type, which is event ID 199017
. |
reason
|
security_result.detection_fields
|
|
recipients
|
network.email.to
|
|
Remote
|
target.ip
target.asset.ip
|
For event IDs 750001
, 750003
, 751002
, 750014
. |
Remote_port
|
target.port
|
For event IDs 750001
, 750003
, 751002
, 750014
. |
Revision
|
security_result.detection_fields
|
|
sec_desc
|
security_result.description
|
|
SecIntMatchingIP
|
metadata.ingestion_labels
|
|
SecRuleName
|
security_result.rule_name
|
For event ID 734001
. |
seq_num
|
security_result.detection_fields
|
|
Session
|
network.session_id
|
For event IDs 109201
, 109210
, 109207
. |
session_id
|
network.session_id
|
|
severity
|
security_result.summary
|
For event IDs 430002
, 430003
. |
shell
|
metadata.ingestion_labels
|
For the useradd
log type, which is event ID 199017
. |
Sinkhole
|
metadata.ingestion_labels
|
|
smtpmsg
|
network.smtp.server_response
|
|
smtpstatus
|
network.http.response_code
|
|
sourceIpAddress
|
principal.ip
|
For event ID 713906
. |
source_ip
|
principal.ip
principal.asset.ip
|
|
spt
|
principal.port
|
|
src management IP
|
principal.ip
principal.asset.ip
|
For event ID 418001
. |
src management Port
|
principal.port
|
For event ID 418001
. |
src_addr
|
principal.ip
principal.asset.ip
|
For event ID 602101
. |
src_app
|
principal.application
|
|
src_fwuser
|
principal.hostname
|
For when src_fwuser
is in the host
format. |
src_fwuser
|
principal.administrative_domain
principal.hostname
|
For when src_fwuser
is in the domain
or host
format. |
src_host
|
principal.hostname
principal.asset.hostname
|
|
src_interface_name
|
metadata.ingestion_labels
|
|
SrcIP
|
principal.ip
|
For event ID 713906
. |
src_ip
|
principal.ip
principal.asset.ip
|
|
src_ip_range
|
principal.network.ip_subnet_range
|
For event IDs 750001
, 750003
, 751002
, 750014
. |
src_port
|
principal.port
|
|
SrcPort
|
principal.port
|
For event ID 713906
. |
srcuser
|
principal.user.userid
principal.user.user_display_name metadata.event_type
|
The value for metadata.event_type
is USER_UNCATEGORIZED
. |
sshd
|
principal.application
|
|
syslog_msg_id
|
For event ID 716001
. |
|
syslog_msg_text
|
security_result.description
|
|
tag
|
security_result.detection_fields
|
|
tar_ip
|
target.ip target.asset.ip
|
|
tar_port
|
target.port
|
|
TCPFlags
|
metadata.ingestion_labels
|
|
thread
|
metadata.ingestion_labels
|
|
timezoneadjustment
|
metadata.ingestion_labels
|
|
tls
|
network.smtp.is_tls
|
|
to
|
target.ip target.asset.ip
|
For event ID 313004
. |
toIP
|
target.ip target.asset.ip
|
For event ID 500003
. |
TRUE
|
is_significant
|
For event ID 430001
. |
toPort
|
target.port
|
For event ID 500003
. |
ts
|
metadate.event_timestamp
|
|
ts_year
|
metadate.event_timestamp
|
For event ID 430001
. |
tty
|
metadata.ingestion_labels
|
|
TTY
|
metadata.ingestion_labels
|
For the useradd
log type, which is event ID 199017
. |
uid
|
metadata.ingestion_labels
|
|
UID
|
target.user.userid
|
For the useradd
log type, which is event ID 199017
. |
URLSICategory
|
security_result.category_details
|
|
USER
|
target.user.userid
|
For the useradd
log type, which is event ID 199017
. |
USER
|
principal.user.userid
|
For all log types other than the useradd
log type. |
User
|
target.user.userid
|
For event IDs 109201
, 109210
, 109207
, 734001
. |
user
|
principal.user.userid
|
|
user_name
|
principal.user.email_addresses
|
|
UserAgent
|
network.http.user_agent
network.http.parsed_user_agent
|
|
Username
|
principal.user.userid
|
For event IDs 750001
, 750003
, 751002
, 750014
. |
username
|
target.user.userid
|
|
username_Id
|
target.user.userid
|
|
version
|
metadata.ingestion_labels
|
UDM mapping delta reference
On November 6, 2025, Google SecOps released a new version of the Cisco Firepower NGFW parser, which includes significant changes to the mapping of Cisco Firepower NGFW log fields to UDM fields and changes to the mapping of event types.
Log-field mapping delta
The following table lists the mapping delta for Cisco Firepower NGFW log-to-UDM fields exposed prior to November 6, 2025 and subsequently (listed in the Old mappingand Current mappingcolumns respectively).
| Log field | Old mapping | Current mapping |
|---|---|---|
act
|
security_result.description
|
security_result.action_details
|
action
|
product_event_type
|
metadata.ingestion_labels
|
DeviceUUID
|
principal.resource.id
|
principal.resource.product_object_id
|
dpt
|
security_result.detection_fields
|
target.port
|
flag
|
about.labels
|
metadata.ingestion_labels
|
pid
|
principal.port
|
principal.process.pid
|
Revision
|
security_result.about.labels
|
security_result.detection_fields
|
spt
|
security_result.detection_fields
|
principal.port
|
username
|
principal.user.userid
|
target.user.userid
|
Event-type mapping delta
Multiple events that were classified before as generic event are now properly classified with meaningful event types.
The following table lists the delta for the handling of Cisco Firepower NGFW event types prior to November 6, 2025 and subsequently (listed in the Old event_typeand Current event-typecolumns respectively).
| Event ID from log | Old event_type | Current event_type |
|---|---|---|
113003
|
GENERIC_EVENT
|
USER_UNCATEGORIZED
|
113009
|
GENERIC_EVENT
|
STATUS_UPDATE
|
113010
|
GENERIC_EVENT
|
USER_LOGIN
|
113039
|
GENERIC_EVENT
|
USER_LOGIN
|
302020
|
STATUS_UPDATE
|
NETWORK_CONNECTION
|
313001
|
GENERIC_EVENT
|
STATUS_UPDATE
|
313004
|
GENERIC_EVENT
|
NETWORK_CONNECTION
|
430002
|
NETWORK_CONNECTION
|
NETWORK_DNS
|
430003
|
NETWORK_CONNECTION
|
NETWORK_DNS
|
500003
|
GENERIC_EVENT
|
NETWORK_CONNECTION
|
602101
|
STATUS_UPDATE
|
NETWORK_CONNECTION
|
713906
|
STATUS_UPDATE
|
NETWORK_CONNECTION
|
722051
|
GENERIC_EVENT
|
STATUS_UPDATE
|
750003
|
STATUS_UPDATE
|
NETWORK_CONNECTION
|
msmtp
|
STATUS_UPDATE
|
EMAIL_TRANSACTION
|
Need more help? Get answers from Community members and Google SecOps professionals.

