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.AuditLog
description: Zscaler ZPA Audit Log
referenceURL: https://help.zscaler.com/zpa/about-audit-log-fields
fields:
- name: ModifiedTime
description: The time when the object was last modified.
type: timestamp
timeFormats:
- rfc3339
- name: CreationTime
required: true
description: The time when the log was generated.
type: timestamp
timeFormats:
- rfc3339
isEventTime: true
- name: ModifiedBy
required: true
description: The ID of the user who modified the object.
type: string
- name: RequestID
description: The unique ID associated with the request.
type: string
- name: SessionID
description: The ID of the user session.
type: string
- name: AuditOldValue
description: The previous value before the change.
type: json
- name: AuditNewValue
description: The new value after the change.
type: json
- name: AuditOperationType
required: true
description: The action performed.
type: string
- name: ObjectType
description: The location within the ZPA Admin Portal where the Action was performed.
type: string
- name: ObjectName
description: The name of the object being affected.
type: string
- name: ObjectID
description: The ID of the affected object.
type: string
- name: CustomerID
description: The ZPA tenant ID of the customer.
type: string
- name: User
description: The username of the admin associated with the audit action.
type: string
indicators:
- email
- username
- actor_id
- name: ClientAuditUpdate
description: 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.UserActivity
description: Zscaler ZPA User Activity log
referenceURL: https://help.zscaler.com/zpa/about-user-activity-log-fields
fields:
- name: LogTimestamp
required: true
description: Timestamp when the log was generated.
type: timestamp
timeFormats:
- '%a %b %e %H:%M:%S %Y'
isEventTime: true
- name: Customer
required: true
description: The name of the customer.
type: string
- name: SessionID
description: The TLS session ID.
type: string
- name: ConnectionID
description: The application connection ID.
type: string
- name: InternalReason
required: true
description: The internal reason for the status of the transaction.
type: string
- name: ConnectionStatus
description: 'The status of the connection. The expected values for this field are: Open, Close, Active.'
type: string
- name: IPProtocol
description: The IP protocol number.
type: bigint
- name: DoubleEncryption
description: The double encryption status.
type: bigint
- name: Username
required: true
description: The user name as entered into the Zscaler Client Connector.
type: string
indicators:
- username
- name: ServicePort
description: The service port associated with the application request.
type: bigint
- name: ClientPublicIP
description: The public IP address of the Zscaler Client Connector.
type: string
indicators:
- ip
- name: ClientPrivateIP
description: The private IP address of the Zscaler Client Connector.
type: string
indicators:
- ip
- name: ClientLatitude
description: The latitude coordinate of the Zscaler Client Connector location.
type: float
- name: ClientLongitude
description: The longitude coordinate of the Zscaler Client Connector location.
type: float
- name: ClientCountryCode
description: The country code of the Zscaler Client Connector location.
type: string
- name: ClientZEN
description: The ZPA Public Service Edge that received the request from the Zscaler Client Connector.
type: string
- name: Policy
description: The access policy rule name.
type: bigint
- name: Connector
description: The App Connector name.
type: string
- name: ConnectorZEN
description: The ZPA Public Service Edge that sent the request from the App Connector.
type: string
- name: ConnectorIP
description: The source IP address of the App Connector.
type: string
indicators:
- ip
- name: ConnectorPort
description: The port number used by the connector.
type: bigint
- name: Host
description: The host domain or IP address.
type: string
indicators:
- hostname
- name: Application
description: The application name.
type: string
- name: AppGroup
description: The application group name.
type: string
- name: Server
description: The server ID name. The server ID will be set to zero if dynamic server discovery is enabled.
type: string
- name: ServerIP
description: The destination IP address of the server.
type: string
indicators:
- ip
- name: ServerPort
description: The destination port of the server.
type: bigint
- name: PolicyProcessingTime
description: Time in microseconds taken for processing the access policy associated with the application.
type: bigint
- name: ServerSetupTime
description: 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: timestamp
timeFormats:
- rfc3339
- name: TimestampConnectionEnd
description: Timestamp when the ZPA Public Service Edge or ZPA Private Service Edge terminated the connection.
type: timestamp
timeFormats:
- rfc3339
- name: TimestampCATx
description: Timestamp when the central authority sent request to ZPA Public Service Edge or ZPA Private Service Edge.
type: timestamp
timeFormats:
- rfc3339
- name: TimestampCARx
description: Timestamp when the central authority received request from ZPA Public Service Edge or ZPA Private Service Edge.
type: timestamp
timeFormats:
- rfc3339
- name: TimestampAppLearnStart
description: Timestamp when ZPA services start the process to learn about an application.
type: timestamp
timeFormats:
- rfc3339
- name: TimestampZENFirstRxClient
description: Timestamp when the ZPA Public Service Edge received the first byte from the Zscaler Client Connector.
type: timestamp
timeFormats:
- rfc3339
- name: TimestampZENFirstTxClient
description: Timestamp when the ZPA Public Service Edge sent the first byte to the Zscaler Client Connector.
type: timestamp
timeFormats:
- rfc3339
- name: TimestampZENLastRxClient
description: Timestamp when the ZPA Public Service Edge received the last byte from the Zscaler Client Connector.
type: timestamp
timeFormats:
- rfc3339
- name: TimestampZENLastTxClient
description: Timestamp when the ZPA Public Service Edge sent the last byte to the Zscaler Client Connector.
type: timestamp
timeFormats:
- rfc3339
- name: TimestampConnectorZENSetupComplete
description: Timestamp when the ZPA Public Service Edge received request from App Connector to set up data connection.
type: timestamp
timeFormats:
- rfc3339
- name: TimestampZENFirstRxConnector
description: Timestamp when the ZPA Public Service Edge received the first byte from the App Connector.
type: timestamp
timeFormats:
- rfc3339
- name: TimestampZENFirstTxConnector
description: Timestamp when the ZPA Public Service Edge sent the first byte to the App Connector.
type: timestamp
timeFormats:
- rfc3339
- name: TimestampZENLastRxConnector
description: The timestamp of the last received packet from the connector.
type: timestamp
timeFormats:
- rfc3339
- name: TimestampZENLastTxConnector
description: Timestamp when the ZPA Public Service Edge sent the last byte to the App Connector.
type: timestamp
timeFormats:
- rfc3339
- name: ZENTotalBytesRxClient
description: The total bytes received from the Zscaler Client Connector by the ZPA Public Service Edge.
type: bigint
- name: ZENBytesRxClient
description: Bytes received from the client during the session.
type: bigint
- name: ZENTotalBytesTxClient
description: The total bytes transmitted to the Zscaler Client Connector from the ZPA Public Service Edge.
type: bigint
- name: ZENBytesTxClient
description: The additional bytes transmitted to the Zscaler Client Connector since the last transaction log.
type: bigint
- name: ZENTotalBytesRxConnector
description: Total bytes received from the connector.
type: bigint
- name: ZENBytesRxConnector
description: The total bytes received from the App Connector by the ZPA Public Service Edge.
type: bigint
- name: ZENTotalBytesTxConnector
description: The total bytes transmitted to the App Connector from the ZPA Public Service Edge.
type: bigint
- name: ZENBytesTxConnector
description: The additional bytes transmitted by the App Connector since the last transaction log.
type: bigint
- name: Idp
description: The name of the identity provider (IdP) as configured in the ZPA Admin Portal.
type: string
- name: ClientToClient
description: The status of the client-to-client connection.
type: string
- name: ClientCity
description: The city of the client.
type: string
- name: MicroTenantID
description: The Microtenant ID of the user accessing the application.
type: string
- name: AppMicroTenantID
description: 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.UserStatus
description: Zscaler ZPA User Status log
referenceURL: https://help.zscaler.com/zpa/about-user-status-log-fields
fields:
- name: LogTimestamp
required: true
description: Timestamp when the log was generated.
type: timestamp
timeFormats:
- '%a %b %e %H:%M:%S %Y'
isEventTime: true
- name: Customer
required: true
description: The name of the customer.
type: string
- name: Username
required: true
description: The user name.
type: string
indicators:
- username
- name: SessionID
description: The TLS session ID.
type: string
- name: SessionStatus
description: The status of the session.
type: string
- name: Version
description: The Zscaler Client Connector version.
type: string
- name: ZEN
description: The ZPA Public Service Edge that was selected for the connection.
type: string
- name: CertificateCN
description: The certificate common name.
type: string
- name: PrivateIP
description: The private IP address of the Zscaler Client Connector.
type: string
indicators:
- ip
- name: PublicIP
required: true
description: The public IP address of the Zscaler Client Connector.
type: string
indicators:
- ip
- name: Latitude
description: The latitude coordinate of the Zscaler Client Connector location.
type: float
- name: Longitude
description: The longitude coordinate of the Zscaler Client Connector location.
type: float
- name: CountryCode
description: The country code of the Zscaler Client Connector location.
type: string
- name: TimestampAuthentication
description: Timestamp when the Zscaler Client Connector was authenticated.
type: timestamp
timeFormats:
- rfc3339
- name: TimestampUnAuthentication
description: Timestamp when the Zscaler Client Connector was unauthenticated.
type: timestamp
timeFormats:
- rfc3339
- name: TotalBytesRx
description: The total bytes received.
type: bigint
- name: TotalBytesTx
description: The total bytes transmitted.
type: bigint
- name: Idp
description: The name of the identity provider (IdP) as configured in the ZPA Admin Portal.
type: string
- name: Hostname
description: The name of the device as reported by the Zscaler Client Connector.
type: string
indicators:
- hostname
- name: Platform
description: The platform on the device as reported by the Zscaler Client Connector.
type: string
- name: ClientType
description: 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: array
element:
type: string
- name: TrustedNetworksNames
description: The names for the trusted networks that the Zscaler Client Connector has determined for this device.
type: array
element:
type: string
- name: SAMLAttributes
description: The list of SAML attributes reported by the IdP.
type: string
- name: PosturesHit
description: The posture profiles that the Zscaler Client Connector verified for this device.
type: array
element:
type: string
- name: PosturesMiss
description: The posture profiles that the Zscaler Client Connector failed to verified for this device.
type: array
element:
type: string
- name: ZENLatitude
description: The latitude coordinates for the ZPA Public Service Edge.
type: float
- name: ZENLongitude
description: The longitude coordinates for the ZPA Public Service Edge.
type: float
- name: ZENCountryCode
description: The country code for the ZPA Public Service Edge.
type: string
- name: FQDNRegistered
description: The status of the hostname for the client-to-client connection.
type: string
- name: FQDNRegisteredError
description: The status of the registered hostname.
type: string
- name: City
description: The city of the client.
type: string
- name: MicroTenantID
description: 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.AppConnectorStatus
description: Zscaler ZPA App Connector Status log
referenceURL: https://help.zscaler.com/zpa/about-connector-status-log-fields
fields:
- name: LogTimestamp
required: true
description: Timestamp when the log was generated.
type: timestamp
timeFormats:
- '%a %b %e %H:%M:%S %Y'
isEventTime: true
- name: Customer
required: true
description: The name of the customer.
type: string
- name: SessionID
description: The TLS session ID.
type: string
- name: SessionType
description: The type of session.
type: string
- name: SessionStatus
description: The status of the session.
type: string
- name: Version
description: The App Connector package version.
type: string
- name: Platform
description: The host platform.
type: string
- name: ZEN
description: The ZPA Public Service Edge that was selected for the connection.
type: string
- name: Connector
required: true
description: The App Connector name.
type: string
- name: ConnectorGroup
required: true
description: The App Connector group name.
type: string
- name: PrivateIP
description: The private IP address of the App Connector.
type: string
indicators:
- ip
- name: PublicIP
description: The public IP address of the App Connector.
type: string
indicators:
- ip
- name: Latitude
description: The latitude coordinate of the App Connector location.
type: float
- name: Longitude
description: The longitude coordinate of the App Connector location.
type: float
- name: CountryCode
description: The country code.
type: string
- name: TimestampAuthentication
description: Timestamp when the App Connector was authenticated.
type: timestamp
timeFormats:
- rfc3339
- name: TimestampUnAuthentication
description: Timestamp when the App Connector was unauthenticated.
type: timestamp
timeFormats:
- rfc3339
- name: CPUUtilization
description: The CPU utilization in %.
type: bigint
- name: MemUtilization
description: The memory utilization in %.
type: bigint
- name: ServiceCount
description: The number of services being monitored by the App Connector.
type: bigint
- name: InterfaceDefRoute
description: The name of the interface to default route.
type: string
- name: DefRouteGW
description: The IP address of the gateway to default route.
type: string
indicators:
- ip
- name: PrimaryDNSResolver
description: The IP address of the primary DNS resolver.
type: string
indicators:
- ip
- name: HostStartTime
description: Time in seconds at which host was started.
type: bigint
- name: ConnectorStartTime
description: Time in seconds at which the App Connector was started.
type: bigint
- name: NumOfInterfaces
description: The number of interfaces on the App Connector host.
type: bigint
- name: BytesRxInterface
description: The bytes received on the interface.
type: bigint
- name: PacketsRxInterface
description: The packets received on the interface.
type: bigint
- name: ErrorsRxInterface
description: The errors received on the interface.
type: bigint
- name: DiscardsRxInterface
description: The discards received on the interface.
type: bigint
- name: BytesTxInterface
description: The bytes transmitted on the interface.
type: bigint
- name: PacketsTxInterface
description: The packets transmitted on the interface.
type: bigint
- name: ErrorsTxInterface
description: The errors transmitted on the interface.
type: bigint
- name: DiscardsTxInterface
description: The discards transmitted on the interface.
type: bigint
- name: TotalBytesRx
description: The total bytes received.
type: bigint
- name: TotalBytesTx
description: The total bytes transmitted.
type: bigint
- name: MicroTenantID
description: 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.AppConnectorMetrics
description: Zscaler ZPA App Connector Metrics log
referenceURL: https://help.zscaler.com/zpa/about-app-connector-metrics-log-fields
fields:
- name: LogTimestamp
required: true
description: Timestamp when the log was generated.
type: timestamp
timeFormats:
- '%a %b %e %H:%M:%S %Y'
isEventTime: true
- name: Connector
required: true
description: The App Connector name.
type: string
- name: CPUUtilization
description: The maximum CPU usage in the past 5 minutes.
type: bigint
- name: SystemMemoryUtilization
description: The memory utilization of the entire VM.
type: bigint
- name: ProcessMemoryUtilization
description: The memory utilization of the App Connector process.
type: bigint
- name: AppCount
required: true
description: The number of Applications configured for access via this App Connector.
type: bigint
- name: ServiceCount
description: The number of services configured for access via this App Connector.
type: bigint
- name: TargetCount
description: The number of targets configured for access via this App Connector.
type: bigint
- name: AliveTargetCount
description: The number of targets alive for access via this App Connector.
type: bigint
- name: ActiveConnectionsToPublicSE
description: The number of active Microtunnel (M-tunnel) connections to the ZPA Public Service Edge.
type: bigint
- name: DisconnectedConnectionsToPublicSE
description: The number of disconnected Microtunnel (M-tunnel) connections to the ZPA Public Service Edge.
type: bigint
- name: ActiveConnectionsToPrivateSE
description: The number of active Microtunnel (M-tunnel) connections to the ZPA Private Service Edge.
type: bigint
- name: DisconnectedConnectionsToPrivateSE
description: The number of disconnected Microtunnel (M-tunnel) connections to the ZPA Private Service Edge.
type: bigint
- name: TransmittedBytesToPublicSE
description: The number of bytes transmitted by the App Connector to the ZPA Public Service Edge.
type: bigint
- name: ReceivedBytesFromPublicSE
description: The number of bytes received by the App Connector from the ZPA Public Service Edge.
type: bigint
- name: TransmittedBytesToPrivateSE
description: The number of bytes transmitted by the App Connector to the ZPA Private Service Edge.
type: bigint
- name: ReceivedBytesFromPrivateSE
description: The number of bytes received by the App Connector from the ZPA Private Service Edge.
type: bigint
- name: AppConnectionsCreated
description: The number of created application Microtunnel (MTunnel) connections.
type: bigint
- name: AppConnectionsCleared
description: The number of cleared application Microtunnel (MTunnel) connections.
type: bigint
- name: AppConnectionsActive
description: The number of active application Microtunnel (MTunnel) connections.
type: bigint
- name: UsedTCPPortsIPv4
description: The number of used TCP ports for an IPv4 connection.
type: bigint
- name: UsedUDPPortsIPv4
description: The number used UDP ports for an IPv4 connection.
type: bigint
- name: UsedTCPPortsIPv6
description: The number of used TCP ports for an IPv6 connection.
type: bigint
- name: UsedUDPPortsIPv6
description: The number of used UDP ports for an IPv6 connection.
type: bigint
- name: AvailablePorts
description: The number of usable ports.
type: bigint
- name: SystemMaximumFileDescriptors
description: The number of total App Connector system file descriptors.
type: bigint
- name: SystemUsedFileDescriptors
description: The number of used App Connector system file descriptors.
type: bigint
- name: ProcessMaximumFileDescriptors
description: The number of total App Connector process file descriptors.
type: bigint
- name: ProcessUsedFileDescriptors
description: The number of used App Connector process file descriptors.
type: bigint
- name: AvailableDiskBytes
description: The number of free bytes available for an App Connector.
type: bigint
- name: MicroTenantID
description: The Microtenant ID of the App Connector.
type: string