Enabling the CEF formatted syslog appender
Steps
-
Uncomment the syslog failover appender references in the
apiaudit,engineaudit,agentaudit,sidebandclientaudit, andsidebandauditsections.Example:
In the
Audit log configurationsection of thelog4j2.xmlfile, go to theapiauditlogger configuration and uncomment the<AppenderRef ref="ApiAuditLogToCEF-Syslog-Failover"/>appender reference:Code
<!-- ======================= --> <!-- Audit log configuration --> <!-- ======================= --> <Logger name="apiaudit" level="${sys:pa.log.level.apiaudit:-INFO}" additivity="false"> <AppenderRef ref="APIAuditLog-File"/> <!--<AppenderRef ref="ApiAuditLog-Database-Failover"/>--> <!--<AppenderRef ref="ApiAuditLog-SQLServer-Database-Failover"/>--> <!--<AppenderRef ref="ApiAuditLog-PostgreSQL"/>--> <!--<AppenderRef ref="ApiAudit2Splunk"/>--> <!--<AppenderRef ref="ApiAuditLog-HarFile"/>--> <!--<AppenderRef ref="ApiAuditLogToCEF-File"/>--> <AppenderRef ref="ApiAuditLogToCEF-Syslog-Failover"/> </Logger>Repeat this with the
<AppenderRef ref="EngineAuditLogToCEF-Syslog-Failover"/>,<AppenderRef ref="AgentAuditLogToCEF-Syslog-Failover"/>,<AppenderRef ref="SidebandClientAuditLogToCEF-Syslog-Failover"/>, and<AppenderRef ref="SidebandAuditLogToCEF-Syslog-Failover"/>appender references. -
Uncomment the
Socketappender configurations in theApi Audit log : CEF Formatted syslog appender,Engine Audit log : CEF Formatted syslog appender,Agent Audit log : CEF Formatted syslog appender,SidebandClient Audit log : CEF Formatted syslog appender, andSideband Audit log : CEF Formatted syslog appendersections.Each
Socketappender is followed by two related appenders,RollingFileandPingFailover. Together, they create a runningaudit-cef-syslog-failover.logfile in the <PA_HOME>/log/pingaccess.log directory if CEF logging fails for any reason. If you uncomment theSocketappenders, make sure to uncomment the related appenders also.Example:
In the
Api Audit log : CEF Formatted syslog appendersection, uncomment theApiAuditLogToCEF-SyslogSocketappender configuration:Code
<!-- <Socket name="ApiAuditLogToCEF-Syslog" host="{syslog.host}" port="{syslog.port}" protocol="{syslog.protocol}" ignoreExceptions="false"> <PingSyslogLayout> <PatternLayout> <pattern>%escape{CEF}{CEF:0|Ping Identity|PingAccess|%X{AUDIT.paVersion}|%X{exchangeId}|API_AccessEvent|0|rt=%d{ISO8601} msg=%X{AUDIT.responseCode} duid=%X{AUDIT.subject} src=%X{AUDIT.client} requestMethod=%X{AUDIT.method} request=%X{AUDIT.requestUri} cs1Label=AuthenticationMechanism cs1=%X{AUDIT.authMech} cs2Label=RoundTripMS cs2=%X{AUDIT.roundTripMS} externalId=%X{AUDIT.trackingId} %n}</pattern> </PatternLayout> </PingSyslogLayout> </Socket> <RollingFile name="ApiAuditLogToCEF-Syslog-FILE" fileName="${sys:pa.home}/log/pingaccess_api_audit_cef_syslog_failover.log" filePattern="${sys:pa.home}/log/pingaccess_api_audit_cef_syslog_failover.%d{yyyy-MM-dd}.log" ignoreExceptions="false"> <PatternLayout> <pattern>%escape{CEF}{CEF:0|Ping Identity|PingAccess|%X{AUDIT.paVersion}|%X{exchangeId}|API_AccessEvent|0|rt=%d{ISO8601} msg=%X{AUDIT.responseCode} duid=%X{AUDIT.subject} src=%X{AUDIT.client} requestMethod=%X{AUDIT.method} request=%X{AUDIT.requestUri} cs1Label=AuthenticationMechanism cs1=%X{AUDIT.authMech} cs2Label=RoundTripMS cs2=%X{AUDIT.roundTripMS} externalId=%X{AUDIT.trackingId} %n}</pattern> </PatternLayout> <Policies> <TimeBasedTriggeringPolicy /> </Policies> </RollingFile> <PingAccessFailover name="ApiAuditLogToCEF-Syslog-Failover" primary="ApiAuditLogToCEF-Syslog" error="File"> <Failovers> <AppenderRef ref="ApiAuditLogToCEF-Syslog-FILE" /> </Failovers> </PingAccessFailover> -->Repeat this with the
EngineAuditLogToCEF-Syslog,AgentAuditLogToCEF-Syslog,SidebandClientAuditLogToCEF-Syslog, andSidebandAuditLogToCEF-Syslogappenders. -
In the
ApiAuditToCEF-Syslog,EngineAuditToCEF-Syslog,AgentAuditToCEF-Syslog,SidebandClientAuditToCEF-Syslog, andSidebandAuditToCEF-SyslogSocketappenders, replace the following placeholder parameter values:- syslog.host
-
The URL of your syslog host server.
- syslog.port
-
The port that your syslog host server uses.
- syslog.protocol
-
The protocol that your syslog host server uses. Valid values are UDP or TCP.
Only the TCP protocol supports failover.
-
Save and close the file.