Panther supports ingesting Zscaler Private Access (ZPA) logs by using either an HTTP or AWS S3 Data Transport source. The following ZPA log types are supported:
In order to onboard Zscaler ZPA logs in Panther, you must have a subscription to Zscaler ZPA.
How to onboard Zscaler ZPA logs to Panther
To ingest ZPA logs in Panther, you will create a log source in Panther, then configure App Connectors and Log Receivers.
Prerequisites
You must have permission to access the Zscaler ZPA console.
Step 1: Set up a Zscaler ZPA source in Panther
In the left-hand navigation bar of your Panther Console, click Configure > Log Sources.
In the top right, click Create New.
Search for "Zscaler ZPA", then click its tile.
In the Transport Mechanism dropdown in the slide-out panel, select the Data Transport method you'd like to use for this integration: AWS S3 Bucket or HTTP.
This selection depends on how you'd like to configure your Log Receiverto forward logs(in Step 3)—either to a Panther HTTP endpoint, or to an S3 bucket in your environment, which Panther then pulls from.
Click Start Setup.
Follow Panther's instructions for configuring the Data Transport method you chose:
If you already have App Connectors deployed as part of your existing Zscaler infrastructure, you can also use them for forwarding logs to Panther. In that case, you can skip this step.
You can monitor the status of your App Connector instances in your ZPA console by navigating to Configuration & Control > Private Infrastructure > App Connectors.
Step 3: Configure one or more Log Receivers
A Log Receiveris any storage location that can receive TCPtraffic with ZPA logs from your App Connectors, then forward them to your HTTP or S3 log source in Panther.
It's recommended to use Fluent Bit as your Log Receiver, but you may use a different Log Receiver depending on your needs. The instruction set below assumes you are using Fluent Bit.
Step 3.1: Deploy a Fluent Bit service
If you are using HTTP as your Data Transport:
Follow the Fluent Bit Onboarding guide in the Panther docs, skipping Steps 1 and 2. (You will use the ZPA HTTP source you have already created.)
In the [INPUT] variables:
Name: Set this to to tcp
Listen: Set to 0.0.0.0
Tag: Set to tcp_log
Port: Set to your desired port
Format: Set to none
You can optionally enable TLS for your TCP input by adding the following entries to the [INPUT] variables:
You can optionally enable TLS between your TCP input by adding the following entries to the [INPUT] variables:
tls:on
tls.verify: on
tls.key_file: {tls_key_path}
tls.cert_file: {certificate_path}
Step 3.2: Configure one or more Log Receivers in ZPA
You must create a separate Log Receiver for each log type you'd like to forward to Panther. (For all of these log types, you can use the same Fluent Bit instance and log source [HTTP endpoint or S3 bucket] in Panther.)
For each log type you'd like to ingest in Panther, add a log receiver by following the instructions in the Zscaler Configuring a Log Receiver documentation. Take note of the following input guidelines:
On the Log Receiver tab:
Domain or IP Address:Enter the domain or IP of your Fluent Bit service.
TCP Port:Enter the port the Fluent Bit service is running at.
TLS Encryption: Select Enabled if you require TLS encryption for the data sent to your Fluent Bit input, and you have enabled it in the Fluent Bit configuration file in the previous step.
The Audit log records key events in the ZPA Console, such as logins, logouts, and resource actions (like create and update). The Audit log is primarily used to investigate potentially suspicious activity or diagnose and troubleshoot errors.
schema:Zscaler.ZPA.AuditLogdescription:Zscaler ZPA Audit LogreferenceURL:https://help.zscaler.com/zpa/about-audit-log-fieldsfields: - name:ModifiedTimedescription:The time when the object was last modified.type:timestamptimeFormats: - rfc3339 - name:CreationTimerequired:truedescription:The time when the log was generated.type:timestamptimeFormats: - rfc3339isEventTime:true - name:ModifiedByrequired:truedescription:The ID of the user who modified the object.type:string - name:RequestIDdescription:The unique ID associated with the request.type:string - name:SessionIDdescription:The ID of the user session.type:string - name:AuditOldValuedescription:The previous value before the change.type:json - name:AuditNewValuedescription:The new value after the change.type:json - name:AuditOperationTyperequired:truedescription:The action performed.type:string - name:ObjectTypedescription:The location within the ZPA Admin Portal where the Action was performed.type:string - name:ObjectNamedescription:The name of the object being affected.type:string - name:ObjectIDdescription:The ID of the affected object.type:string - name:CustomerIDdescription:The ZPA tenant ID of the customer.type:string - name:Userdescription:The username of the admin associated with the audit action.type:stringindicators: - email - username - actor_id - name:ClientAuditUpdatedescription:Indicates whether the client audit was updated. Value is either 0 or 1.type:bigint
Zscaler.ZPA.UserActivity
The User Activity log captures and records various activities performed by users when they access internal applications via the ZPA service. The User Activity log can be used to investigate unauthorized access attempts, perform compliance monitoring, and identify unusual application access patterns.
schema:Zscaler.ZPA.UserActivitydescription:Zscaler ZPA User Activity logreferenceURL:https://help.zscaler.com/zpa/about-user-activity-log-fieldsfields: - name:LogTimestamprequired:truedescription:Timestamp when the log was generated.type:timestamptimeFormats: - '%a %b %e %H:%M:%S %Y'isEventTime:true - name:Customerrequired:truedescription:The name of the customer.type:string - name:SessionIDdescription:The TLS session ID.type:string - name:ConnectionIDdescription:The application connection ID.type:string - name:InternalReasonrequired:truedescription:The internal reason for the status of the transaction.type:string - name:ConnectionStatusdescription:'The status of the connection. The expected values for this field are: Open, Close, Active.'type:string - name:IPProtocoldescription:The IP protocol number.type:bigint - name:DoubleEncryptiondescription:The double encryption status.type:bigint - name:Usernamerequired:truedescription:The user name as entered into the Zscaler Client Connector.type:stringindicators: - username - name:ServicePortdescription:The service port associated with the application request.type:bigint - name:ClientPublicIPdescription:The public IP address of the Zscaler Client Connector.type:stringindicators: - ip - name:ClientPrivateIPdescription:The private IP address of the Zscaler Client Connector.type:stringindicators: - ip - name:ClientLatitudedescription:The latitude coordinate of the Zscaler Client Connector location.type:float - name:ClientLongitudedescription:The longitude coordinate of the Zscaler Client Connector location.type:float - name:ClientCountryCodedescription:The country code of the Zscaler Client Connector location.type:string - name:ClientZENdescription:The ZPA Public Service Edge that received the request from the Zscaler Client Connector.type:string - name:Policydescription:The access policy rule name.type:bigint - name:Connectordescription:The App Connector name.type:string - name:ConnectorZENdescription:The ZPA Public Service Edge that sent the request from the App Connector.type:string - name:ConnectorIPdescription:The source IP address of the App Connector.type:stringindicators: - ip - name:ConnectorPortdescription:The port number used by the connector.type:bigint - name:Hostdescription:The host domain or IP address.type:stringindicators: - hostname - name:Applicationdescription:The application name.type:string - name:AppGroupdescription:The application group name.type:string - name:Serverdescription:The server ID name. The server ID will be set to zero if dynamic server discovery is enabled.type:string - name:ServerIPdescription:The destination IP address of the server.type:stringindicators: - ip - name:ServerPortdescription:The destination port of the server.type:bigint - name:PolicyProcessingTimedescription:Time in microseconds taken for processing the access policy associated with the application.type:bigint - name:ServerSetupTimedescription:Time in microseconds taken for setting up connection at server.type:bigint - name:TimestampConnectionStart description: Timestamp when the ZPA Public Service Edge or ZPA Private Service Edge received the initial request from Zscaler Client Connector to start the connection.
type:timestamptimeFormats: - rfc3339 - name:TimestampConnectionEnddescription:Timestamp when the ZPA Public Service Edge or ZPA Private Service Edge terminated the connection.type:timestamptimeFormats: - rfc3339 - name:TimestampCATx description: Timestamp when the central authority sent request to ZPA Public Service Edge or ZPA Private Service Edge.
type:timestamptimeFormats: - rfc3339 - name:TimestampCARx description: Timestamp when the central authority received request from ZPA Public Service Edge or ZPA Private Service Edge.
type:timestamptimeFormats: - rfc3339 - name:TimestampAppLearnStartdescription:Timestamp when ZPA services start the process to learn about an application.type:timestamptimeFormats: - rfc3339 - name:TimestampZENFirstRxClientdescription:Timestamp when the ZPA Public Service Edge received the first byte from the Zscaler Client Connector.type:timestamptimeFormats: - rfc3339 - name:TimestampZENFirstTxClientdescription:Timestamp when the ZPA Public Service Edge sent the first byte to the Zscaler Client Connector.type:timestamptimeFormats: - rfc3339 - name:TimestampZENLastRxClientdescription:Timestamp when the ZPA Public Service Edge received the last byte from the Zscaler Client Connector.type:timestamptimeFormats: - rfc3339 - name:TimestampZENLastTxClientdescription:Timestamp when the ZPA Public Service Edge sent the last byte to the Zscaler Client Connector.type:timestamptimeFormats: - rfc3339 - name:TimestampConnectorZENSetupComplete description: Timestamp when the ZPA Public Service Edge received request from App Connector to set up data connection.
type:timestamptimeFormats: - rfc3339 - name:TimestampZENFirstRxConnectordescription:Timestamp when the ZPA Public Service Edge received the first byte from the App Connector.type:timestamptimeFormats: - rfc3339 - name:TimestampZENFirstTxConnectordescription:Timestamp when the ZPA Public Service Edge sent the first byte to the App Connector.type:timestamptimeFormats: - rfc3339 - name:TimestampZENLastRxConnectordescription:The timestamp of the last received packet from the connector.type:timestamptimeFormats: - rfc3339 - name:TimestampZENLastTxConnectordescription:Timestamp when the ZPA Public Service Edge sent the last byte to the App Connector.type:timestamptimeFormats: - rfc3339 - name:ZENTotalBytesRxClientdescription:The total bytes received from the Zscaler Client Connector by the ZPA Public Service Edge.type:bigint - name:ZENBytesRxClientdescription:Bytes received from the client during the session.type:bigint - name:ZENTotalBytesTxClientdescription:The total bytes transmitted to the Zscaler Client Connector from the ZPA Public Service Edge.type:bigint - name:ZENBytesTxClientdescription:The additional bytes transmitted to the Zscaler Client Connector since the last transaction log.type:bigint - name:ZENTotalBytesRxConnectordescription:Total bytes received from the connector.type:bigint - name:ZENBytesRxConnectordescription:The total bytes received from the App Connector by the ZPA Public Service Edge.type:bigint - name:ZENTotalBytesTxConnectordescription:The total bytes transmitted to the App Connector from the ZPA Public Service Edge.type:bigint - name:ZENBytesTxConnectordescription:The additional bytes transmitted by the App Connector since the last transaction log.type:bigint - name:Idpdescription:The name of the identity provider (IdP) as configured in the ZPA Admin Portal.type:string - name:ClientToClientdescription:The status of the client-to-client connection.type:string - name:ClientCitydescription:The city of the client.type:string - name:MicroTenantIDdescription:The Microtenant ID of the user accessing the application.type:string - name:AppMicroTenantIDdescription:The Microtenant ID of the application.type:string
Zscaler.ZPA.UserStatus
The User Status log provides detailed information about the connection and status of users within the ZPA environment. It helps with monitoring users’ real-time access behavior, diagnosing connectivity issues, and tracking overall system health from a user perspective.
schema:Zscaler.ZPA.UserStatusdescription:Zscaler ZPA User Status logreferenceURL:https://help.zscaler.com/zpa/about-user-status-log-fieldsfields: - name:LogTimestamprequired:truedescription:Timestamp when the log was generated.type:timestamptimeFormats: - '%a %b %e %H:%M:%S %Y'isEventTime:true - name:Customerrequired:truedescription:The name of the customer.type:string - name:Usernamerequired:truedescription:The user name.type:stringindicators: - username - name:SessionIDdescription:The TLS session ID.type:string - name:SessionStatusdescription:The status of the session.type:string - name:Versiondescription:The Zscaler Client Connector version.type:string - name:ZENdescription:The ZPA Public Service Edge that was selected for the connection.type:string - name:CertificateCNdescription:The certificate common name.type:string - name:PrivateIPdescription:The private IP address of the Zscaler Client Connector.type:stringindicators: - ip - name:PublicIPrequired:truedescription:The public IP address of the Zscaler Client Connector.type:stringindicators: - ip - name:Latitudedescription:The latitude coordinate of the Zscaler Client Connector location.type:float - name:Longitudedescription:The longitude coordinate of the Zscaler Client Connector location.type:float - name:CountryCodedescription:The country code of the Zscaler Client Connector location.type:string - name:TimestampAuthenticationdescription:Timestamp when the Zscaler Client Connector was authenticated.type:timestamptimeFormats: - rfc3339 - name:TimestampUnAuthenticationdescription:Timestamp when the Zscaler Client Connector was unauthenticated.type:timestamptimeFormats: - rfc3339 - name:TotalBytesRxdescription:The total bytes received.type:bigint - name:TotalBytesTxdescription:The total bytes transmitted.type:bigint - name:Idpdescription:The name of the identity provider (IdP) as configured in the ZPA Admin Portal.type:string - name:Hostnamedescription:The name of the device as reported by the Zscaler Client Connector.type:stringindicators: - hostname - name:Platformdescription:The platform on the device as reported by the Zscaler Client Connector.type:string - name:ClientTypedescription:The client type for the request.type:string - name:TrustedNetworks description: The unique IDs for the trusted networks that the Zscaler Client Connector has determined for this device.
type:arrayelement:type:string - name:TrustedNetworksNamesdescription:The names for the trusted networks that the Zscaler Client Connector has determined for this device.type:arrayelement:type:string - name:SAMLAttributesdescription:The list of SAML attributes reported by the IdP.type:string - name:PosturesHitdescription:The posture profiles that the Zscaler Client Connector verified for this device.type:arrayelement:type:string - name:PosturesMissdescription:The posture profiles that the Zscaler Client Connector failed to verified for this device.type:arrayelement:type:string - name:ZENLatitudedescription:The latitude coordinates for the ZPA Public Service Edge.type:float - name:ZENLongitudedescription:The longitude coordinates for the ZPA Public Service Edge.type:float - name:ZENCountryCodedescription:The country code for the ZPA Public Service Edge.type:string - name:FQDNRegistereddescription:The status of the hostname for the client-to-client connection.type:string - name:FQDNRegisteredErrordescription:The status of the registered hostname.type:string - name:Citydescription:The city of the client.type:string - name:MicroTenantIDdescription:The Microtenant ID of the user accessing the application.type:string
Zscaler.ZPA.AppConnectorStatus
The App Connector Status log provides detailed information about the health, status, and operational behavior of App Connectors. Monitoring these logs helps administrators ensure that App Connectors are operating efficiently, troubleshoot issues, maintain service reliability, and detect potential security incidents, such as attacks or misuse of applications.
schema:Zscaler.ZPA.AppConnectorStatusdescription:Zscaler ZPA App Connector Status logreferenceURL:https://help.zscaler.com/zpa/about-connector-status-log-fieldsfields: - name:LogTimestamprequired:truedescription:Timestamp when the log was generated.type:timestamptimeFormats: - '%a %b %e %H:%M:%S %Y'isEventTime:true - name:Customerrequired:truedescription:The name of the customer.type:string - name:SessionIDdescription:The TLS session ID.type:string - name:SessionTypedescription:The type of session.type:string - name:SessionStatusdescription:The status of the session.type:string - name:Versiondescription:The App Connector package version.type:string - name:Platformdescription:The host platform.type:string - name:ZENdescription:The ZPA Public Service Edge that was selected for the connection.type:string - name:Connectorrequired:truedescription:The App Connector name.type:string - name:ConnectorGrouprequired:truedescription:The App Connector group name.type:string - name:PrivateIPdescription:The private IP address of the App Connector.type:stringindicators: - ip - name:PublicIPdescription:The public IP address of the App Connector.type:stringindicators: - ip - name:Latitudedescription:The latitude coordinate of the App Connector location.type:float - name:Longitudedescription:The longitude coordinate of the App Connector location.type:float - name:CountryCodedescription:The country code.type:string - name:TimestampAuthenticationdescription:Timestamp when the App Connector was authenticated.type:timestamptimeFormats: - rfc3339 - name:TimestampUnAuthenticationdescription:Timestamp when the App Connector was unauthenticated.type:timestamptimeFormats: - rfc3339 - name:CPUUtilizationdescription:The CPU utilization in %.type:bigint - name:MemUtilizationdescription:The memory utilization in %.type:bigint - name:ServiceCountdescription:The number of services being monitored by the App Connector.type:bigint - name:InterfaceDefRoutedescription:The name of the interface to default route.type:string - name:DefRouteGWdescription:The IP address of the gateway to default route.type:stringindicators: - ip - name:PrimaryDNSResolverdescription:The IP address of the primary DNS resolver.type:stringindicators: - ip - name:HostStartTimedescription:Time in seconds at which host was started.type:bigint - name:ConnectorStartTimedescription:Time in seconds at which the App Connector was started.type:bigint - name:NumOfInterfacesdescription:The number of interfaces on the App Connector host.type:bigint - name:BytesRxInterfacedescription:The bytes received on the interface.type:bigint - name:PacketsRxInterfacedescription:The packets received on the interface.type:bigint - name:ErrorsRxInterfacedescription:The errors received on the interface.type:bigint - name:DiscardsRxInterfacedescription:The discards received on the interface.type:bigint - name:BytesTxInterfacedescription:The bytes transmitted on the interface.type:bigint - name:PacketsTxInterfacedescription:The packets transmitted on the interface.type:bigint - name:ErrorsTxInterfacedescription:The errors transmitted on the interface.type:bigint - name:DiscardsTxInterfacedescription:The discards transmitted on the interface.type:bigint - name:TotalBytesRxdescription:The total bytes received.type:bigint - name:TotalBytesTxdescription:The total bytes transmitted.type:bigint - name:MicroTenantIDdescription:The Microtenant ID of the user accessing the application.type:string
Zscaler.ZPA.AppConnectorMetrics
The App Connector Metrics log provides detailed information about the operational status and performance of an App Connector. Monitoring these logs can help administrators diagnose key security cases such as resource exhaustion (e.g., DDoS attacks), unauthorized access, data exfiltration attempts, and compromised connectors.
schema:Zscaler.ZPA.AppConnectorMetricsdescription:Zscaler ZPA App Connector Metrics logreferenceURL:https://help.zscaler.com/zpa/about-app-connector-metrics-log-fieldsfields: - name:LogTimestamprequired:truedescription:Timestamp when the log was generated.type:timestamptimeFormats: - '%a %b %e %H:%M:%S %Y'isEventTime:true - name:Connectorrequired:truedescription:The App Connector name.type:string - name:CPUUtilizationdescription:The maximum CPU usage in the past 5 minutes.type:bigint - name:SystemMemoryUtilizationdescription:The memory utilization of the entire VM.type:bigint - name:ProcessMemoryUtilizationdescription:The memory utilization of the App Connector process.type:bigint - name:AppCountrequired:truedescription:The number of Applications configured for access via this App Connector.type:bigint - name:ServiceCountdescription:The number of services configured for access via this App Connector.type:bigint - name:TargetCountdescription:The number of targets configured for access via this App Connector.type:bigint - name:AliveTargetCountdescription:The number of targets alive for access via this App Connector.type:bigint - name:ActiveConnectionsToPublicSEdescription:The number of active Microtunnel (M-tunnel) connections to the ZPA Public Service Edge.type:bigint - name:DisconnectedConnectionsToPublicSEdescription:The number of disconnected Microtunnel (M-tunnel) connections to the ZPA Public Service Edge.type:bigint - name:ActiveConnectionsToPrivateSEdescription:The number of active Microtunnel (M-tunnel) connections to the ZPA Private Service Edge.type:bigint - name:DisconnectedConnectionsToPrivateSEdescription:The number of disconnected Microtunnel (M-tunnel) connections to the ZPA Private Service Edge.type:bigint - name:TransmittedBytesToPublicSEdescription:The number of bytes transmitted by the App Connector to the ZPA Public Service Edge.type:bigint - name:ReceivedBytesFromPublicSEdescription:The number of bytes received by the App Connector from the ZPA Public Service Edge.type:bigint - name:TransmittedBytesToPrivateSEdescription:The number of bytes transmitted by the App Connector to the ZPA Private Service Edge.type:bigint - name:ReceivedBytesFromPrivateSEdescription:The number of bytes received by the App Connector from the ZPA Private Service Edge.type:bigint - name:AppConnectionsCreateddescription:The number of created application Microtunnel (MTunnel) connections.type:bigint - name:AppConnectionsCleareddescription:The number of cleared application Microtunnel (MTunnel) connections.type:bigint - name:AppConnectionsActivedescription:The number of active application Microtunnel (MTunnel) connections.type:bigint - name:UsedTCPPortsIPv4description:The number of used TCP ports for an IPv4 connection.type:bigint - name:UsedUDPPortsIPv4description:The number used UDP ports for an IPv4 connection.type:bigint - name:UsedTCPPortsIPv6description:The number of used TCP ports for an IPv6 connection.type:bigint - name:UsedUDPPortsIPv6description:The number of used UDP ports for an IPv6 connection.type:bigint - name:AvailablePortsdescription:The number of usable ports.type:bigint - name:SystemMaximumFileDescriptorsdescription:The number of total App Connector system file descriptors.type:bigint - name:SystemUsedFileDescriptorsdescription:The number of used App Connector system file descriptors.type:bigint - name:ProcessMaximumFileDescriptorsdescription:The number of total App Connector process file descriptors.type:bigint - name:ProcessUsedFileDescriptorsdescription:The number of used App Connector process file descriptors.type:bigint - name:AvailableDiskBytesdescription:The number of free bytes available for an App Connector.type:bigint - name:MicroTenantIDdescription:The Microtenant ID of the App Connector.type:string