You are viewing docs on Elastic's new documentation system, currently in technical preview. For all other Elastic docs, visit elastic.co/guide.

Citrix ADC

This Elastic integration collects logs and metrics from Citrix ADC product.

Version
1.5.1 (View all)
Compatible Kibana version(s)
8.12.0 or higher
Supported Serverless project types

Security
Observability
Subscription level
Basic
Level of support
Elastic

Overview

The Citrix ADC integration allows you to monitor your Citrix ADC instance. Citrix ADC is an application delivery controller that performs application-specific traffic analysis to intelligently distribute, optimize, and secure Layer 4 - Layer 7 (L4–L7) network traffic for web applications.

The Citrix Web App Firewall prevents security breaches, data loss, and possible unauthorized modifications to websites that access sensitive business or customer information. It does so by filtering both requests and responses, examining them for evidence of malicious activity, and blocking requests that exhibit such activity. Your site is protected not only from common types of attacks, but also from new, as yet unknown attacks. In addition to protecting web servers and websites from unauthorized access, the Web App Firewall protects against vulnerabilities in legacy CGI code or scripts, web frameworks, web server software, and other underlying operating systems.

Use the Citrix ADC integration to:

Collect metrics related to the interface, lbvserver, service, system, vpn and logs. Create visualizations to monitor, measure and analyze the usage trend and key data, and derive business insights. Create alerts to reduce the MTTD and also the MTTR by referencing relevant logs when troubleshooting an issue.

As an example, you can use the data from this integration to understand the load of the virtual servers, client-server connections, requests and responses across the Citrix ADC.

Data streams

The Citrix ADC integration collects metrics data.

Metrics give you insight into the statistics of the Citrix ADC. Metrics data streams collected by the Citrix ADC integration include interface, lbvserver, service, system and vpn, so that the user could monitor and troubleshoot the performance of the Citrix ADC instances.

Log is used to retrieve Citrix Netscaler logs. See more details in the documentation here.

Note:

  • Users can monitor and see the metrics and logs inside the ingested documents for Citrix ADC in the logs-* index pattern from Discover.

Requirements

Elastic Agent must be installed. For more information, refer to the link here.

Installing and managing an Elastic Agent:

You have a few options for installing and managing an Elastic Agent:

With this approach, you install Elastic Agent and use Fleet in Kibana to define, configure, and manage your agents in a central location. We recommend using Fleet management because it makes the management and upgrade of your agents considerably easier.

Install Elastic Agent in standalone mode (advanced users):

With this approach, you install Elastic Agent and manually configure the agent locally on the system where it’s installed. You are responsible for managing and upgrading the agents. This approach is reserved for advanced users only.

Install Elastic Agent in a containerized environment:

You can run Elastic Agent inside a container, either with Fleet Server or standalone. Docker images for all versions of Elastic Agent are available from the Elastic Docker registry, and we provide deployment manifests for running on Kubernetes.

There are some minimum requirements for running Elastic Agent and for more information, refer to the link here.

The minimum Kibana version required is 8.12.0.

Compatibility

This integration has been tested against Citrix ADC v13.0, v13.1 and v14.1.

Prerequisites

You need Elasticsearch for storing and searching your data and Kibana for visualizing and managing it. You can use our hosted Elasticsearch Service on Elastic Cloud, which is recommended, or self-manage the Elastic Stack on your own hardware.

In order to ingest data from Citrix ADC, you must know the host(s) and the administrator credentials for the Citrix ADC instance.

Host Configuration Format: http[s]://host[:port]

Example Host Configuration: http://localhost:9080

Setup

For step-by-step instructions on how to set up an integration, see the Getting started guide.

Steps for configuring CEF format:

  1. Navigate to Security the NetScaler GUI.
  2. Click Application Firewall node.
  3. Select Change Engine Settings.
  4. Enable CEF Logging.

Note: It is recommended to configure the application firewall to enable CEF-formatted logs.

Steps for configuring Syslog format:

The Citrix WAF GUI can be used to configure syslog servers and WAF message types to be sent to the syslog servers. Refer to How to Send Application Firewall Messages to a Separate Syslog Server and How to Send NetScaler Application Firewall Logs to Syslog Server and NS.log for details.

Validation

After the integration is successfully configured, clicking on the Assets tab of the Citrix ADC Integration should display a list of available dashboards. Click on the dashboard available for your configured datastream. It should be populated with the required data.

Enabling the integration in Elastic:

  1. In Kibana go to Management > Integrations

  2. In "Search for integrations" search bar, type Citrix ADC

  3. Click on the "Citrix ADC" integration from the search results.

  4. Click on the "Add Citrix ADC" button to add the integration.

  5. While adding the integration, if you want to collect logs via logfile, keep Collect logs from Citrix ADC via file toggle on and then configure following parameters:

    • Paths

    or if you want to collect logs via TCP, keep Collect logs from Citrix ADC via TCP toggle on and then configure following parameters:

    • Listen Address
    • Listen Port

    or if you want to collect logs via UDP, keep Collect logs from Citrix ADC via UDP toggle on and and then configure following parameters:

    • Listen Address
    • Listen Port
  6. Save the integration.

Troubleshooting

Dummy values

There could be a possibility that for some of the fields, Citrix ADC sets dummy values. For example, a field cpuusagepcnt is represented by citrix_adc.system.cpu.utilization.pct. cpuusagepcnt is set to 4294967295 for some instances. If you also encounter it for some fields please reach out to the Citrix ADC support team.

Type conflicts

If host.ip is shown conflicted under logs-* data view, then this issue can be solved by reindexing the Interface, LBVserver, Service, System, and VPN data stream's indices.

Metrics reference

Interface

This is the interface data stream. The Citrix ADC interfaces are numbered in slot/port notation. In addition to modifying the characteristics of individual interfaces, you can configure virtual LANs to restrict traffic to specific groups of hosts. interface data stream collects metrics related to id, state, inbound packets, outbound packets and received packets.

An example event for interface looks as following:

{
    "@timestamp": "2022-10-07T06:24:46.588Z",
    "agent": {
        "ephemeral_id": "6bbf5dd0-e14b-4006-ac77-ee175a9e81b8",
        "id": "6713ae74-2a36-4e79-bc7b-954d6b48d5bd",
        "name": "docker-fleet-agent",
        "type": "filebeat",
        "version": "8.4.1"
    },
    "citrix_adc": {
        "interface": {
            "disabled": {
                "count": 0
            },
            "link": {
                "down_time": "00:00:11",
                "up_time": "4.06:45:16"
            },
            "mac": {
                "moved": {
                    "count": 0,
                    "rate": 0
                }
            },
            "packets": {
                "inbound": {
                    "dropped": {
                        "count": 2797172,
                        "rate": 32
                    },
                    "dropped_by_hardware": {
                        "count": 0,
                        "rate": 0
                    },
                    "error_free": {
                        "discarded": {
                            "count": 0,
                            "rate": 0
                        }
                    }
                },
                "outbound": {
                    "dropped_by_hardware": {
                        "count": 0,
                        "rate": 0
                    },
                    "error_free": {
                        "discarded": {
                            "count": 0,
                            "rate": 0
                        }
                    }
                },
                "received": {
                    "count": 5396347,
                    "jumbo": {
                        "count": 0,
                        "rate": 0
                    },
                    "multicast": {
                        "count": 278537,
                        "rate": 0
                    },
                    "rate": 38,
                    "tagged": {
                        "count": 0,
                        "rate": 0
                    }
                },
                "transmission": {
                    "dropped": {
                        "count": 0,
                        "rate": 0
                    }
                },
                "transmitted": {
                    "count": 2511171,
                    "jumbo": {
                        "count": 0,
                        "rate": 0
                    },
                    "rate": 5,
                    "tagged": {
                        "count": 0,
                        "rate": 0
                    }
                }
            },
            "received": {
                "bytes": {
                    "rate": 4603,
                    "value": 1103884030
                }
            },
            "stalled": {
                "count": 0
            },
            "state": "UP",
            "transmitted": {
                "bytes": {
                    "rate": 1924,
                    "value": 776571650
                }
            }
        }
    },
    "data_stream": {
        "dataset": "citrix_adc.interface",
        "namespace": "ep",
        "type": "logs"
    },
    "ecs": {
        "version": "8.4.0"
    },
    "elastic_agent": {
        "id": "6713ae74-2a36-4e79-bc7b-954d6b48d5bd",
        "snapshot": false,
        "version": "8.4.1"
    },
    "event": {
        "agent_id_status": "verified",
        "category": [
            "web"
        ],
        "created": "2022-10-07T06:24:46.588Z",
        "dataset": "citrix_adc.interface",
        "ingested": "2022-10-07T06:24:50Z",
        "kind": "event",
        "module": "citrix_adc",
        "original": "{\"curintfstate\":\"UP\",\"curlinkdowntime\":\"00:00:11\",\"curlinkstate\":\"DOWN\",\"curlinkuptime\":\"4.06:45:16\",\"errdroppedrxpkts\":\"2797172\",\"errdroppedrxpktsrate\":32,\"errdroppedtxpkts\":\"0\",\"errdroppedtxpktsrate\":0,\"errifindiscards\":\"0\",\"errifindiscardsrate\":0,\"errlinkhangs\":\"0\",\"errnicmuted\":\"0\",\"errpktrx\":\"0\",\"errpktrxrate\":0,\"errpkttx\":\"0\",\"errpkttxrate\":0,\"id\":\"0/1\",\"interfacealias\":\"\",\"jumbopktsreceived\":\"0\",\"jumbopktsreceivedrate\":0,\"jumbopktstransmitted\":\"0\",\"jumbopktstransmittedrate\":0,\"linkreinits\":\"0\",\"macmovedrate\":0,\"netscalerpktsrate\":6,\"nicerrdisables\":\"0\",\"nicerrifoutdiscards\":\"0\",\"nicerrifoutdiscardsrate\":0,\"nicmulticastpktsrate\":0,\"nicrxstalls\":\"0\",\"nicstsstalls\":\"0\",\"nictotmulticastpkts\":\"278537\",\"nictxstalls\":\"0\",\"rxbytesrate\":4603,\"rxcrcerrors\":\"0\",\"rxcrcerrorsrate\":0,\"rxlacpdu\":\"0\",\"rxlacpdurate\":0,\"rxpktsrate\":38,\"totmacmoved\":\"0\",\"totnetscalerpkts\":\"2493179\",\"totrxbytes\":\"1103884064\",\"totrxpkts\":\"5396347\",\"tottxbytes\":\"776571619\",\"tottxpkts\":\"2511171\",\"trunkpktsreceived\":\"0\",\"trunkpktsreceivedrate\":0,\"trunkpktstransmitted\":\"0\",\"trunkpktstransmittedrate\":0,\"txbytesrate\":1924,\"txlacpdu\":\"0\",\"txlacpdurate\":0,\"txpktsrate\":5}",
        "type": [
            "info"
        ]
    },
    "input": {
        "type": "httpjson"
    },
    "interface": {
        "id": "0/1"
    },
    "tags": [
        "preserve_original_event",
        "citrix_adc-interface",
        "forwarded"
    ]
}

Exported fields

FieldDescriptionTypeUnitMetric Type
@timestamp
Event timestamp.
date
citrix_adc.interface.disabled.count
Number of times the specified interface is disabled by the NetScaler.
double
counter
citrix_adc.interface.link.down_time
Duration for which the link is DOWN.
keyword
citrix_adc.interface.link.up_time
Duration for which the link is UP.
keyword
citrix_adc.interface.mac.moved.count
Number of MAC moves between ports.
double
counter
citrix_adc.interface.mac.moved.rate
Rate (/s) counter for totmacmoved.
double
gauge
citrix_adc.interface.packets.inbound.dropped.count
Number of inbound packets dropped by the specified interface.
double
counter
citrix_adc.interface.packets.inbound.dropped.rate
Rate (/s) counter for errdroppedrxpkts.
double
gauge
citrix_adc.interface.packets.inbound.dropped_by_hardware.count
Number of inbound packets dropped by the hardware on a specified interface once the NetScaler appliance starts or the interface statistics are cleared.
double
counter
citrix_adc.interface.packets.inbound.dropped_by_hardware.rate
Rate (/s) counter for errpktrx.
double
gauge
citrix_adc.interface.packets.inbound.error_free.discarded.count
Number of error-free inbound packets discarded by the specified interface due to a lack of resources.
double
counter
citrix_adc.interface.packets.inbound.error_free.discarded.rate
Rate (/s) counter for errifindiscards.
double
gauge
citrix_adc.interface.packets.outbound.dropped_by_hardware.count
Number of outbound packets dropped by the hardware on a specified interface since the NetScaler appliance was started or the interface statistics were cleared.
double
counter
citrix_adc.interface.packets.outbound.dropped_by_hardware.rate
Rate (/s) counter for errpkttx.
double
gauge
citrix_adc.interface.packets.outbound.error_free.discarded.count
Number of error-free outbound packets discarded by the specified interface due to a lack of resources.
double
counter
citrix_adc.interface.packets.outbound.error_free.discarded.rate
Rate (/s) counter for nicerrifoutdiscards.
double
gauge
citrix_adc.interface.packets.received.count
Number of packets received by an interface since the NetScaler appliance was started or the interface statistics were cleared.
double
counter
citrix_adc.interface.packets.received.jumbo.count
Number of Jumbo Packets received on specified interface.
double
counter
citrix_adc.interface.packets.received.jumbo.rate
Rate (/s) counter for jumbopktsreceived.
double
gauge
citrix_adc.interface.packets.received.multicast.count
Number of multicast packets received by the specified interface since the NetScaler appliance was started or the interface statistics were cleared.
double
counter
citrix_adc.interface.packets.received.multicast.rate
Rate (/s) counter for nictotmulticastpkts.
double
gauge
citrix_adc.interface.packets.received.rate
Rate (/s) counter for totrxpkts.
double
gauge
citrix_adc.interface.packets.received.tagged.count
Number of Tagged Packets received on specified Trunk interface through Allowed VLan List.
double
counter
citrix_adc.interface.packets.received.tagged.rate
Rate (/s) counter for trunkpktsreceived.
double
gauge
citrix_adc.interface.packets.transmission.dropped.count
Number of packets dropped in transmission by the specified interface due to one of the following reasons. (1) VLAN mismatch. (2) Oversized packets. (3) Interface congestion. (4) Loopback packets sent on non loopback interface.
double
citrix_adc.interface.packets.transmission.dropped.rate
Rate (/s) counter for errdroppedtxpkts.
double
citrix_adc.interface.packets.transmitted.count
Number of packets transmitted by an interface since the NetScaler appliance was started or the interface statistics were cleared.
double
counter
citrix_adc.interface.packets.transmitted.jumbo.count
Number of Jumbo packets transmitted on specified interface by upper layer, with TSO enabled actual trasmission size could be non Jumbo.
double
counter
citrix_adc.interface.packets.transmitted.jumbo.rate
Rate (/s) counter for jumbopktstransmitted.
double
gauge
citrix_adc.interface.packets.transmitted.rate
Rate (/s) counter for tottxpkts.
double
gauge
citrix_adc.interface.packets.transmitted.tagged.count
Number of Tagged Packets transmitted on specified Trunk interface through Allowed VLan List.
double
counter
citrix_adc.interface.packets.transmitted.tagged.rate
Rate (/s) counter for trunkpktstransmitted.
double
gauge
citrix_adc.interface.received.bytes.rate
Rate (/s) counter for totrxbytes.
double
gauge
citrix_adc.interface.received.bytes.value
Number of bytes received by an interface since the NetScaler appliance was started or the interface statistics were cleared.
double
byte
counter
citrix_adc.interface.stalled.count
Number of times the interface stalled, when receiving packets, since the NetScaler appliance was started or the interface statistics were cleared.
double
counter
citrix_adc.interface.state
Current state of the specified interface.
keyword
citrix_adc.interface.transmitted.bytes.rate
Rate (/s) counter for tottxbytes.
double
gauge
citrix_adc.interface.transmitted.bytes.value
Number of bytes transmitted by an interface since the NetScaler appliance was started or the interface statistics were cleared.
double
byte
counter
data_stream.dataset
Data stream dataset.
constant_keyword
data_stream.namespace
Data stream namespace.
constant_keyword
data_stream.type
Data stream type.
constant_keyword
ecs.version
ECS version this event conforms to. ecs.version is a required field and must exist in all events. When querying across multiple indices -- which may conform to slightly different ECS versions -- this field lets integrations adjust to the schema version of the events.
keyword
error.message
Error message.
match_only_text
event.category
This is one of four ECS Categorization Fields, and indicates the second level in the ECS category hierarchy. event.category represents the "big buckets" of ECS categories. For example, filtering on event.category:process yields all events relating to process activity. This field is closely related to event.type, which is used as a subcategory. This field is an array. This will allow proper categorization of some events that fall in multiple categories.
keyword
event.dataset
Name of the dataset. If an event source publishes more than one type of log or events (e.g. access log, error log), the dataset is used to specify which one the event comes from. It's recommended but not required to start the dataset name with the module name, followed by a dot, then the dataset name.
keyword
event.ingested
Timestamp when an event arrived in the central data store. This is different from @timestamp, which is when the event originally occurred. It's also different from event.created, which is meant to capture the first time an agent saw the event. In normal conditions, assuming no tampering, the timestamps should chronologically look like this: @timestamp < event.created < event.ingested.
date
event.kind
This is one of four ECS Categorization Fields, and indicates the highest level in the ECS category hierarchy. event.kind gives high-level information about what type of information the event contains, without being specific to the contents of the event. For example, values of this field distinguish alert events from metric events. The value of this field can be used to inform how these kinds of events should be handled. They may warrant different retention, different access control, it may also help understand whether the data coming in at a regular interval or not.
keyword
event.module
Name of the module this data is coming from. If your monitoring agent supports the concept of modules or plugins to process events of a given source (e.g. Apache logs), event.module should contain the name of this module.
keyword
event.type
This is one of four ECS Categorization Fields, and indicates the third level in the ECS category hierarchy. event.type represents a categorization "sub-bucket" that, when used along with the event.category field values, enables filtering events down to a level appropriate for single visualization. This field is an array. This will allow proper categorization of some events that fall in multiple event types.
keyword
host.ip
Host ip addresses.
ip
input.type
Type of Filebeat input.
keyword
interface.id
Interface ID as reported by an observer (typically SNMP interface ID).
keyword
tags
List of keywords used to tag each event.
keyword

Load Balancing Virtual Server

This is the lbvserver data stream. The load balancing server is logically located between the client and the server farm, and manages traffic flow to the servers in the server farm. lbvserver data stream collects metrics related to name, state, client connections, requests and responses.

An example event for lbvserver looks as following:

{
    "@timestamp": "2022-10-07T06:25:28.550Z",
    "agent": {
        "ephemeral_id": "5d00842d-a4ee-4502-9a8c-16100e326dc0",
        "id": "6713ae74-2a36-4e79-bc7b-954d6b48d5bd",
        "name": "docker-fleet-agent",
        "type": "filebeat",
        "version": "8.4.1"
    },
    "citrix_adc": {
        "lbvserver": {
            "client": {
                "connections": {
                    "current": {
                        "count": 8
                    },
                    "established": {
                        "count": 6
                    }
                },
                "response_time": {
                    "application_performance_index": 1
                }
            },
            "connections": {
                "actual": {
                    "count": 8
                }
            },
            "down": {
                "backup": {
                    "hits": 13
                }
            },
            "health": 67,
            "hit": {
                "count": 10,
                "rate": 5
            },
            "name": "elastic",
            "packets": {
                "received": {
                    "count": 7
                },
                "sent": {
                    "count": 8,
                    "rate": 8
                }
            },
            "protocol": "HTTP",
            "request": {
                "deferred": {
                    "count": 13,
                    "rate": 13
                },
                "received": {
                    "bytes": {
                        "rate": 7,
                        "value": 7
                    },
                    "count": 5,
                    "rate": 5
                },
                "surge_queue": {
                    "count": 8
                },
                "waiting": {
                    "count": 6
                }
            },
            "requests_responses": {
                "dropped": {
                    "count": 13
                },
                "invalid": {
                    "count": 13
                }
            },
            "response": {
                "received": {
                    "bytes": {
                        "rate": 7,
                        "value": 7
                    },
                    "count": 5,
                    "rate": 5
                }
            },
            "service": {
                "active": {
                    "count": 10
                },
                "inactive": {
                    "count": 6
                }
            },
            "spillover": {
                "count": 8
            },
            "state": "DOWN",
            "threshold": {
                "spillover": 8
            },
            "time_to_last_byte": {
                "avg": 6
            },
            "transaction": {
                "frustrating": {
                    "count": 1
                },
                "tolerable": {
                    "count": 3
                }
            }
        }
    },
    "data_stream": {
        "dataset": "citrix_adc.lbvserver",
        "namespace": "ep",
        "type": "logs"
    },
    "ecs": {
        "version": "8.4.0"
    },
    "elastic_agent": {
        "id": "6713ae74-2a36-4e79-bc7b-954d6b48d5bd",
        "snapshot": false,
        "version": "8.4.1"
    },
    "event": {
        "agent_id_status": "verified",
        "category": [
            "web"
        ],
        "created": "2022-10-07T06:25:28.550Z",
        "dataset": "citrix_adc.lbvserver",
        "ingested": "2022-10-07T06:25:32Z",
        "kind": "event",
        "module": "citrix_adc",
        "original": "{\"actsvcs\":\"10\",\"avgcltttlb\":\"6\",\"cltresponsetimeapdex\":1,\"cltttlbtransactionsrate\":3,\"cpuusagepm\":\"10\",\"curbackuppersistencesessions\":\"8\",\"curclntconnections\":\"8\",\"curmptcpsessions\":\"13\",\"curpersistencesessions\":\"8\",\"cursrvrconnections\":\"8\",\"cursubflowconn\":\"13\",\"deferredreq\":\"13\",\"deferredreqrate\":13,\"establishedconn\":\"6\",\"frustratingttlbtransactions\":\"1\",\"frustratingttlbtransactionsrate\":1,\"h2requestsrate\":7,\"h2responsesrate\":7,\"hitsrate\":5,\"httpmaxhdrfldlenpkts\":\"3\",\"httpmaxhdrszpkts\":\"3\",\"inactsvcs\":\"6\",\"invalidrequestresponse\":\"13\",\"invalidrequestresponsedropped\":\"13\",\"labelledconn\":\"8\",\"name\":\"elastic\",\"pktsrecvdrate\":8,\"pktssentrate\":8,\"primaryipaddress\":\"8.8.8.8\",\"primaryport\":80,\"pushlabel\":\"8\",\"reqretrycount\":\"3\",\"reqretrycountexceeded\":\"3\",\"requestbytesrate\":7,\"requestsrate\":5,\"responsebytesrate\":7,\"responsesrate\":5,\"sothreshold\":\"8\",\"state\":\"DOWN\",\"surgecount\":\"8\",\"svcsurgecount\":\"8\",\"svrbusyerrrate\":3,\"tcpmaxooopkts\":\"3\",\"toleratingttlbtransactions\":\"3\",\"toleratingttlbtransactionsrate\":1,\"totalconnreassemblyqueue75\":\"13\",\"totalconnreassemblyqueueflush\":\"3\",\"totalh2requests\":\"7\",\"totalh2responses\":\"7\",\"totalpktsrecvd\":\"7\",\"totalpktssent\":\"8\",\"totalrequestbytes\":\"7\",\"totalrequests\":\"5\",\"totalresponsebytes\":\"7\",\"totalresponses\":\"5\",\"totalsvrbusyerr\":\"3\",\"totcltttlbtransactions\":\"3\",\"tothits\":\"10\",\"totspillovers\":\"8\",\"totvserverdownbackuphits\":\"13\",\"type\":\"HTTP\",\"vslbhealth\":\"67\",\"vsvrsurgecount\":\"6\"}",
        "type": [
            "info"
        ]
    },
    "input": {
        "type": "httpjson"
    },
    "related": {
        "ip": [
            "8.8.8.8"
        ]
    },
    "server": {
        "ip": "8.8.8.8",
        "port": 80
    },
    "tags": [
        "preserve_original_event",
        "citrix_adc-lbvserver",
        "forwarded"
    ]
}

Exported fields

FieldDescriptionTypeUnitMetric Type
@timestamp
Event timestamp.
date
citrix_adc.lbvserver.client.connections.current.count
Number of current client connections.
double
gauge
citrix_adc.lbvserver.client.connections.established.count
Number of client connections in ESTABLISHED state.
double
gauge
citrix_adc.lbvserver.client.response_time.application_performance_index
Vserver APDEX (Application Performance Index) index based on client response times.
double
citrix_adc.lbvserver.connections.actual.count
Number of current connections to the actual servers behind the virtual server.
double
gauge
citrix_adc.lbvserver.down.backup.hits
Number of times traffic was diverted to the backup vserver since the primary vserver was DOWN.
double
counter
citrix_adc.lbvserver.health
Health of the vserver. This gives percentage of UP services bound to the vserver.
double
citrix_adc.lbvserver.hit.count
Total vserver hits.
double
counter
citrix_adc.lbvserver.hit.rate
Rate (/s) counter for tothits.
double
gauge
citrix_adc.lbvserver.name
Name of the virtual server.
keyword
citrix_adc.lbvserver.packets.received.count
Total number of packets received by the service or virtual server.
double
counter
citrix_adc.lbvserver.packets.sent.count
Total number of packets sent.
double
counter
citrix_adc.lbvserver.packets.sent.rate
Rate (/s) counter for totalpktssent.
double
gauge
citrix_adc.lbvserver.protocol
Protocol associated with the vserver.
keyword
citrix_adc.lbvserver.request.deferred.count
Number of deferred requests on specific vserver.
double
counter
citrix_adc.lbvserver.request.deferred.rate
Rate (/s) counter for deferredreq.
double
gauge
citrix_adc.lbvserver.request.received.bytes.rate
Rate (/s) counter for totalrequestbytes.
double
gauge
citrix_adc.lbvserver.request.received.bytes.value
Total number of request bytes received on the service or virtual server.
double
byte
counter
citrix_adc.lbvserver.request.received.count
Total number of requests received on the service or virtual server.
double
counter
citrix_adc.lbvserver.request.received.rate
Rate (/s) counter for totalrequests.
double
gauge
citrix_adc.lbvserver.request.surge_queue.count
Number of requests in the surge queue.
double
gauge
citrix_adc.lbvserver.request.waiting.count
Number of requests waiting on specific vserver.
double
gauge
citrix_adc.lbvserver.requests_responses.dropped.count
Number invalid requests/responses dropped on the vserver.
double
counter
citrix_adc.lbvserver.requests_responses.invalid.count
Number invalid requests/responses on the vserver.
double
counter
citrix_adc.lbvserver.response.received.bytes.rate
Rate (/s) counter for totalresponsebytes.
double
gauge
citrix_adc.lbvserver.response.received.bytes.value
Number of response bytes received by the service or virtual server.
double
byte
counter
citrix_adc.lbvserver.response.received.count
Number of responses received on the service or virtual server.
double
counter
citrix_adc.lbvserver.response.received.rate
Rate (/s) counter for totalresponses.
double
gauge
citrix_adc.lbvserver.service.active.count
Number of ACTIVE services bound to a vserver.
double
gauge
citrix_adc.lbvserver.service.inactive.count
Number of INACTIVE services bound to a vserver.
double
gauge
citrix_adc.lbvserver.spillover.count
Number of times vserver experienced spill over.
double
counter
citrix_adc.lbvserver.state
Current state of the server.
keyword
citrix_adc.lbvserver.threshold.spillover
Spill Over Threshold set on the vserver.
double
gauge
citrix_adc.lbvserver.time_to_last_byte.avg
Average TTLB (Time To Last Byte) between the client and the server.
double
gauge
citrix_adc.lbvserver.transaction.frustrating.count
Frustrating transactions based on APDEX (Application Performance Index) threshold.
double
gauge
citrix_adc.lbvserver.transaction.tolerable.count
Tolerable transactions based on APDEX (Application Performance Index) threshold.
double
gauge
data_stream.dataset
Data stream dataset.
constant_keyword
data_stream.namespace
Data stream namespace.
constant_keyword
data_stream.type
Data stream type.
constant_keyword
ecs.version
ECS version this event conforms to. ecs.version is a required field and must exist in all events. When querying across multiple indices -- which may conform to slightly different ECS versions -- this field lets integrations adjust to the schema version of the events.
keyword
error.message
Error message.
match_only_text
event.category
This is one of four ECS Categorization Fields, and indicates the second level in the ECS category hierarchy. event.category represents the "big buckets" of ECS categories. For example, filtering on event.category:process yields all events relating to process activity. This field is closely related to event.type, which is used as a subcategory. This field is an array. This will allow proper categorization of some events that fall in multiple categories.
keyword
event.dataset
Name of the dataset. If an event source publishes more than one type of log or events (e.g. access log, error log), the dataset is used to specify which one the event comes from. It's recommended but not required to start the dataset name with the module name, followed by a dot, then the dataset name.
keyword
event.ingested
Timestamp when an event arrived in the central data store. This is different from @timestamp, which is when the event originally occurred. It's also different from event.created, which is meant to capture the first time an agent saw the event. In normal conditions, assuming no tampering, the timestamps should chronologically look like this: @timestamp < event.created < event.ingested.
date
event.kind
This is one of four ECS Categorization Fields, and indicates the highest level in the ECS category hierarchy. event.kind gives high-level information about what type of information the event contains, without being specific to the contents of the event. For example, values of this field distinguish alert events from metric events. The value of this field can be used to inform how these kinds of events should be handled. They may warrant different retention, different access control, it may also help understand whether the data coming in at a regular interval or not.
keyword
event.module
Name of the module this data is coming from. If your monitoring agent supports the concept of modules or plugins to process events of a given source (e.g. Apache logs), event.module should contain the name of this module.
keyword
event.type
This is one of four ECS Categorization Fields, and indicates the third level in the ECS category hierarchy. event.type represents a categorization "sub-bucket" that, when used along with the event.category field values, enables filtering events down to a level appropriate for single visualization. This field is an array. This will allow proper categorization of some events that fall in multiple event types.
keyword
host.ip
Host ip addresses.
ip
input.type
Type of Filebeat input.
keyword
related.ip
All of the IPs seen on your event.
ip
server.ip
IP address of the server (IPv4 or IPv6).
ip
server.port
Port of the server.
long
tags
List of keywords used to tag each event.
keyword

Service

This is the service data stream. With the help of the service endpoint, metrics like throughput, client-server connections, request bytes can be collected along with other statistics for Service resources. service data stream collects metrics related to name, IP address, port, throughput and transactions.

An example event for service looks as following:

{
    "@timestamp": "2022-10-07T06:26:11.339Z",
    "agent": {
        "ephemeral_id": "2fa2a685-d35a-40a6-8212-7a9dd581d647",
        "id": "6713ae74-2a36-4e79-bc7b-954d6b48d5bd",
        "name": "docker-fleet-agent",
        "type": "filebeat",
        "version": "8.4.1"
    },
    "citrix_adc": {
        "service": {
            "client_connection": {
                "count": 8
            },
            "primary": {
                "ip_address": "127.0.0.1",
                "port": 80
            },
            "request": {
                "bytes": {
                    "rate": 139,
                    "value": 8334520
                },
                "count": 15133,
                "rate": 0
            },
            "response": {
                "bytes": {
                    "rate": 316,
                    "value": 26482988
                },
                "count": 15133,
                "rate": 0
            },
            "reuse_pool": 2,
            "server": {
                "connection": {
                    "count": 2,
                    "established": {
                        "count": 2
                    }
                },
                "time_to_first_byte": {
                    "avg": 34
                }
            },
            "surge_queue": {
                "count": 0
            },
            "throughput": {
                "rate": 0,
                "value": 0
            },
            "transaction": {
                "active": {
                    "count": 0
                },
                "frustrating": {
                    "count": 0
                },
                "time_to_last_byte": {
                    "count": 0
                },
                "tolerable": {
                    "count": 0
                }
            }
        }
    },
    "data_stream": {
        "dataset": "citrix_adc.service",
        "namespace": "ep",
        "type": "logs"
    },
    "ecs": {
        "version": "8.4.0"
    },
    "elastic_agent": {
        "id": "6713ae74-2a36-4e79-bc7b-954d6b48d5bd",
        "snapshot": false,
        "version": "8.4.1"
    },
    "event": {
        "agent_id_status": "verified",
        "category": [
            "web"
        ],
        "created": "2022-10-07T06:26:11.339Z",
        "dataset": "citrix_adc.service",
        "ingested": "2022-10-07T06:26:14Z",
        "kind": "event",
        "module": "citrix_adc",
        "original": "{\"activetransactions\":\"0\",\"avgsvrttfb\":\"34\",\"curclntconnections\":\"8\",\"curload\":\"0\",\"curreusepool\":\"2\",\"cursrvrconnections\":\"2\",\"curtflags\":\"0\",\"frustratingttlbtransactions\":\"0\",\"httpmaxhdrfldlenpkts\":\"0\",\"httpmaxhdrszpkts\":\"0\",\"maxclients\":\"0\",\"name\":\"nshttpd-gui-127.0.0.1-80\",\"primaryipaddress\":\"127.0.0.1\",\"primaryport\":80,\"requestbytesrate\":139,\"requestsrate\":0,\"responsebytesrate\":316,\"responsesrate\":0,\"serviceorder\":\"0\",\"servicetype\":\"HTTP\",\"state\":\"UP\",\"surgecount\":\"0\",\"svrestablishedconn\":\"2\",\"tcpmaxooopkts\":\"0\",\"throughput\":\"0\",\"throughputrate\":0,\"toleratingttlbtransactions\":\"0\",\"totalconnreassemblyqueue75\":\"0\",\"totalconnreassemblyqueueflush\":\"0\",\"totalrequestbytes\":\"8334520\",\"totalrequests\":\"15133\",\"totalresponsebytes\":\"26482988\",\"totalresponses\":\"15133\",\"totsvrttlbtransactions\":\"0\",\"vsvrservicehits\":\"0\",\"vsvrservicehitsrate\":0}",
        "type": [
            "info"
        ]
    },
    "input": {
        "type": "httpjson"
    },
    "related": {
        "ip": [
            "127.0.0.1"
        ]
    },
    "service": {
        "name": "nshttpd-gui-127.0.0.1-80",
        "state": "UP",
        "type": "HTTP"
    },
    "tags": [
        "preserve_original_event",
        "citrix_adc-service",
        "forwarded"
    ]
}

Exported fields

FieldDescriptionTypeUnitMetric Type
@timestamp
Event timestamp.
date
citrix_adc.service.client_connection.count
Number of current client connections.
double
counter
citrix_adc.service.primary.ip_address
The IP address on which specific service is running.
ip
citrix_adc.service.primary.port
The port on which the service is running.
long
citrix_adc.service.request.bytes.rate
Rate (/s) counter for totalrequestbytes.
double
gauge
citrix_adc.service.request.bytes.value
Total number of request bytes received on specific service or virtual server.
double
byte
counter
citrix_adc.service.request.count
Total number of requests received on specific service or virtual server.
double
counter
citrix_adc.service.request.rate
Rate (/s) counter for totalrequests.
double
gauge
citrix_adc.service.response.bytes.rate
Rate (/s) counter for totalresponsebytes.
double
gauge
citrix_adc.service.response.bytes.value
Number of response bytes received by specific service or virtual server.
double
byte
counter
citrix_adc.service.response.count
Number of responses received on specific service or virtual server.
double
counter
citrix_adc.service.response.rate
Rate (/s) counter for totalresponses.
double
gauge
citrix_adc.service.reuse_pool
Number of requests in the idle queue/reuse pool.
double
citrix_adc.service.server.connection.count
Number of current connections to the actual servers behind the virtual server.
double
counter
citrix_adc.service.server.connection.established.count
Number of server connections in ESTABLISHED state.
double
counter
citrix_adc.service.server.time_to_first_byte.avg
Average TTFB (Time To First Byte) between the NetScaler appliance and the server.
double
gauge
citrix_adc.service.surge_queue.count
Number of requests in the surge queue.
double
counter
citrix_adc.service.throughput.rate
Rate (/s) counter for throughput.
double
gauge
citrix_adc.service.throughput.value
Number of bytes received or sent by specific service (Mbps).
double
counter
citrix_adc.service.transaction.active.count
Number of active transactions handled by specific service.
double
counter
citrix_adc.service.transaction.frustrating.count
Frustrating transactions based on APDEX (Application Performance Index) threshold (>4T).
double
gauge
citrix_adc.service.transaction.time_to_last_byte.count
Total transactions where server TTLB (Time To Last Byte) is calculated.
double
counter
citrix_adc.service.transaction.tolerable.count
Tolerable transactions based on APDEX (Application Performance Index) threshold (>T ;; <4T).
double
counter
data_stream.dataset
Data stream dataset.
constant_keyword
data_stream.namespace
Data stream namespace.
constant_keyword
data_stream.type
Data stream type.
constant_keyword
ecs.version
ECS version this event conforms to. ecs.version is a required field and must exist in all events. When querying across multiple indices -- which may conform to slightly different ECS versions -- this field lets integrations adjust to the schema version of the events.
keyword
error.message
Error message.
match_only_text
event.category
This is one of four ECS Categorization Fields, and indicates the second level in the ECS category hierarchy. event.category represents the "big buckets" of ECS categories. For example, filtering on event.category:process yields all events relating to process activity. This field is closely related to event.type, which is used as a subcategory. This field is an array. This will allow proper categorization of some events that fall in multiple categories.
keyword
event.dataset
Name of the dataset. If an event source publishes more than one type of log or events (e.g. access log, error log), the dataset is used to specify which one the event comes from. It's recommended but not required to start the dataset name with the module name, followed by a dot, then the dataset name.
keyword
event.ingested
Timestamp when an event arrived in the central data store. This is different from @timestamp, which is when the event originally occurred. It's also different from event.created, which is meant to capture the first time an agent saw the event. In normal conditions, assuming no tampering, the timestamps should chronologically look like this: @timestamp < event.created < event.ingested.
date
event.kind
This is one of four ECS Categorization Fields, and indicates the highest level in the ECS category hierarchy. event.kind gives high-level information about what type of information the event contains, without being specific to the contents of the event. For example, values of this field distinguish alert events from metric events. The value of this field can be used to inform how these kinds of events should be handled. They may warrant different retention, different access control, it may also help understand whether the data coming in at a regular interval or not.
keyword
event.module
Name of the module this data is coming from. If your monitoring agent supports the concept of modules or plugins to process events of a given source (e.g. Apache logs), event.module should contain the name of this module.
keyword
event.type
This is one of four ECS Categorization Fields, and indicates the third level in the ECS category hierarchy. event.type represents a categorization "sub-bucket" that, when used along with the event.category field values, enables filtering events down to a level appropriate for single visualization. This field is an array. This will allow proper categorization of some events that fall in multiple event types.
keyword
host.ip
Host ip addresses.
ip
input.type
Type of Filebeat input.
keyword
related.ip
All of the IPs seen on your event.
ip
service.name
Name of the service data is collected from. The name of the service is normally user given. This allows for distributed services that run on multiple hosts to correlate the related instances based on the name. In the case of Elasticsearch the service.name could contain the cluster name. For Beats the service.name is by default a copy of the service.type field if no name is specified.
keyword
service.state
Current state of the service.
keyword
service.type
The type of the service data is collected from. The type can be used to group and correlate logs and metrics from one service type. Example: If logs or metrics are collected from Elasticsearch, service.type would be elasticsearch.
keyword
tags
List of keywords used to tag each event.
keyword

System

This is the system data stream. With the help of the system endpoint, metrics like memory in use, total system memory, CPU count can be collected along with other statistics for system resources.

An example event for system looks as following:

{
    "@timestamp": "2022-11-03T11:58:48.678Z",
    "agent": {
        "ephemeral_id": "17888c67-ea5e-4c24-ad2d-6e1572930f9d",
        "id": "f1fb7954-85ee-4fe3-971d-546763d1571b",
        "name": "docker-fleet-agent",
        "type": "filebeat",
        "version": "8.4.1"
    },
    "citrix_adc": {
        "system": {
            "cpu": {
                "count": 1,
                "utilization": {
                    "additional_management": {
                        "pct": 0
                    },
                    "avg": {
                        "pct": 4294967300
                    },
                    "management": {
                        "pct": 0.8
                    },
                    "master": {
                        "pct": 4294967300
                    },
                    "packets": {
                        "pct": 1.1
                    },
                    "pct": 1.1,
                    "slave": {
                        "pct": 4294967300
                    }
                }
            },
            "disk": {
                "usage": {
                    "flash_partition": {
                        "pct": 12
                    },
                    "var_partition": {
                        "pct": 12
                    }
                }
            },
            "memory": {
                "size": {
                    "value": 0
                },
                "usage": {
                    "value": 226492416
                },
                "utilization": {
                    "pct": 21.114572
                }
            },
            "start": {
                "time": "2022-09-22T03:50:13.000Z"
            }
        }
    },
    "data_stream": {
        "dataset": "citrix_adc.system",
        "namespace": "ep",
        "type": "logs"
    },
    "ecs": {
        "version": "8.4.0"
    },
    "elastic_agent": {
        "id": "f1fb7954-85ee-4fe3-971d-546763d1571b",
        "snapshot": false,
        "version": "8.4.1"
    },
    "event": {
        "agent_id_status": "verified",
        "category": [
            "web"
        ],
        "created": "2022-11-03T11:58:48.678Z",
        "dataset": "citrix_adc.system",
        "ingested": "2022-11-03T11:58:52Z",
        "kind": "event",
        "module": "citrix_adc",
        "original": "{\"errorcode\":0,\"message\":\"Done\",\"severity\":\"NONE\",\"system\":{\"addimgmtcpuusagepcnt\":0,\"auxtemp0\":0,\"auxtemp1\":0,\"auxtemp2\":0,\"auxtemp3\":0,\"auxvolt0\":0,\"auxvolt1\":0,\"auxvolt2\":0,\"auxvolt3\":0,\"auxvolt4\":0,\"auxvolt5\":0,\"auxvolt6\":0,\"auxvolt7\":0,\"cpu0temp\":0,\"cpu1temp\":0,\"cpufan0speed\":0,\"cpufan1speed\":0,\"cpuusage\":\"1\",\"cpuusagepcnt\":1.1,\"disk0avail\":1278,\"disk0perusage\":12,\"disk0size\":1585,\"disk0used\":180,\"disk1avail\":11441,\"disk1perusage\":12,\"disk1size\":14179,\"disk1used\":1603,\"fan0speed\":0,\"fan2speed\":0,\"fan3speed\":0,\"fan4speed\":0,\"fan5speed\":0,\"fanspeed\":0,\"internaltemp\":0,\"mastercpuusage\":\"4294967295\",\"memsizemb\":\"0\",\"memusagepcnt\":21.114572,\"memuseinmb\":\"216\",\"mgmtcpu0usagepcnt\":0.8,\"mgmtcpuusagepcnt\":0.8,\"numcpus\":\"1\",\"pktcpuusagepcnt\":1.1,\"powersupply1status\":\"NOT SUPPORTED\",\"powersupply2status\":\"NOT SUPPORTED\",\"powersupply3status\":\"NOT SUPPORTED\",\"powersupply4status\":\"NOT SUPPORTED\",\"rescpuusage\":\"4294967295\",\"rescpuusagepcnt\":4294967295,\"slavecpuusage\":\"4294967295\",\"starttime\":\"Thu Sep 22 03:50:13 2022\",\"starttimelocal\":\"Thu Sep 22 09:20:13 2022\",\"systemfanspeed\":0,\"timesincestart\":\"00:00:00\",\"voltagev12n\":0,\"voltagev12p\":0,\"voltagev33main\":0,\"voltagev33stby\":0,\"voltagev5n\":0,\"voltagev5p\":0,\"voltagev5sb\":0,\"voltagevbat\":0,\"voltagevcc0\":0,\"voltagevcc1\":0,\"voltagevsen2\":0,\"voltagevtt\":0}}",
        "type": [
            "info"
        ]
    },
    "input": {
        "type": "httpjson"
    },
    "tags": [
        "preserve_original_event",
        "citrix_adc-system",
        "forwarded"
    ]
}

Exported fields

FieldDescriptionTypeUnitMetric Type
@timestamp
Event timestamp.
date
citrix_adc.system.cpu.count
The number of CPUs on the NetScaler appliance.
double
gauge
citrix_adc.system.cpu.utilization.additional_management.pct
Additional Management CPU utilization percentage.
double
percent
gauge
citrix_adc.system.cpu.utilization.avg.pct
Shows average CPU utilization percentage if more than 1 CPU is present.
double
percent
gauge
citrix_adc.system.cpu.utilization.management.pct
Average Management CPU utilization percentage.
double
percent
gauge
citrix_adc.system.cpu.utilization.master.pct
CPU 0 (currently the master CPU) utilization, as percentage of capacity.
double
percent
gauge
citrix_adc.system.cpu.utilization.packets.pct
Average CPU utilization percentage for all packet engines excluding management PE.
double
percent
gauge
citrix_adc.system.cpu.utilization.pct
CPU utilization percentage.
double
percent
gauge
citrix_adc.system.cpu.utilization.slave.pct
CPU 1 (currently the slave CPU) utilization, as percentage of capacity.
double
percent
gauge
citrix_adc.system.disk.usage.flash_partition.pct
Used space in /flash partition of the disk, as a percentage.
double
percent
gauge
citrix_adc.system.disk.usage.var_partition.pct
Used space in /var partition of the disk, as a percentage.
double
percent
gauge
citrix_adc.system.memory.size.value
Total amount of system memory, in bytes.
double
byte
gauge
citrix_adc.system.memory.usage.value
Main memory currently in use, in bytes.
double
byte
gauge
citrix_adc.system.memory.utilization.pct
Percentage of memory utilization on NetScaler.
double
percent
gauge
citrix_adc.system.start.time
Time when the NetScaler appliance was last started.
date
data_stream.dataset
Data stream dataset.
constant_keyword
data_stream.namespace
Data stream namespace.
constant_keyword
data_stream.type
Data stream type.
constant_keyword
ecs.version
ECS version this event conforms to. ecs.version is a required field and must exist in all events. When querying across multiple indices -- which may conform to slightly different ECS versions -- this field lets integrations adjust to the schema version of the events.
keyword
error.message
Error message.
match_only_text
event.category
This is one of four ECS Categorization Fields, and indicates the second level in the ECS category hierarchy. event.category represents the "big buckets" of ECS categories. For example, filtering on event.category:process yields all events relating to process activity. This field is closely related to event.type, which is used as a subcategory. This field is an array. This will allow proper categorization of some events that fall in multiple categories.
keyword
event.dataset
Name of the dataset. If an event source publishes more than one type of log or events (e.g. access log, error log), the dataset is used to specify which one the event comes from. It's recommended but not required to start the dataset name with the module name, followed by a dot, then the dataset name.
keyword
event.ingested
Timestamp when an event arrived in the central data store. This is different from @timestamp, which is when the event originally occurred. It's also different from event.created, which is meant to capture the first time an agent saw the event. In normal conditions, assuming no tampering, the timestamps should chronologically look like this: @timestamp < event.created < event.ingested.
date
event.kind
This is one of four ECS Categorization Fields, and indicates the highest level in the ECS category hierarchy. event.kind gives high-level information about what type of information the event contains, without being specific to the contents of the event. For example, values of this field distinguish alert events from metric events. The value of this field can be used to inform how these kinds of events should be handled. They may warrant different retention, different access control, it may also help understand whether the data coming in at a regular interval or not.
keyword
event.module
Name of the module this data is coming from. If your monitoring agent supports the concept of modules or plugins to process events of a given source (e.g. Apache logs), event.module should contain the name of this module.
keyword
event.type
This is one of four ECS Categorization Fields, and indicates the third level in the ECS category hierarchy. event.type represents a categorization "sub-bucket" that, when used along with the event.category field values, enables filtering events down to a level appropriate for single visualization. This field is an array. This will allow proper categorization of some events that fall in multiple event types.
keyword
host.ip
Host ip addresses.
ip
input.type
Type of Filebeat input.
keyword
tags
List of keywords used to tag each event.
keyword

VPN

This is the vpn data stream. Citrix VPN is the add-on that provides full Secure Sockets Layer (SSL) virtual private network (VPN) capabilities to Citrix Gateway, allowing users to access remote applications on internal networks securely. vpn data stream collects metrics like CPS, ICA license, client-server requests, file system and sockets.

An example event for vpn looks as following:

{
    "@timestamp": "2022-10-10T11:42:13.787Z",
    "agent": {
        "ephemeral_id": "8fd05f47-0933-4b28-8412-6d4b6f365dff",
        "id": "98ae8a23-ea52-4679-b111-33a6d6e8db77",
        "name": "docker-fleet-agent",
        "type": "filebeat",
        "version": "8.4.1"
    },
    "citrix_adc": {
        "vpn": {
            "client_server": {
                "request": {
                    "hit": {
                        "count": 16,
                        "rate": 16
                    }
                }
            },
            "configuration_request_served": {
                "count": 8,
                "rate": 8
            },
            "cps": {
                "failure": {
                    "count": 11,
                    "rate": 11
                },
                "success": {
                    "count": 4,
                    "rate": 11
                }
            },
            "file_system": {
                "request": {
                    "received": {
                        "count": 16,
                        "rate": 16
                    }
                }
            },
            "ica": {
                "license_failure": {
                    "count": 7,
                    "rate": 7
                }
            },
            "login_failed": {
                "license_unavailable": {
                    "count": 16
                }
            },
            "login_page": {
                "hits": 8
            },
            "socks": {
                "client_error": {
                    "count": 8,
                    "rate": 8
                },
                "connection": {
                    "request": {
                        "received": {
                            "count": 3,
                            "rate": 2
                        },
                        "sent": {
                            "count": 2,
                            "rate": 2
                        }
                    },
                    "response": {
                        "received": {
                            "count": 2,
                            "rate": 2
                        },
                        "sent": {
                            "count": 8,
                            "rate": 8
                        }
                    }
                },
                "method": {
                    "request": {
                        "received": {
                            "count": 17,
                            "rate": 17
                        },
                        "sent": {
                            "count": 17,
                            "rate": 17
                        }
                    },
                    "response": {
                        "received": {
                            "count": 3,
                            "rate": 3
                        },
                        "sent": {
                            "count": 3,
                            "rate": 3
                        }
                    }
                },
                "server_error": {
                    "count": 8,
                    "rate": 8
                }
            },
            "sta": {
                "connection": {
                    "failure": {
                        "count": 4,
                        "rate": 4
                    },
                    "success": {
                        "count": 4,
                        "rate": 4
                    }
                },
                "request": {
                    "sent": {
                        "count": 11,
                        "rate": 11
                    }
                },
                "response": {
                    "received": {
                        "count": 7,
                        "rate": 7
                    }
                }
            }
        }
    },
    "data_stream": {
        "dataset": "citrix_adc.vpn",
        "namespace": "ep",
        "type": "logs"
    },
    "ecs": {
        "version": "8.4.0"
    },
    "elastic_agent": {
        "id": "98ae8a23-ea52-4679-b111-33a6d6e8db77",
        "snapshot": false,
        "version": "8.4.1"
    },
    "event": {
        "agent_id_status": "verified",
        "category": [
            "web"
        ],
        "created": "2022-10-10T11:42:13.787Z",
        "dataset": "citrix_adc.vpn",
        "ingested": "2022-10-10T11:42:17Z",
        "kind": "event",
        "module": "citrix_adc",
        "original": "{\"errorcode\":0,\"message\":\"Done\",\"severity\":\"NONE\",\"vpn\":{\"cfghtmlserved\":\"8\",\"cfghtmlservedrate\":8,\"cpsconnfailure\":\"11\",\"cpsconnfailurerate\":11,\"cpsconnsuccess\":\"4\",\"cpsconnsuccessrate\":11,\"csconnsuccrate\":16,\"csgconnectedusersrate\":17,\"csgptktvalidatenotstarted\":\"5\",\"csgptktvalidatenotstartedrate\":5,\"csgrtktvalidatenotstarted\":\"9\",\"csgrtktvalidatenotstartedrate\":9,\"csgtotalconnectedusers\":\"9\",\"cshttpprobehit\":\"16\",\"cshttpprobehitrate\":16,\"csnonhttpprobehit\":\"16\",\"csnonhttpprobehitrate\":16,\"csrequesthit\":\"16\",\"csrequesthitrate\":16,\"dnsreqhit\":\"8\",\"dnsreqhitrate\":8,\"fsrequestrate\":16,\"icalicensefailure\":\"7\",\"icalicensefailurerate\":7,\"iipdisabledmipdisabled\":\"9\",\"iipdisabledmipdisabledrate\":9,\"iipdisabledmipused\":\"16\",\"iipdisabledmipusedrate\":12,\"iipfailedmipdisabled\":\"9\",\"iipfailedmipdisabledrate\":9,\"iipfailedmipused\":\"12\",\"iipfailedmipusedrate\":12,\"iipspillovermipused\":\"12\",\"iipspillovermipusedrate\":12,\"indexhtmlhit\":\"8\",\"indexhtmlnoserved\":\"8\",\"socksclienterror\":\"8\",\"socksclienterrorrate\":8,\"socksconnreqrcvd\":\"3\",\"socksconnreqrcvdrate\":2,\"socksconnreqsent\":\"2\",\"socksconnreqsentrate\":2,\"socksconnresprcvd\":\"2\",\"socksconnresprcvdrate\":2,\"socksconnrespsent\":\"8\",\"socksconnrespsentrate\":8,\"socksmethreqrcvd\":\"17\",\"socksmethreqrcvdrate\":17,\"socksmethreqsent\":\"17\",\"socksmethreqsentrate\":17,\"socksmethresprcvd\":\"3\",\"socksmethresprcvdrate\":3,\"socksmethrespsent\":\"3\",\"socksmethrespsentrate\":3,\"socksservererror\":\"8\",\"socksservererrorrate\":8,\"staconnfailure\":\"4\",\"staconnfailurerate\":4,\"staconnsuccess\":\"4\",\"staconnsuccessrate\":4,\"stamonfail\":\"5\",\"stamonfailrate\":5,\"stamonrcvd\":\"7\",\"stamonrcvdrate\":5,\"stamonsent\":\"7\",\"stamonsentrate\":7,\"stamonsucc\":\"5\",\"stamonsuccrate\":5,\"starequestsent\":\"11\",\"starequestsentrate\":11,\"staresponserecvd\":\"7\",\"staresponserecvdrate\":7,\"totalcsconnsucc\":\"16\",\"totalfsrequest\":\"16\",\"vpnlicensefail\":\"16\",\"winsrequesthit\":\"16\",\"winsrequesthitrate\":16}}",
        "type": [
            "info"
        ]
    },
    "input": {
        "type": "httpjson"
    },
    "tags": [
        "preserve_original_event",
        "citrix_adc-vpn",
        "forwarded"
    ]
}

Exported fields

FieldDescriptionTypeMetric Type
@timestamp
Event timestamp.
date
citrix_adc.vpn.client_server.request.hit.count
Number of SSL VPN tunnels formed between VPN server and client.
double
gauge
citrix_adc.vpn.client_server.request.hit.rate
Rate (/s) counter for cpsconnsuccess.
double
gauge
citrix_adc.vpn.configuration_request_served.count
Number of client configuration requests received by VPN server.
double
gauge
citrix_adc.vpn.configuration_request_served.rate
Rate (/s) counter for cfghtmlserved.
double
gauge
citrix_adc.vpn.cps.failure.count
Number of CPS connection failures.
double
counter
citrix_adc.vpn.cps.failure.rate
Rate (/s) counter for cpsconnfailure.
double
gauge
citrix_adc.vpn.cps.success.count
Number of CPS connection success.
double
counter
citrix_adc.vpn.cps.success.rate
Rate (/s) counter for cpsconnsuccess.
double
gauge
citrix_adc.vpn.file_system.request.received.count
Number of file system requests received by VPN server.
double
counter
citrix_adc.vpn.file_system.request.received.rate
Rate (/s) counter for totalfsrequest.
double
gauge
citrix_adc.vpn.ica.license_failure.count
Number of ICA (Independent Computing Architecture) license failures.
double
counter
citrix_adc.vpn.ica.license_failure.rate
Rate (/s) counter for icalicensefailure.
double
gauge
citrix_adc.vpn.login_failed.license_unavailable.count
Number of users not able to login because of license unavailability.
double
counter
citrix_adc.vpn.login_page.hits
Number of requests for VPN login page.
double
counter
citrix_adc.vpn.socks.client_error.count
Number of SOCKS client errors.
double
counter
citrix_adc.vpn.socks.client_error.rate
Rate (/s) counter for socksclienterror.
double
gauge
citrix_adc.vpn.socks.connection.request.received.count
Number of received SOCKS connect requests.
double
counter
citrix_adc.vpn.socks.connection.request.received.rate
Rate (/s) counter for socksconnreqrcvd.
double
gauge
citrix_adc.vpn.socks.connection.request.sent.count
Number of sent SOCKS connect requests.
double
counter
citrix_adc.vpn.socks.connection.request.sent.rate
Rate (/s) counter for socksconnreqsent.
double
gauge
citrix_adc.vpn.socks.connection.response.received.count
Number of received SOCKS connect responses.
double
counter
citrix_adc.vpn.socks.connection.response.received.rate
Rate (/s) counter for socksconnresprcvd.
double
gauge
citrix_adc.vpn.socks.connection.response.sent.count
Number of sent SOCKS connect responses.
double
counter
citrix_adc.vpn.socks.connection.response.sent.rate
Rate (/s) counter for socksconnrespsent.
double
gauge
citrix_adc.vpn.socks.method.request.received.count
Number of received SOCKS method requests.
double
counter
citrix_adc.vpn.socks.method.request.received.rate
Rate (/s) counter for socksmethreqrcvd.
double
gauge
citrix_adc.vpn.socks.method.request.sent.count
Number of sent SOCKS method requests.
double
counter
citrix_adc.vpn.socks.method.request.sent.rate
Rate (/s) counter for socksmethreqsent.
double
gauge
citrix_adc.vpn.socks.method.response.received.count
Number of received SOCKS method responses.
double
counter
citrix_adc.vpn.socks.method.response.received.rate
Rate (/s) counter for socksmethresprcvd.
double
gauge
citrix_adc.vpn.socks.method.response.sent.count
Number of sent SOCKS method responses.
double
counter
citrix_adc.vpn.socks.method.response.sent.rate
Rate (/s) counter for socksmethrespsent.
double
gauge
citrix_adc.vpn.socks.server_error.count
Number of SOCKS server errors.
double
counter
citrix_adc.vpn.socks.server_error.rate
Rate (/s) counter for socksservererror.
double
gauge
citrix_adc.vpn.sta.connection.failure.count
Number of STA (Secure Ticket Authority) connection failures.
double
counter
citrix_adc.vpn.sta.connection.failure.rate
Rate (/s) counter for staconnfailure.
double
gauge
citrix_adc.vpn.sta.connection.success.count
Number of STA (Secure Ticket Authority) connection success.
double
counter
citrix_adc.vpn.sta.connection.success.rate
Rate (/s) counter for staconnsuccess.
double
gauge
citrix_adc.vpn.sta.request.sent.count
Number of STA (Secure Ticket Authority) requests sent.
double
counter
citrix_adc.vpn.sta.request.sent.rate
Rate (/s) counter for starequestsent.
double
gauge
citrix_adc.vpn.sta.response.received.count
Number of STA (Secure Ticket Authority) responses received.
double
counter
citrix_adc.vpn.sta.response.received.rate
Rate (/s) counter for staresponserecvd.
double
gauge
data_stream.dataset
Data stream dataset.
constant_keyword
data_stream.namespace
Data stream namespace.
constant_keyword
data_stream.type
Data stream type.
constant_keyword
ecs.version
ECS version this event conforms to. ecs.version is a required field and must exist in all events. When querying across multiple indices -- which may conform to slightly different ECS versions -- this field lets integrations adjust to the schema version of the events.
keyword
error.message
Error message.
match_only_text
event.category
This is one of four ECS Categorization Fields, and indicates the second level in the ECS category hierarchy. event.category represents the "big buckets" of ECS categories. For example, filtering on event.category:process yields all events relating to process activity. This field is closely related to event.type, which is used as a subcategory. This field is an array. This will allow proper categorization of some events that fall in multiple categories.
keyword
event.dataset
Name of the dataset. If an event source publishes more than one type of log or events (e.g. access log, error log), the dataset is used to specify which one the event comes from. It's recommended but not required to start the dataset name with the module name, followed by a dot, then the dataset name.
keyword
event.ingested
Timestamp when an event arrived in the central data store. This is different from @timestamp, which is when the event originally occurred. It's also different from event.created, which is meant to capture the first time an agent saw the event. In normal conditions, assuming no tampering, the timestamps should chronologically look like this: @timestamp < event.created < event.ingested.
date
event.kind
This is one of four ECS Categorization Fields, and indicates the highest level in the ECS category hierarchy. event.kind gives high-level information about what type of information the event contains, without being specific to the contents of the event. For example, values of this field distinguish alert events from metric events. The value of this field can be used to inform how these kinds of events should be handled. They may warrant different retention, different access control, it may also help understand whether the data coming in at a regular interval or not.
keyword
event.module
Name of the module this data is coming from. If your monitoring agent supports the concept of modules or plugins to process events of a given source (e.g. Apache logs), event.module should contain the name of this module.
keyword
event.type
This is one of four ECS Categorization Fields, and indicates the third level in the ECS category hierarchy. event.type represents a categorization "sub-bucket" that, when used along with the event.category field values, enables filtering events down to a level appropriate for single visualization. This field is an array. This will allow proper categorization of some events that fall in multiple event types.
keyword
host.ip
Host ip addresses.
ip
input.type
Type of Filebeat input.
keyword
tags
List of keywords used to tag each event.
keyword

Logs

The citrix_adc.log dataset provides events from the configured syslog server.

An example event for log looks as following:

{
    "@timestamp": "2012-12-18T21:46:17.000Z",
    "agent": {
        "ephemeral_id": "2976e761-4399-4de7-8ea0-97ea83ec7726",
        "id": "418f7c57-c332-4913-b3ec-ddaa31f832a0",
        "name": "docker-fleet-agent",
        "type": "filebeat",
        "version": "8.12.0"
    },
    "citrix": {
        "cef_format": true,
        "cef_version": "0",
        "detail": "CEF:0|Citrix|NetScaler|NS10.0|APPFW|APPFW_STARTURL|6|src=175.16.199.1 spt=54711 method=GET request=http://vpx247.example.net/FFC/login_post.html?abc\\=def msg=Disallow Illegal URL. cn1=465 cn2=535 cs1=profile1 cs2=PPE0 cs3=IliG4Dxp1SjOhKVRDVBXmqvAaIcA000 cs4=ALERT cs5=2012 act=not blocked",
        "device_event_class_id": "APPFW",
        "device_product": "NetScaler",
        "device_vendor": "Citrix",
        "device_version": "NS10.0",
        "facility": "local0",
        "name": "APPFW_STARTURL",
        "ppe_id": "PPE0",
        "priority": "info",
        "profile_name": "profile1",
        "session_id": "IliG4Dxp1SjOhKVRDVBXmqvAaIcA000",
        "severity": "ALERT"
    },
    "client": {
        "geo": {
            "city_name": "London",
            "continent_name": "Europe",
            "country_iso_code": "GB",
            "country_name": "United Kingdom",
            "location": {
                "lat": 51.5142,
                "lon": -0.0931
            },
            "region_iso_code": "GB-ENG",
            "region_name": "England"
        },
        "ip": "81.2.69.144"
    },
    "data_stream": {
        "dataset": "citrix_adc.log",
        "namespace": "ep",
        "type": "logs"
    },
    "ecs": {
        "version": "8.12.0"
    },
    "elastic_agent": {
        "id": "418f7c57-c332-4913-b3ec-ddaa31f832a0",
        "snapshot": false,
        "version": "8.12.0"
    },
    "event": {
        "action": "not blocked",
        "agent_id_status": "verified",
        "dataset": "citrix_adc.log",
        "id": "465",
        "ingested": "2024-03-20T08:51:14Z",
        "original": "Dec 18 21:46:17 <local0.info> 81.2.69.144 CEF:0|Citrix|NetScaler|NS10.0|APPFW|APPFW_STARTURL|6|src=175.16.199.1 spt=54711 method=GET request=http://vpx247.example.net/FFC/login_post.html?abc\\=def msg=Disallow Illegal URL. cn1=465 cn2=535 cs1=profile1 cs2=PPE0 cs3=IliG4Dxp1SjOhKVRDVBXmqvAaIcA000 cs4=ALERT cs5=2012 act=not blocked",
        "severity": 6,
        "timezone": "+00:00"
    },
    "http": {
        "request": {
            "id": "535",
            "method": "GET"
        }
    },
    "input": {
        "type": "udp"
    },
    "log": {
        "source": {
            "address": "192.168.249.4:48549"
        }
    },
    "message": "Disallow Illegal URL.",
    "observer": {
        "product": "Netscaler",
        "type": "firewall",
        "vendor": "Citrix"
    },
    "source": {
        "geo": {
            "city_name": "Changchun",
            "continent_name": "Asia",
            "country_iso_code": "CN",
            "country_name": "China",
            "location": {
                "lat": 43.88,
                "lon": 125.3228
            },
            "region_iso_code": "CN-22",
            "region_name": "Jilin Sheng"
        },
        "ip": "175.16.199.1",
        "port": 54711
    },
    "tags": [
        "preserve_original_event",
        "citrix_adc.log",
        "forwarded"
    ],
    "url": {
        "domain": "vpx247.example.net",
        "extension": "html",
        "original": "http://vpx247.example.net/FFC/login_post.html?abc\\=def",
        "path": "/FFC/login_post.html",
        "query": "abc\\=def",
        "scheme": "http"
    }
}

Exported fields

FieldDescriptionType
@timestamp
Date/time when the event originated. This is the date/time extracted from the event, typically representing when the event was generated by the source. If the event source has no original timestamp, this value is typically populated by the first time the event was received by the pipeline. Required field for all events.
date
citrix.cef_format
Whether the logging is in Citrix CEF format.
boolean
citrix.cef_version
The CEF format version used in the logs.
keyword
citrix.default_class
Whether the event class was the default.
boolean
citrix.detail
The CEF or Citrix Native format details for the event.
keyword
citrix.device_event_class_id
The ID of the event class.
keyword
citrix.device_product
The model of the appliance.
keyword
citrix.device_vendor
The name of the vendor for the device.
keyword
citrix.device_version
The version of the device.
keyword
citrix.extended
Additional data associated with the event.
flattened
citrix.facility
The logging facility.
keyword
citrix.host
The name of the host receiving the logs.
keyword
citrix.hostname
The name of the host receiving the logs.
keyword
citrix.name
The name of the security check.
keyword
citrix.ppe_id
Packet Processing Engine ID.
keyword
citrix.priority
The logging priority.
keyword
citrix.profile_name
The name of the profile that raised the event.
keyword
citrix.session_id
The ID for the session.
keyword
citrix.severity
The severity of the event.
keyword
citrix.signature_violation_category
The category that the violation is grouped into.
keyword
citrix_adc.log.access
keyword
citrix_adc.log.access_type
keyword
citrix_adc.log.action
keyword
citrix_adc.log.adm_user
keyword
citrix_adc.log.app.launch_time
keyword
citrix_adc.log.app.name
keyword
citrix_adc.log.app.process_id
long
citrix_adc.log.app.termination_time
keyword
citrix_adc.log.app.termination_type
keyword
citrix_adc.log.appfw_rfc_profile
keyword
citrix_adc.log.application_name
keyword
citrix_adc.log.auto_deploy_mins
long
citrix_adc.log.browser
keyword
citrix_adc.log.browser_type
keyword
citrix_adc.log.bytes.received
long
citrix_adc.log.bytes.sent
long
citrix_adc.log.call_id
keyword
citrix_adc.log.callee.domain_name
keyword
citrix_adc.log.callee.user_name
keyword
citrix_adc.log.caller.domain_name
keyword
citrix_adc.log.caller.user_name
keyword
citrix_adc.log.category
keyword
citrix_adc.log.category_group
keyword
citrix_adc.log.certificate_key_pair
keyword
citrix_adc.log.channel_id_1
long
citrix_adc.log.channel_id_1_val
long
citrix_adc.log.channel_id_2
long
citrix_adc.log.channel_id_2_val
long
citrix_adc.log.channel_id_3
long
citrix_adc.log.channel_id_3_val
long
citrix_adc.log.channel_id_4
long
citrix_adc.log.channel_id_4_val
long
citrix_adc.log.channel_id_5
long
citrix_adc.log.channel_id_5_val
long
citrix_adc.log.channel_update.begin
keyword
citrix_adc.log.channel_update.end
keyword
citrix_adc.log.cipher_suite
keyword
citrix_adc.log.client_cookie
keyword
citrix_adc.log.client_hostname
keyword
citrix_adc.log.client_ip
ip
citrix_adc.log.client_launcher
keyword
citrix_adc.log.client_port
long
citrix_adc.log.client_security_check_status
keyword
citrix_adc.log.client_security_expression
keyword
citrix_adc.log.client_type
keyword
citrix_adc.log.client_version
keyword
citrix_adc.log.clientside.jitter
long
citrix_adc.log.clientside.packet_retransmits
long
citrix_adc.log.clientside.rtt
keyword
citrix_adc.log.clientside.rxbytes
long
citrix_adc.log.clientside.txbytes
long
citrix_adc.log.closure_reason
keyword
citrix_adc.log.code
keyword
citrix_adc.log.command
keyword
citrix_adc.log.compression_ratio_recieved
double
citrix_adc.log.compression_ratio_send
double
citrix_adc.log.connection_id
keyword
citrix_adc.log.connection_priority
keyword
citrix_adc.log.content_length_bytes
long
citrix_adc.log.content_type
keyword
citrix_adc.log.content_type_mismatch
keyword
citrix_adc.log.cookie_header_length
long
citrix_adc.log.crl_name
keyword
citrix_adc.log.customer_name
keyword
citrix_adc.log.data
keyword
citrix_adc.log.data_length
long
citrix_adc.log.days_to_expire
long
citrix_adc.log.deleted_rules
long
citrix_adc.log.delink_time
date
citrix_adc.log.delink_timezone
keyword
citrix_adc.log.destination.ip
ip
citrix_adc.log.destination.port
long
citrix_adc.log.device_serial_number
keyword
citrix_adc.log.domain
keyword
citrix_adc.log.domain_name
keyword
citrix_adc.log.duration
keyword
citrix_adc.log.end_time
date
citrix_adc.log.end_time_timezone
keyword
citrix_adc.log.errmsg
keyword
citrix_adc.log.error
keyword
citrix_adc.log.error_code
keyword
citrix_adc.log.error_line
keyword
citrix_adc.log.failure_reason
keyword
citrix_adc.log.field_name
keyword
citrix_adc.log.field_type
keyword
citrix_adc.log.flags
keyword
citrix_adc.log.group
keyword
citrix_adc.log.groups
keyword
citrix_adc.log.handshake_time
keyword
citrix_adc.log.header
keyword
citrix_adc.log.header_length
long
citrix_adc.log.hit.count
long
citrix_adc.log.hit.rule
keyword
citrix_adc.log.hostname
keyword
citrix_adc.log.html_url
keyword
citrix_adc.log.http_resources_accessed
keyword
citrix_adc.log.ica_rtt
keyword
citrix_adc.log.icap_server.ip
ip
citrix_adc.log.icap_server.port
long
citrix_adc.log.id
keyword
citrix_adc.log.infomsg
keyword
citrix_adc.log.ip_address
ip
citrix_adc.log.issuer_name
keyword
citrix_adc.log.l7_latency.max_notify_count
long
citrix_adc.log.l7_latency.notify_interval
long
citrix_adc.log.l7_latency.threshold_factor
long
citrix_adc.log.l7_latency.waittime
keyword
citrix_adc.log.l7_threshold_breach.avg_clientside_latency
long
citrix_adc.log.l7_threshold_breach.avg_serverside_latency
long
citrix_adc.log.l7_threshold_breach.max_clientside_latency
long
citrix_adc.log.l7_threshold_breach.max_serverside_latency
long
citrix_adc.log.last_contact
keyword
citrix_adc.log.launch_mechanism
keyword
citrix_adc.log.ldap_scope
keyword
citrix_adc.log.license_limit
long
citrix_adc.log.logout_method
keyword
citrix_adc.log.matched_url
keyword
citrix_adc.log.max_allowed.cookie_header_length
long
citrix_adc.log.max_allowed.header_length
long
citrix_adc.log.max_allowed.query_string_length
long
citrix_adc.log.max_allowed.total_http_header_length
long
citrix_adc.log.max_allowed.url_length
long
citrix_adc.log.max_restarts
long
citrix_adc.log.message
keyword
citrix_adc.log.method
keyword
citrix_adc.log.min_l7_latency
long
citrix_adc.log.mode
keyword
citrix_adc.log.module_path
keyword
citrix_adc.log.nat.ip
ip
citrix_adc.log.nat.port
long
citrix_adc.log.natted.ip
ip
citrix_adc.log.natted.port
long
citrix_adc.log.newly_added_rules
long
citrix_adc.log.non_http_services_accessed
keyword
citrix_adc.log.nsica_session.acr_count
long
citrix_adc.log.nsica_session.client.ip
ip
citrix_adc.log.nsica_session.client.port
long
citrix_adc.log.nsica_session.reconnect_count
long
citrix_adc.log.nsica_session.server.ip
ip
citrix_adc.log.nsica_session.server.port
long
citrix_adc.log.nsica_session.status
keyword
citrix_adc.log.nsica_status
keyword
citrix_adc.log.old_pid
long
citrix_adc.log.origin_server.ip
ip
citrix_adc.log.origin_server.port
long
citrix_adc.log.original_destination.ip
ip
citrix_adc.log.original_destination.port
long
citrix_adc.log.pcre_error_code
keyword
citrix_adc.log.peid
keyword
citrix_adc.log.policy_action
keyword
citrix_adc.log.policy_violation
keyword
citrix_adc.log.process.id
long
citrix_adc.log.process.name
keyword
citrix_adc.log.profile
keyword
citrix_adc.log.protocol
keyword
citrix_adc.log.protocol_version
keyword
citrix_adc.log.query_string_length
long
citrix_adc.log.reason
keyword
citrix_adc.log.referer_header
keyword
citrix_adc.log.register
keyword
citrix_adc.log.remote_ip
ip
citrix_adc.log.reputation
long
citrix_adc.log.request.bytes_sent
long
citrix_adc.log.request.path
keyword
citrix_adc.log.response.bytes_sent
long
citrix_adc.log.response.code
long
citrix_adc.log.rewritten_url
keyword
citrix_adc.log.rule
keyword
citrix_adc.log.rule_id
keyword
citrix_adc.log.sequence_number
long
citrix_adc.log.serial_number
keyword
citrix_adc.log.server.ip
ip
citrix_adc.log.server.name
keyword
citrix_adc.log.server.port
long
citrix_adc.log.server_authentication
keyword
citrix_adc.log.serverside.jitter
long
citrix_adc.log.serverside.packet_retransmits
long
citrix_adc.log.serverside.rtt
keyword
citrix_adc.log.service
keyword
citrix_adc.log.session
keyword
citrix_adc.log.session_end_time
keyword
citrix_adc.log.session_guid
keyword
citrix_adc.log.session_id
keyword
citrix_adc.log.session_setup_time
keyword
citrix_adc.log.signature_algorithm
keyword
citrix_adc.log.signature_id
keyword
citrix_adc.log.source.ip
ip
citrix_adc.log.source.port
long
citrix_adc.log.spcb_id
keyword
citrix_adc.log.ssl_relay.address
ip
citrix_adc.log.ssl_relay.port
long
citrix_adc.log.sslvpn_client_type
keyword
citrix_adc.log.sso_status
keyword
citrix_adc.log.start_time
date
citrix_adc.log.start_time_timezone
keyword
citrix_adc.log.startup_duration
long
citrix_adc.log.status
keyword
citrix_adc.log.subject_name
keyword
citrix_adc.log.timestamp
date
citrix_adc.log.timezone
keyword
citrix_adc.log.total_bytes_received
long
citrix_adc.log.total_bytes_send
long
citrix_adc.log.total_bytes_wire_recieved
keyword
citrix_adc.log.total_bytes_wire_send
keyword
citrix_adc.log.total_compressed_bytes_recieved
long
citrix_adc.log.total_compressed_bytes_send
long
citrix_adc.log.total_http_header_length
long
citrix_adc.log.total_policies_allowed
long
citrix_adc.log.total_policies_denied
long
citrix_adc.log.total_tcp_connections
long
citrix_adc.log.total_udp_flows
long
citrix_adc.log.translated_destination.ip
ip
citrix_adc.log.translated_destination.port
long
citrix_adc.log.transport
keyword
citrix_adc.log.type
keyword
citrix_adc.log.unknown_content_type
keyword
citrix_adc.log.url
keyword
citrix_adc.log.url_length
long
citrix_adc.log.user
keyword
citrix_adc.log.useremail
keyword
citrix_adc.log.username
keyword
citrix_adc.log.valid_from
date
citrix_adc.log.valid_to
date
citrix_adc.log.value
keyword
citrix_adc.log.violation_type
keyword
citrix_adc.log.vserver.ip
ip
citrix_adc.log.vserver.port
long
citrix_adc.log.watch_id
keyword
client.address
Some event client addresses are defined ambiguously. The event will sometimes list an IP, a domain or a unix socket. You should always store the raw address in the .address field. Then it should be duplicated to .ip or .domain, depending on which one it is.
keyword
client.as.number
Unique number allocated to the autonomous system. The autonomous system number (ASN) uniquely identifies each network on the Internet.
long
client.as.organization.name
Organization name.
keyword
client.as.organization.name.text
Multi-field of client.as.organization.name.
match_only_text
client.domain
The domain name of the client system. This value may be a host name, a fully qualified domain name, or another host naming format. The value may derive from the original event or be added from enrichment.
keyword
client.geo.city_name
City name.
keyword
client.geo.continent_name
Name of the continent.
keyword
client.geo.country_iso_code
Country ISO code.
keyword
client.geo.country_name
Country name.
keyword
client.geo.location
Longitude and latitude.
geo_point
client.geo.region_iso_code
Region ISO code.
keyword
client.geo.region_name
Region name.
keyword
client.ip
IP address of the client (IPv4 or IPv6).
ip
client.port
Port of the client.
long
client.user.name
Short name or login of the user.
keyword
client.user.name.text
Multi-field of client.user.name.
match_only_text
cloud.account.id
The cloud account or organization id used to identify different entities in a multi-tenant environment. Examples: AWS account id, Google Cloud ORG Id, or other unique identifier.
keyword
cloud.availability_zone
Availability zone in which this host is running.
keyword
cloud.image.id
Image ID for the cloud instance.
keyword
cloud.instance.id
Instance ID of the host machine.
keyword
cloud.instance.name
Instance name of the host machine.
keyword
cloud.machine.type
Machine type of the host machine.
keyword
cloud.project.id
Name of the project in Google Cloud.
keyword
cloud.provider
Name of the cloud provider. Example values are aws, azure, gcp, or digitalocean.
keyword
cloud.region
Region in which this host is running.
keyword
container.id
Unique container id.
keyword
container.image.name
Name of the image the container was built on.
keyword
container.labels
Image labels.
object
container.name
Container name.
keyword
data_stream.dataset
Data stream dataset.
constant_keyword
data_stream.namespace
Data stream namespace.
constant_keyword
data_stream.type
Data stream type.
constant_keyword
ecs.version
ECS version this event conforms to. ecs.version is a required field and must exist in all events. When querying across multiple indices -- which may conform to slightly different ECS versions -- this field lets integrations adjust to the schema version of the events.
keyword
error.message
Error message.
match_only_text
event.category
This is one of four ECS Categorization Fields, and indicates the second level in the ECS category hierarchy. event.category represents the "big buckets" of ECS categories. For example, filtering on event.category:process yields all events relating to process activity. This field is closely related to event.type, which is used as a subcategory. This field is an array. This will allow proper categorization of some events that fall in multiple categories.
keyword
event.code
Identification code for this event, if one exists. Some event sources use event codes to identify messages unambiguously, regardless of message language or wording adjustments over time. An example of this is the Windows Event ID.
keyword
event.created
event.created contains the date/time when the event was first read by an agent, or by your pipeline. This field is distinct from @timestamp in that @timestamp typically contain the time extracted from the original event. In most situations, these two timestamps will be slightly different. The difference can be used to calculate the delay between your source generating an event, and the time when your agent first processed it. This can be used to monitor your agent's or pipeline's ability to keep up with your event source. In case the two timestamps are identical, @timestamp should be used.
date
event.dataset
Event dataset
constant_keyword
event.duration
Duration of the event in nanoseconds. If event.start and event.end are known this value should be the difference between the end and start time.
long
event.end
event.end contains the date when the event ended or when the activity was last observed.
date
event.ingested
Timestamp when an event arrived in the central data store. This is different from @timestamp, which is when the event originally occurred. It's also different from event.created, which is meant to capture the first time an agent saw the event. In normal conditions, assuming no tampering, the timestamps should chronologically look like this: @timestamp < event.created < event.ingested.
date
event.kind
This is one of four ECS Categorization Fields, and indicates the highest level in the ECS category hierarchy. event.kind gives high-level information about what type of information the event contains, without being specific to the contents of the event. For example, values of this field distinguish alert events from metric events. The value of this field can be used to inform how these kinds of events should be handled. They may warrant different retention, different access control, it may also help understand whether the data coming in at a regular interval or not.
keyword
event.module
Event module
constant_keyword
event.provider
Source of the event. Event transports such as Syslog or the Windows Event Log typically mention the source of an event. It can be the name of the software that generated the event (e.g. Sysmon, httpd), or of a subsystem of the operating system (kernel, Microsoft-Windows-Security-Auditing).
keyword
event.severity
The numeric severity of the event according to your event source. What the different severity values mean can be different between sources and use cases. It's up to the implementer to make sure severities are consistent across events from the same source. The Syslog severity belongs in log.syslog.severity.code. event.severity is meant to represent the severity according to the event source (e.g. firewall, IDS). If the event source does not publish its own severity, you may optionally copy the log.syslog.severity.code to event.severity.
long
event.start
event.start contains the date when the event started or when the activity was first observed.
date
event.timezone
This field should be populated when the event's timestamp does not include timezone information already (e.g. default Syslog timestamps). It's optional otherwise. Acceptable timezone formats are: a canonical ID (e.g. "Europe/Amsterdam"), abbreviated (e.g. "EST") or an HH:mm differential (e.g. "-05:00").
keyword
event.type
This is one of four ECS Categorization Fields, and indicates the third level in the ECS category hierarchy. event.type represents a categorization "sub-bucket" that, when used along with the event.category field values, enables filtering events down to a level appropriate for single visualization. This field is an array. This will allow proper categorization of some events that fall in multiple event types.
keyword
file.path
Full path to the file, including the file name. It should include the drive letter, when appropriate.
keyword
file.path.text
Multi-field of file.path.
match_only_text
host.architecture
Operating system architecture.
keyword
host.containerized
If the host is a container.
boolean
host.domain
Name of the domain of which the host is a member. For example, on Windows this could be the host's Active Directory domain or NetBIOS domain name. For Linux this could be the domain of the host's LDAP provider.
keyword
host.hostname
Hostname of the host. It normally contains what the hostname command returns on the host machine.
keyword
host.id
Unique host id. As hostname is not always unique, use values that are meaningful in your environment. Example: The current usage of beat.name.
keyword
host.ip
Host ip addresses.
ip
host.mac
Host mac addresses.
keyword
host.name
Name of the host. It can contain what hostname returns on Unix systems, the fully qualified domain name, or a name specified by the user. The sender decides which value to use.
keyword
host.os.build
OS build information.
keyword
host.os.codename
OS codename, if any.
keyword
host.os.family
OS family (such as redhat, debian, freebsd, windows).
keyword
host.os.kernel
Operating system kernel version as a raw string.
keyword
host.os.name
Operating system name, without the version.
keyword
host.os.name.text
Multi-field of host.os.name.
text
host.os.platform
Operating system platform (such centos, ubuntu, windows).
keyword
host.os.version
Operating system version as a raw string.
keyword
host.type
Type of host. For Cloud providers this can be the machine type like t2.medium. If vm, this could be the container, for example, or other information meaningful in your environment.
keyword
http.request.id
A unique identifier for each HTTP request to correlate logs between clients and servers in transactions. The id may be contained in a non-standard HTTP header, such as X-Request-ID or X-Correlation-ID.
keyword
http.request.method
HTTP request method. The value should retain its casing from the original event. For example, GET, get, and GeT are all considered valid values for this field.
keyword
input.type
Input type.
keyword
labels
Custom key/value pairs. Can be used to add meta information to events. Should not contain nested objects. All values are stored as keyword. Example: docker and k8s labels.
object
log.file.path
Full path to the log file this event came from, including the file name. It should include the drive letter, when appropriate. If the event wasn't read from a log file, do not populate this field.
keyword
log.level
Original log level of the log event. If the source of the event provides a log level or textual severity, this is the one that goes in log.level. If your source doesn't specify one, you may put your event transport's severity here (e.g. Syslog severity). Some examples are warn, err, i, informational.
keyword
log.offset
Offset of the entry in the log file.
long
log.source.address
Source address from which the log event was read / sent from.
keyword
message
For log events the message field contains the log message, optimized for viewing in a log viewer. For structured logs without an original message field, other fields can be concatenated to form a human-readable summary of the event. If multiple messages exist, they can be combined into one message.
match_only_text
network.bytes
Total bytes transferred in both directions. If source.bytes and destination.bytes are known, network.bytes is their sum.
long
network.community_id
A hash of source and destination IPs and ports, as well as the protocol used in a communication. This is a tool-agnostic standard to identify flows. Learn more at https://github.com/corelight/community-id-spec.
keyword
network.direction
Direction of the network traffic. When mapping events from a host-based monitoring context, populate this field from the host's point of view, using the values "ingress" or "egress". When mapping events from a network or perimeter-based monitoring context, populate this field from the point of view of the network perimeter, using the values "inbound", "outbound", "internal" or "external". Note that "internal" is not crossing perimeter boundaries, and is meant to describe communication between two hosts within the perimeter. Note also that "external" is meant to describe traffic between two hosts that are external to the perimeter. This could for example be useful for ISPs or VPN service providers.
keyword
network.iana_number
IANA Protocol Number (https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml). Standardized list of protocols. This aligns well with NetFlow and sFlow related logs which use the IANA Protocol Number.
keyword
network.inner
Network.inner fields are added in addition to network.vlan fields to describe the innermost VLAN when q-in-q VLAN tagging is present. Allowed fields include vlan.id and vlan.name. Inner vlan fields are typically used when sending traffic with multiple 802.1q encapsulations to a network sensor (e.g. Zeek, Wireshark.)
group
network.inner.vlan.id
VLAN ID as reported by the observer.
keyword
network.inner.vlan.name
Optional VLAN name as reported by the observer.
keyword
network.protocol
In the OSI Model this would be the Application Layer protocol. For example, http, dns, or ssh. The field value must be normalized to lowercase for querying.
keyword
network.transport
Same as network.iana_number, but instead using the Keyword name of the transport layer (udp, tcp, ipv6-icmp, etc.) The field value must be normalized to lowercase for querying.
keyword
network.type
In the OSI Model this would be the Network Layer. ipv4, ipv6, ipsec, pim, etc The field value must be normalized to lowercase for querying.
keyword
observer.egress.interface.name
Interface name as reported by the system.
keyword
observer.egress.zone
Network zone of outbound traffic as reported by the observer to categorize the destination area of egress traffic, e.g. Internal, External, DMZ, HR, Legal, etc.
keyword
observer.hostname
Hostname of the observer.
keyword
observer.ingress.interface.name
Interface name as reported by the system.
keyword
observer.ingress.zone
Network zone of incoming traffic as reported by the observer to categorize the source area of ingress traffic. e.g. internal, External, DMZ, HR, Legal, etc.
keyword
observer.ip
IP addresses of the observer.
ip
observer.name
Custom name of the observer. This is a name that can be given to an observer. This can be helpful for example if multiple firewalls of the same model are used in an organization. If no custom name is needed, the field can be left empty.
keyword
observer.product
The product name of the observer.
keyword
observer.type
The type of the observer the data is coming from. There is no predefined list of observer types. Some examples are forwarder, firewall, ids, ips, proxy, poller, sensor, APM server.
keyword
observer.vendor
Vendor name of the observer.
keyword
observer.version
Observer version.
keyword
process.name
Process name. Sometimes called program name or similar.
keyword
process.name.text
Multi-field of process.name.
match_only_text
process.pid
Process id.
long
related.hosts
All hostnames or other host identifiers seen on your event. Example identifiers include FQDNs, domain names, workstation names, or aliases.
keyword
related.ip
All of the IPs seen on your event.
ip
related.user
All the user names or other user identifiers seen on the event.
keyword
server.address
Some event server addresses are defined ambiguously. The event will sometimes list an IP, a domain or a unix socket. You should always store the raw address in the .address field. Then it should be duplicated to .ip or .domain, depending on which one it is.
keyword
server.domain
The domain name of the server system. This value may be a host name, a fully qualified domain name, or another host naming format. The value may derive from the original event or be added from enrichment.
keyword
server.ip
IP address of the server (IPv4 or IPv6).
ip
server.port
Port of the server.
long
server.user.name
Short name or login of the user.
keyword
server.user.name.text
Multi-field of server.user.name.
match_only_text
source.address
Some event source addresses are defined ambiguously. The event will sometimes list an IP, a domain or a unix socket. You should always store the raw address in the .address field. Then it should be duplicated to .ip or .domain, depending on which one it is.
keyword
source.as.number
Unique number allocated to the autonomous system. The autonomous system number (ASN) uniquely identifies each network on the Internet.
long
source.as.organization.name
Organization name.
keyword
source.as.organization.name.text
Multi-field of source.as.organization.name.
match_only_text
source.bytes
Bytes sent from the source to the destination.
long
source.domain
The domain name of the source system. This value may be a host name, a fully qualified domain name, or another host naming format. The value may derive from the original event or be added from enrichment.
keyword
source.geo.city_name
City name.
keyword
source.geo.continent_name
Name of the continent.
keyword
source.geo.country_iso_code
Country ISO code.
keyword
source.geo.country_name
Country name.
keyword
source.geo.location
Longitude and latitude.
geo_point
source.geo.region_iso_code
Region ISO code.
keyword
source.geo.region_name
Region name.
keyword
source.ip
IP address of the source (IPv4 or IPv6).
ip
source.nat.ip
Translated ip of source based NAT sessions (e.g. internal client to internet) Typically connections traversing load balancers, firewalls, or routers.
ip
source.nat.port
Translated port of source based NAT sessions. (e.g. internal client to internet) Typically used with load balancers, firewalls, or routers.
long
source.port
Port of the source.
long
source.user.domain
Name of the directory the user is a member of. For example, an LDAP or Active Directory domain name.
keyword
source.user.group.name
Name of the group.
keyword
source.user.name
Short name or login of the user.
keyword
source.user.name.text
Multi-field of source.user.name.
match_only_text
tags
List of keywords used to tag each event.
keyword
url.domain
Domain of the url, such as "www.elastic.co". In some cases a URL may refer to an IP and/or port directly, without a domain name. In this case, the IP address would go to the domain field. If the URL contains a literal IPv6 address enclosed by [ and ] (IETF RFC 2732), the [ and ] characters should also be captured in the domain field.
keyword
url.extension
The field contains the file extension from the original request url, excluding the leading dot. The file extension is only set if it exists, as not every url has a file extension. The leading period must not be included. For example, the value must be "png", not ".png". Note that when the file name has multiple extensions (example.tar.gz), only the last one should be captured ("gz", not "tar.gz").
keyword
url.fragment
Portion of the url after the #, such as "top". The # is not part of the fragment.
keyword
url.full
If full URLs are important to your use case, they should be stored in url.full, whether this field is reconstructed or present in the event source.
wildcard
url.full.text
Multi-field of url.full.
match_only_text
url.original
Unmodified original url as seen in the event source. Note that in network monitoring, the observed URL may be a full URL, whereas in access logs, the URL is often just represented as a path. This field is meant to represent the URL as it was observed, complete or not.
wildcard
url.original.text
Multi-field of url.original.
match_only_text
url.password
Password of the request.
keyword
url.path
Path of the request, such as "/search".
wildcard
url.port
Port of the request, such as 443.
long
url.query
The query field describes the query string of the request, such as "q=elasticsearch". The ? is excluded from the query string. If a URL contains no ?, there is no query field. If there is a ? but no query, the query field exists with an empty string. The exists query can be used to differentiate between the two cases.
keyword
url.registered_domain
The highest registered url domain, stripped of the subdomain. For example, the registered domain for "foo.example.com" is "example.com". This value can be determined precisely with a list like the public suffix list (http://publicsuffix.org). Trying to approximate this by simply taking the last two labels will not work well for TLDs such as "co.uk".
keyword
url.scheme
Scheme of the request, such as "https". Note: The : is not part of the scheme.
keyword
url.subdomain
The subdomain portion of a fully qualified domain name includes all of the names except the host name under the registered_domain. In a partially qualified domain, or if the the qualification level of the full name cannot be determined, subdomain contains all of the names below the registered domain. For example the subdomain portion of "www.east.mydomain.co.uk" is "east". If the domain has multiple levels of subdomain, such as "sub2.sub1.example.com", the subdomain field should contain "sub2.sub1", with no trailing period.
keyword
url.top_level_domain
The effective top level domain (eTLD), also known as the domain suffix, is the last part of the domain name. For example, the top level domain for example.com is "com". This value can be determined precisely with a list like the public suffix list (http://publicsuffix.org). Trying to approximate this by simply taking the last label will not work well for effective TLDs such as "co.uk".
keyword
url.username
Username of the request.
keyword
user.email
User email address.
keyword
user.name
Short name or login of the user.
keyword
user.name.text
Multi-field of user.name.
match_only_text

Changelog

VersionDetailsKibana version(s)

1.5.1

Enhancement View pull request
Update description with log collection.

8.12.0 or higher

1.5.0

Enhancement View pull request
Add support of citrix_waf connector and enhance the syslog message.

8.12.0 or higher

1.4.0

Enhancement View pull request
Enable secrets for sensitive fields. For more details, refer https://www.elastic.co/guide/en/fleet/current/agent-policy.html#agent-policy-secret-values

8.12.0 or higher

1.3.1

Bug fix View pull request
Disable secrets for older stack versions due to errors.

8.7.1 or higher

1.3.0

Enhancement View pull request
Enable 'secret' for the sensitive fields, supported from 8.12.

8.7.1 or higher

1.2.0

Enhancement View pull request
Limit request tracer log count to five.

8.7.1 or higher

1.1.0

Enhancement View pull request
Update the package format_version to 3.0.0.

8.7.1 or higher

1.0.1

Bug fix View pull request
Add null check and ignore_missing check to the rename processor

8.7.1 or higher

1.0.0

Enhancement View pull request
Make Citrix ADC GA.

8.7.1 or higher

0.7.1

Bug fix View pull request
Resolve host.ip field conflict.

—

0.7.0

Enhancement View pull request
Rename ownership from obs-service-integrations to obs-infraobs-integrations

—

0.6.0

Enhancement View pull request
Add a new flag to enable request tracing

—

0.5.2

Bug fix View pull request
Fix all mapping of type float to double

—

0.5.1

Enhancement View pull request
Added categories and/or subcategories.

—

0.5.0

Enhancement View pull request
Citrix ADC integration package with "vpn" data stream.

—

0.4.0

Enhancement View pull request
Citrix ADC integration package with "system" data stream.

—

0.3.0

Enhancement View pull request
Citrix ADC integration package with "lbvserver" data stream.

—

0.2.0

Enhancement View pull request
Citrix ADC integration package with "service" data stream.

—

0.1.0

Enhancement View pull request
Citrix ADC integration package with "interface" data stream.

—

On this page