diff --git a/packages/citrix_adc/_dev/build/docs/README.md b/packages/citrix_adc/_dev/build/docs/README.md index 8b9c3502541..be92630fe3f 100644 --- a/packages/citrix_adc/_dev/build/docs/README.md +++ b/packages/citrix_adc/_dev/build/docs/README.md @@ -4,13 +4,13 @@ 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. -Use the Citrix ADC integration to collect metrics related to the interface, lbvserver, and service. Then visualize that data in Kibana, create alerts to notify you if something goes wrong, and reference logs when troubleshooting an issue. +Use the Citrix ADC integration to collect metrics related to the interface, lbvserver, service and system. Then visualize that data in Kibana, create alerts to notify you if something goes wrong and reference logs when troubleshooting an issue. ## 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](https://developer-docs.citrix.com/projects/netscaler-nitro-api/en/12.0/statistics/network/interface/), [lbvserver](https://developer-docs.citrix.com/projects/netscaler-nitro-api/en/12.0/statistics/lb/lbvserver/), and [service](https://developer-docs.citrix.com/projects/netscaler-nitro-api/en/12.0/statistics/basic/service/), so that the user could monitor and troubleshoot the performance of the Citrix ADC instances. +Metrics give you insight into the statistics of the Citrix ADC. Metrics data streams collected by the Citrix ADC integration include [interface](https://developer-docs.citrix.com/projects/netscaler-nitro-api/en/12.0/statistics/network/interface/), [lbvserver](https://developer-docs.citrix.com/projects/netscaler-nitro-api/en/12.0/statistics/lb/lbvserver/), [service](https://developer-docs.citrix.com/projects/netscaler-nitro-api/en/12.0/statistics/basic/service/) and [system](https://developer-docs.citrix.com/projects/netscaler-nitro-api/en/12.0/statistics/system/system/), so that the user could monitor and troubleshoot the performance of the Citrix ADC instances. Note: - Users can monitor and see the metrics inside the ingested documents for Citrix ADC in the logs-* index pattern from `Discover`. @@ -29,11 +29,15 @@ Host Configuration Format: `http[s]://host[:port]` Example Host Configuration: `http://localhost:9080` +### Troubleshooting + +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](https://github.com/citrix/citrix-adc-metrics-exporter/issues/44). If you also encounter it for some fields please reach out to the [Citrix ADC support team](https://support.citrix.com/plp/products/citrix_adc/tabs/popular-solutions). + ## 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. +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. {{event "interface"}} @@ -41,7 +45,7 @@ This is the `interface` data stream. The Citrix ADC interfaces are numbered in s ### 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. +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. {{event "lbvserver"}} @@ -49,8 +53,16 @@ This is the `lbvserver` data stream. The load balancing server is logically loca ### 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. +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. {{event "service"}} {{fields "service"}} + +### 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. + +{{event "system"}} + +{{fields "system"}} \ No newline at end of file diff --git a/packages/citrix_adc/_dev/deploy/docker/files/config.yml b/packages/citrix_adc/_dev/deploy/docker/files/config.yml index 45b2aca5e0d..00da7a1e6c6 100644 --- a/packages/citrix_adc/_dev/deploy/docker/files/config.yml +++ b/packages/citrix_adc/_dev/deploy/docker/files/config.yml @@ -4,7 +4,7 @@ rules: responses: - status_code: 200 body: |- - {"errorcode":0,"message":"Done","severity":"NONE","Interface":[{"id":"0/1","curintfstate":"UP","curlinkuptime":"4.06:45:16","curlinkdowntime":"00:00:11","totrxbytes":"1103884064","rxbytesrate":4603,"tottxbytes":"776571619","txbytesrate":1924,"totrxpkts":"5396347","rxpktsrate":38,"tottxpkts":"2511171","txpktsrate":5,"jumbopktsreceived":"0","jumbopktsreceivedrate":0,"jumbopktstransmitted":"0","jumbopktstransmittedrate":0,"trunkpktsreceived":"0","trunkpktsreceivedrate":0,"trunkpktstransmitted":"0","trunkpktstransmittedrate":0,"nictotmulticastpkts":"278537","nicmulticastpktsrate":0,"totnetscalerpkts":"2493179","netscalerpktsrate":6,"rxlacpdu":"0","rxlacpdurate":0,"txlacpdu":"0","txlacpdurate":0,"errpktrx":"0","errpktrxrate":0,"errpkttx":"0","errpkttxrate":0,"errifindiscards":"0","errifindiscardsrate":0,"nicerrifoutdiscards":"0","nicerrifoutdiscardsrate":0,"errdroppedrxpkts":"2797172","errdroppedrxpktsrate":32,"errdroppedtxpkts":"0","errdroppedtxpktsrate":0,"errlinkhangs":"0","nicstsstalls":"0","nictxstalls":"0","nicrxstalls":"0","nicerrdisables":"0","linkreinits":"0","totmacmoved":"0","macmovedrate":0,"errnicmuted":"0","rxcrcerrors":"0","rxcrcerrorsrate":0,"interfacealias":"","curlinkstate":"DOWN"},{"id":"LO/1","curintfstate":"UP","curlinkuptime":"4.06:45:27","curlinkdowntime":"00:00:00","totrxbytes":"5134180570","rxbytesrate":14597,"tottxbytes":"6826375522","txbytesrate":18601,"totrxpkts":"36267172","rxpktsrate":100,"tottxpkts":"71618978","txpktsrate":195,"jumbopktsreceived":"0","jumbopktsreceivedrate":0,"jumbopktstransmitted":"0","jumbopktstransmittedrate":0,"trunkpktsreceived":"0","trunkpktsreceivedrate":0,"trunkpktstransmitted":"0","trunkpktstransmittedrate":0,"nictotmulticastpkts":"0","nicmulticastpktsrate":0,"totnetscalerpkts":"36267172","netscalerpktsrate":100,"rxlacpdu":"0","rxlacpdurate":0,"txlacpdu":"0","txlacpdurate":0,"errpktrx":"0","errpktrxrate":0,"errpkttx":"0","errpkttxrate":0,"errifindiscards":"0","errifindiscardsrate":0,"nicerrifoutdiscards":"0","nicerrifoutdiscardsrate":0,"errdroppedrxpkts":"0","errdroppedrxpktsrate":0,"errdroppedtxpkts":"0","errdroppedtxpktsrate":0,"errlinkhangs":"0","nicstsstalls":"0","nictxstalls":"0","nicrxstalls":"0","nicerrdisables":"0","linkreinits":"0","totmacmoved":"0","macmovedrate":0,"errnicmuted":"0","rxcrcerrors":"0","rxcrcerrorsrate":0,"interfacealias":"","curlinkstate":"DOWN"}]} + {"errorcode": 0, "message": "Done", "severity": "NONE", "Interface": [{"id": "0/1", "curintfstate": "UP", "curlinkuptime": "4.06:45:16", "curlinkdowntime": "00:00:11", "totrxbytes": "1103884064", "rxbytesrate": 4603, "tottxbytes": "776571619", "txbytesrate": 1924, "totrxpkts": "5396347", "rxpktsrate": 38, "tottxpkts": "2511171", "txpktsrate": 5, "jumbopktsreceived": "0", "jumbopktsreceivedrate": 0, "jumbopktstransmitted": "0", "jumbopktstransmittedrate": 0, "trunkpktsreceived": "0", "trunkpktsreceivedrate": 0, "trunkpktstransmitted": "0", "trunkpktstransmittedrate": 0, "nictotmulticastpkts": "278537", "nicmulticastpktsrate": 0, "totnetscalerpkts": "2493179", "netscalerpktsrate": 6, "rxlacpdu": "0", "rxlacpdurate": 0, "txlacpdu": "0", "txlacpdurate": 0, "errpktrx": "0", "errpktrxrate": 0, "errpkttx": "0", "errpkttxrate": 0, "errifindiscards": "0", "errifindiscardsrate": 0, "nicerrifoutdiscards": "0", "nicerrifoutdiscardsrate": 0, "errdroppedrxpkts": "2797172", "errdroppedrxpktsrate": 32, "errdroppedtxpkts": "0", "errdroppedtxpktsrate": 0, "errlinkhangs": "0", "nicstsstalls": "0", "nictxstalls": "0", "nicrxstalls": "0", "nicerrdisables": "0", "linkreinits": "0", "totmacmoved": "0", "macmovedrate": 0, "errnicmuted": "0", "rxcrcerrors": "0", "rxcrcerrorsrate": 0, "interfacealias": "", "curlinkstate": "DOWN"}, {"id": "LO/1", "curintfstate": "UP", "curlinkuptime": "4.06:45:27", "curlinkdowntime": "00:00:00", "totrxbytes": "5134180570", "rxbytesrate": 14597, "tottxbytes": "6826375522", "txbytesrate": 18601, "totrxpkts": "36267172", "rxpktsrate": 100, "tottxpkts": "71618978", "txpktsrate": 195, "jumbopktsreceived": "0", "jumbopktsreceivedrate": 0, "jumbopktstransmitted": "0", "jumbopktstransmittedrate": 0, "trunkpktsreceived": "0", "trunkpktsreceivedrate": 0, "trunkpktstransmitted": "0", "trunkpktstransmittedrate": 0, "nictotmulticastpkts": "0", "nicmulticastpktsrate": 0, "totnetscalerpkts": "36267172", "netscalerpktsrate": 100, "rxlacpdu": "0", "rxlacpdurate": 0, "txlacpdu": "0", "txlacpdurate": 0, "errpktrx": "0", "errpktrxrate": 0, "errpkttx": "0", "errpkttxrate": 0, "errifindiscards": "0", "errifindiscardsrate": 0, "nicerrifoutdiscards": "0", "nicerrifoutdiscardsrate": 0, "errdroppedrxpkts": "0", "errdroppedrxpktsrate": 0, "errdroppedtxpkts": "0", "errdroppedtxpktsrate": 0, "errlinkhangs": "0", "nicstsstalls": "0", "nictxstalls": "0", "nicrxstalls": "0", "nicerrdisables": "0", "linkreinits": "0", "totmacmoved": "0", "macmovedrate": 0, "errnicmuted": "0", "rxcrcerrors": "0", "rxcrcerrorsrate": 0, "interfacealias": "", "curlinkstate": "DOWN"}]} - path: /nitro/v1/stat/service methods: ['GET'] responses: @@ -17,3 +17,9 @@ rules: - status_code: 200 body: |- {"errorcode":0,"message":"Done","severity":"NONE","lbvserver":[{"name":"elastic","avgcltttlb":"6","cltresponsetimeapdex":1,"vsvrsurgecount":"6","establishedconn":"6","inactsvcs":"6","vslbhealth":"67","primaryipaddress":"8.8.8.8","primaryport":80,"type":"HTTP","state":"DOWN","actsvcs":"10","cpuusagepm":"10","tothits":"10","hitsrate":5,"totalrequests":"5","requestsrate":5,"totalresponses":"5","responsesrate":5,"totalrequestbytes":"7","requestbytesrate":7,"totalresponsebytes":"7","responsebytesrate":7,"totalh2requests":"7","h2requestsrate":7,"totalh2responses":"7","h2responsesrate":7,"totalpktsrecvd":"7","pktsrecvdrate":8,"totalpktssent":"8","pktssentrate":8,"curclntconnections":"8","cursrvrconnections":"8","curpersistencesessions":"8","curbackuppersistencesessions":"8","surgecount":"8","svcsurgecount":"8","sothreshold":"8","totspillovers":"8","labelledconn":"8","pushlabel":"8","deferredreq":"13","deferredreqrate":13,"invalidrequestresponse":"13","invalidrequestresponsedropped":"13","totvserverdownbackuphits":"13","curmptcpsessions":"13","cursubflowconn":"13","totalconnreassemblyqueue75":"13","totalconnreassemblyqueueflush":"3","totalsvrbusyerr":"3","svrbusyerrrate":3,"reqretrycount":"3","reqretrycountexceeded":"3","httpmaxhdrszpkts":"3","httpmaxhdrfldlenpkts":"3","tcpmaxooopkts":"3","totcltttlbtransactions":"3","cltttlbtransactionsrate":3,"toleratingttlbtransactions":"3","toleratingttlbtransactionsrate":1,"frustratingttlbtransactions":"1","frustratingttlbtransactionsrate":1}]} + - path: /nitro/v1/stat/system + methods: ['GET'] + responses: + - status_code: 200 + body: |- + {"errorcode": 0, "message": "Done", "severity": "NONE", "system": { "voltagev12n": 0.000000, "voltagev5n": 0.000000, "cpuusage": "1", "rescpuusage": "4294967295", "slavecpuusage": "4294967295", "mastercpuusage": "4294967295", "auxvolt7": 0.000000, "auxvolt6": 0.000000, "auxvolt5": 0.000000, "auxvolt4": 0.000000, "auxvolt3": 0.000000, "auxvolt2": 0.000000, "auxvolt1": 0.000000, "auxvolt0": 0.000000, "voltagevsen2": 0.000000, "voltagev5sb": 0.000000, "voltagevtt": 0.000000, "voltagevbat": 0.000000, "voltagev12p": 0.000000, "voltagev5p": 0.000000, "voltagev33stby": 0.000000, "voltagev33main": 0.000000, "voltagevcc1": 0.000000, "voltagevcc0": 0.000000, "numcpus": "1", "memusagepcnt": 21.114572, "memuseinmb": "216", "addimgmtcpuusagepcnt": 0.000000, "mgmtcpu0usagepcnt": 0.800000, "mgmtcpuusagepcnt": 0.800000, "pktcpuusagepcnt": 1.100000, "cpuusagepcnt": 1.100000, "rescpuusagepcnt": 4294967295.000000, "starttimelocal": "Thu Sep 22 09:20:13 2022", "starttime": "Thu Sep 22 03:50:13 2022", "disk0perusage": 12, "disk1perusage": 12, "cpufan0speed": 0, "cpufan1speed": 0, "systemfanspeed": 0, "fan0speed": 0, "fanspeed": 0, "cpu0temp": 0, "cpu1temp": 0, "internaltemp": 0, "powersupply1status": "NOT SUPPORTED", "powersupply2status": "NOT SUPPORTED", "powersupply3status": "NOT SUPPORTED", "powersupply4status": "NOT SUPPORTED", "disk0size": 1585, "disk0used": 180, "disk0avail": 1278, "disk1size": 14179, "disk1used": 1603, "disk1avail": 11441, "fan2speed": 0, "fan3speed": 0, "fan4speed": 0, "fan5speed": 0, "auxtemp0": 0, "auxtemp1": 0, "auxtemp2": 0, "auxtemp3": 0, "timesincestart": "00:00:00", "memsizemb": "0"}} diff --git a/packages/citrix_adc/changelog.yml b/packages/citrix_adc/changelog.yml index 2c9e1fd7f9b..176d04086ff 100644 --- a/packages/citrix_adc/changelog.yml +++ b/packages/citrix_adc/changelog.yml @@ -1,4 +1,9 @@ # newer versions go on top +- version: "0.4.0" + changes: + - description: Citrix ADC integration package with "system" data stream. + type: enhancement + link: https://github.com/elastic/integrations/pull/4458 - version: "0.3.0" changes: - description: Citrix ADC integration package with "lbvserver" data stream. diff --git a/packages/citrix_adc/data_stream/system/_dev/test/pipeline/test-common-config.yml b/packages/citrix_adc/data_stream/system/_dev/test/pipeline/test-common-config.yml new file mode 100644 index 00000000000..4da22641654 --- /dev/null +++ b/packages/citrix_adc/data_stream/system/_dev/test/pipeline/test-common-config.yml @@ -0,0 +1,3 @@ +fields: + tags: + - preserve_original_event diff --git a/packages/citrix_adc/data_stream/system/_dev/test/pipeline/test-system-metrics.log b/packages/citrix_adc/data_stream/system/_dev/test/pipeline/test-system-metrics.log new file mode 100644 index 00000000000..dd84177e445 --- /dev/null +++ b/packages/citrix_adc/data_stream/system/_dev/test/pipeline/test-system-metrics.log @@ -0,0 +1,2 @@ +{"errorcode":0,"message":"Done","severity":"NONE","system":{"voltagev12n":0.000000,"voltagev5n":0.000000,"cpuusage":"1","rescpuusage":"4294967295","slavecpuusage":"4294967295","mastercpuusage":"4294967295","auxvolt7":0.000000,"auxvolt6":0.000000,"auxvolt5":0.000000,"auxvolt4":0.000000,"auxvolt3":0.000000,"auxvolt2":0.000000,"auxvolt1":0.000000,"auxvolt0":0.000000,"voltagevsen2":0.000000,"voltagev5sb":0.000000,"voltagevtt":0.000000,"voltagevbat":0.000000,"voltagev12p":0.000000,"voltagev5p":0.000000,"voltagev33stby":0.000000,"voltagev33main":0.000000,"voltagevcc1":0.000000,"voltagevcc0":0.000000,"numcpus":"1","memusagepcnt":21.105921,"memuseinmb":"216","addimgmtcpuusagepcnt":0.000000,"mgmtcpu0usagepcnt":0.900000,"mgmtcpuusagepcnt":0.900000,"pktcpuusagepcnt":0.900000,"cpuusagepcnt":0.900000,"rescpuusagepcnt":4294967295.000000,"starttimelocal":"Thu Sep 22 09:20:13 2022","starttime":"Tue Sep 13 08:40:04 2022","disk0perusage":12,"disk1perusage":12,"cpufan0speed":0,"cpufan1speed":0,"systemfanspeed":0,"fan0speed":0,"fanspeed":0,"cpu0temp":0,"cpu1temp":0,"internaltemp":0,"powersupply1status":"NOTSUPPORTED","powersupply2status":"NOTSUPPORTED","powersupply3status":"NOTSUPPORTED","powersupply4status":"NOTSUPPORTED","disk0size":1585,"disk0used":180,"disk0avail":1278,"disk1size":14179,"disk1used":1583,"disk1avail":11461,"fan2speed":0,"fan3speed":0,"fan4speed":0,"fan5speed":0,"auxtemp0":0,"auxtemp1":0,"auxtemp2":0,"auxtemp3":0,"timesincestart":"00:00:00","memsizemb":"0"}} +{"errorcode":0,"message":"Done","severity":"NONE","system":{"voltagev12n":0,"voltagev5n":0,"cpuusage":"1","rescpuusage":"4294967295","slavecpuusage":"4294967295","mastercpuusage":"4294967295","auxvolt7":0,"auxvolt6":0,"auxvolt5":0,"auxvolt4":0,"auxvolt3":0,"auxvolt2":0,"auxvolt1":0,"auxvolt0":0,"voltagevsen2":0,"voltagev5sb":0,"voltagevtt":0,"voltagevbat":0,"voltagev12p":0,"voltagev5p":0,"voltagev33stby":0,"voltagev33main":0,"voltagevcc1":0,"voltagevcc0":0,"numcpus":"1","memusagepcnt":89.222422,"memuseinmb":"214","addimgmtcpuusagepcnt":0,"mgmtcpu0usagepcnt":0,"mgmtcpuusagepcnt":0,"pktcpuusagepcnt":0.6,"cpuusagepcnt":0.6,"rescpuusagepcnt":4294967295,"starttimelocal":"Fri Nov 4 09:56:30 2022","starttime":"Fri Nov 4 09:56:30 2022","disk0perusage":0,"disk1perusage":0,"cpufan0speed":0,"cpufan1speed":0,"systemfanspeed":0,"fan0speed":0,"fanspeed":0,"cpu0temp":0,"cpu1temp":0,"internaltemp":0,"powersupply1status":"NOT SUPPORTED","powersupply2status":"NOT SUPPORTED","powersupply3status":"NOT SUPPORTED","powersupply4status":"NOT SUPPORTED","disk0size":0,"disk0used":0,"disk0avail":0,"disk1size":0,"disk1used":0,"disk1avail":0,"fan2speed":0,"fan3speed":0,"fan4speed":0,"fan5speed":0,"auxtemp0":0,"auxtemp1":0,"auxtemp2":0,"auxtemp3":0,"timesincestart":"00:00:00","memsizemb":"0"}} \ No newline at end of file diff --git a/packages/citrix_adc/data_stream/system/_dev/test/pipeline/test-system-metrics.log-expected.json b/packages/citrix_adc/data_stream/system/_dev/test/pipeline/test-system-metrics.log-expected.json new file mode 100644 index 00000000000..98e805c1358 --- /dev/null +++ b/packages/citrix_adc/data_stream/system/_dev/test/pipeline/test-system-metrics.log-expected.json @@ -0,0 +1,146 @@ +{ + "expected": [ + { + "citrix_adc": { + "system": { + "cpu": { + "count": 1.0, + "utilization": { + "additional_management": { + "pct": 0.0 + }, + "avg": { + "pct": 4.2949673E9 + }, + "management": { + "pct": 0.9 + }, + "master": { + "pct": 4.2949673E9 + }, + "packets": { + "pct": 0.9 + }, + "pct": 0.9, + "slave": { + "pct": 4.2949673E9 + } + } + }, + "disk": { + "usage": { + "flash_partition": { + "pct": 12 + }, + "var_partition": { + "pct": 12 + } + } + }, + "memory": { + "size": { + "value": 0.0 + }, + "usage": { + "value": 2.26492416E8 + }, + "utilization": { + "pct": 21.105921 + } + }, + "start": { + "time": "2022-09-13T08:40:04.000Z" + } + } + }, + "ecs": { + "version": "8.4.0" + }, + "event": { + "category": [ + "web" + ], + "kind": "event", + "module": "citrix_adc", + "original": "{\"errorcode\":0,\"message\":\"Done\",\"severity\":\"NONE\",\"system\":{\"voltagev12n\":0.000000,\"voltagev5n\":0.000000,\"cpuusage\":\"1\",\"rescpuusage\":\"4294967295\",\"slavecpuusage\":\"4294967295\",\"mastercpuusage\":\"4294967295\",\"auxvolt7\":0.000000,\"auxvolt6\":0.000000,\"auxvolt5\":0.000000,\"auxvolt4\":0.000000,\"auxvolt3\":0.000000,\"auxvolt2\":0.000000,\"auxvolt1\":0.000000,\"auxvolt0\":0.000000,\"voltagevsen2\":0.000000,\"voltagev5sb\":0.000000,\"voltagevtt\":0.000000,\"voltagevbat\":0.000000,\"voltagev12p\":0.000000,\"voltagev5p\":0.000000,\"voltagev33stby\":0.000000,\"voltagev33main\":0.000000,\"voltagevcc1\":0.000000,\"voltagevcc0\":0.000000,\"numcpus\":\"1\",\"memusagepcnt\":21.105921,\"memuseinmb\":\"216\",\"addimgmtcpuusagepcnt\":0.000000,\"mgmtcpu0usagepcnt\":0.900000,\"mgmtcpuusagepcnt\":0.900000,\"pktcpuusagepcnt\":0.900000,\"cpuusagepcnt\":0.900000,\"rescpuusagepcnt\":4294967295.000000,\"starttimelocal\":\"Thu Sep 22 09:20:13 2022\",\"starttime\":\"Tue Sep 13 08:40:04 2022\",\"disk0perusage\":12,\"disk1perusage\":12,\"cpufan0speed\":0,\"cpufan1speed\":0,\"systemfanspeed\":0,\"fan0speed\":0,\"fanspeed\":0,\"cpu0temp\":0,\"cpu1temp\":0,\"internaltemp\":0,\"powersupply1status\":\"NOTSUPPORTED\",\"powersupply2status\":\"NOTSUPPORTED\",\"powersupply3status\":\"NOTSUPPORTED\",\"powersupply4status\":\"NOTSUPPORTED\",\"disk0size\":1585,\"disk0used\":180,\"disk0avail\":1278,\"disk1size\":14179,\"disk1used\":1583,\"disk1avail\":11461,\"fan2speed\":0,\"fan3speed\":0,\"fan4speed\":0,\"fan5speed\":0,\"auxtemp0\":0,\"auxtemp1\":0,\"auxtemp2\":0,\"auxtemp3\":0,\"timesincestart\":\"00:00:00\",\"memsizemb\":\"0\"}}", + "type": [ + "info" + ] + }, + "tags": [ + "preserve_original_event" + ] + }, + { + "citrix_adc": { + "system": { + "cpu": { + "count": 1.0, + "utilization": { + "additional_management": { + "pct": 0 + }, + "avg": { + "pct": 4.2949673E9 + }, + "management": { + "pct": 0 + }, + "master": { + "pct": 4.2949673E9 + }, + "packets": { + "pct": 0.6 + }, + "pct": 0.6, + "slave": { + "pct": 4.2949673E9 + } + } + }, + "disk": { + "usage": { + "flash_partition": { + "pct": 0 + }, + "var_partition": { + "pct": 0 + } + } + }, + "memory": { + "size": { + "value": 0.0 + }, + "usage": { + "value": 2.24395264E8 + }, + "utilization": { + "pct": 89.222422 + } + }, + "start": { + "time": "2022-11-04T09:56:30.000Z" + } + } + }, + "ecs": { + "version": "8.4.0" + }, + "event": { + "category": [ + "web" + ], + "kind": "event", + "module": "citrix_adc", + "original": "{\"errorcode\":0,\"message\":\"Done\",\"severity\":\"NONE\",\"system\":{\"voltagev12n\":0,\"voltagev5n\":0,\"cpuusage\":\"1\",\"rescpuusage\":\"4294967295\",\"slavecpuusage\":\"4294967295\",\"mastercpuusage\":\"4294967295\",\"auxvolt7\":0,\"auxvolt6\":0,\"auxvolt5\":0,\"auxvolt4\":0,\"auxvolt3\":0,\"auxvolt2\":0,\"auxvolt1\":0,\"auxvolt0\":0,\"voltagevsen2\":0,\"voltagev5sb\":0,\"voltagevtt\":0,\"voltagevbat\":0,\"voltagev12p\":0,\"voltagev5p\":0,\"voltagev33stby\":0,\"voltagev33main\":0,\"voltagevcc1\":0,\"voltagevcc0\":0,\"numcpus\":\"1\",\"memusagepcnt\":89.222422,\"memuseinmb\":\"214\",\"addimgmtcpuusagepcnt\":0,\"mgmtcpu0usagepcnt\":0,\"mgmtcpuusagepcnt\":0,\"pktcpuusagepcnt\":0.6,\"cpuusagepcnt\":0.6,\"rescpuusagepcnt\":4294967295,\"starttimelocal\":\"Fri Nov 4 09:56:30 2022\",\"starttime\":\"Fri Nov 4 09:56:30 2022\",\"disk0perusage\":0,\"disk1perusage\":0,\"cpufan0speed\":0,\"cpufan1speed\":0,\"systemfanspeed\":0,\"fan0speed\":0,\"fanspeed\":0,\"cpu0temp\":0,\"cpu1temp\":0,\"internaltemp\":0,\"powersupply1status\":\"NOT SUPPORTED\",\"powersupply2status\":\"NOT SUPPORTED\",\"powersupply3status\":\"NOT SUPPORTED\",\"powersupply4status\":\"NOT SUPPORTED\",\"disk0size\":0,\"disk0used\":0,\"disk0avail\":0,\"disk1size\":0,\"disk1used\":0,\"disk1avail\":0,\"fan2speed\":0,\"fan3speed\":0,\"fan4speed\":0,\"fan5speed\":0,\"auxtemp0\":0,\"auxtemp1\":0,\"auxtemp2\":0,\"auxtemp3\":0,\"timesincestart\":\"00:00:00\",\"memsizemb\":\"0\"}}", + "type": [ + "info" + ] + }, + "tags": [ + "preserve_original_event" + ] + } + ] +} \ No newline at end of file diff --git a/packages/citrix_adc/data_stream/system/_dev/test/system/test-default-config.yml b/packages/citrix_adc/data_stream/system/_dev/test/system/test-default-config.yml new file mode 100644 index 00000000000..64d99ea379c --- /dev/null +++ b/packages/citrix_adc/data_stream/system/_dev/test/system/test-default-config.yml @@ -0,0 +1,7 @@ +input: httpjson +service: citrix_adc +vars: + hostname: http://{{Hostname}}:{{Port}} +data_stream: + vars: + preserve_original_event: true diff --git a/packages/citrix_adc/data_stream/system/agent/stream/stream.yml.hbs b/packages/citrix_adc/data_stream/system/agent/stream/stream.yml.hbs new file mode 100644 index 00000000000..1df549436d2 --- /dev/null +++ b/packages/citrix_adc/data_stream/system/agent/stream/stream.yml.hbs @@ -0,0 +1,27 @@ +config_version: 2 +interval: {{period}} +request.url: {{hostname}}/nitro/v1/stat/system +request.method: GET +{{#if username}} +{{#if password}} +auth.basic.user: {{username}} +auth.basic.password: {{password}} +{{/if}} +{{/if}} +{{#if ssl}} +request.ssl: {{ssl}} +{{/if}} +tags: +{{#if preserve_original_event}} + - preserve_original_event +{{/if}} +{{#each tags as |tag|}} + - {{tag}} +{{/each}} +{{#contains "forwarded" tags}} +publisher_pipeline.disable_host: true +{{/contains}} +{{#if processors}} +processors: +{{processors}} +{{/if}} \ No newline at end of file diff --git a/packages/citrix_adc/data_stream/system/elasticsearch/ingest_pipeline/default.yml b/packages/citrix_adc/data_stream/system/elasticsearch/ingest_pipeline/default.yml new file mode 100644 index 00000000000..109c908f323 --- /dev/null +++ b/packages/citrix_adc/data_stream/system/elasticsearch/ingest_pipeline/default.yml @@ -0,0 +1,163 @@ +--- +description: Pipeline for parsing Citrix ADC System metrics. +processors: + - set: + field: ecs.version + value: 8.4.0 + ignore_failure: true + ignore_empty_value: true + - set: + field: event.type + value: ["info"] + ignore_failure: true + ignore_empty_value: true + - set: + field: event.kind + value: event + ignore_failure: true + ignore_empty_value: true + - set: + field: event.category + value: ["web"] + ignore_failure: true + ignore_empty_value: true + - set: + field: event.module + value: citrix_adc + ignore_failure: true + ignore_empty_value: true + - rename: + field: message + target_field: event.original + ignore_missing: true + ignore_failure: true + - json: + field: event.original + target_field: json + ignore_failure: true + - rename: + field: json.system.addimgmtcpuusagepcnt + target_field: citrix_adc.system.cpu.utilization.additional_management.pct + ignore_missing: true + ignore_failure: true + - rename: + field: json.system.mgmtcpuusagepcnt + target_field: citrix_adc.system.cpu.utilization.management.pct + ignore_missing: true + ignore_failure: true + - rename: + field: json.system.pktcpuusagepcnt + target_field: citrix_adc.system.cpu.utilization.packets.pct + ignore_missing: true + ignore_failure: true + - rename: + field: json.system.cpuusagepcnt + target_field: citrix_adc.system.cpu.utilization.pct + ignore_missing: true + ignore_failure: true + - rename: + field: json.system.disk0perusage + target_field: citrix_adc.system.disk.usage.flash_partition.pct + ignore_missing: true + ignore_failure: true + - rename: + field: json.system.disk1perusage + target_field: citrix_adc.system.disk.usage.var_partition.pct + ignore_missing: true + ignore_failure: true + - rename: + field: json.system.memusagepcnt + target_field: citrix_adc.system.memory.utilization.pct + ignore_missing: true + ignore_failure: true + # Renaming and converting fields to float + - convert: + field: json.system.numcpus + target_field: citrix_adc.system.cpu.count + type: float + ignore_missing: true + ignore_failure: true + - convert: + field: json.system.rescpuusage + target_field: citrix_adc.system.cpu.utilization.avg.pct + type: float + ignore_missing: true + ignore_failure: true + - convert: + field: json.system.mastercpuusage + target_field: citrix_adc.system.cpu.utilization.master.pct + type: float + ignore_missing: true + ignore_failure: true + - convert: + field: json.system.slavecpuusage + target_field: citrix_adc.system.cpu.utilization.slave.pct + type: float + ignore_missing: true + ignore_failure: true + - convert: + field: json.system.memsizemb + target_field: citrix_adc.system.memory.size.value + type: float + ignore_missing: true + ignore_failure: true + - convert: + field: json.system.memuseinmb + target_field: citrix_adc.system.memory.usage.value + type: float + ignore_missing: true + ignore_failure: true + - date: + field: json.system.starttime + target_field: citrix_adc.system.start.time + ignore_failure: true + formats: + - EEE MMM dd HH:mm:ss yyyy + - EEE MMM dd HH:mm:ss.SSSSSS yyyy + - EEE MMM d HH:mm:ss yyyy + - EEE MMM d HH:mm:ss.SSSSSS yyyy + - script: + description: Convert megabyte to byte. + lang: painless + source: | + def convert(def megabytes){ + def bytes = (megabytes*1024*1024); + return bytes; + } + if(ctx.citrix_adc?.system?.memory?.size?.value!=null || ctx.citrix_adc?.system?.memory?.size?.value!=""){ + ctx.citrix_adc.system.memory.size.value = convert(ctx.citrix_adc.system.memory.size.value); + } + if(ctx.citrix_adc?.system?.memory?.usage?.value!=null || ctx.citrix_adc?.system?.memory?.usage?.value!=""){ + ctx.citrix_adc.system.memory.usage.value = convert(ctx.citrix_adc.system.memory.usage.value); + } + - script: + description: Drops null/empty values recursively. + lang: painless + source: | + boolean drop(Object o) { + if (o == null || o == "") { + return true; + } else if (o instanceof Map) { + ((Map) o).values().removeIf(v -> drop(v)); + return (((Map) o).size() == 0); + } else if (o instanceof List) { + ((List) o).removeIf(v -> drop(v)); + return (((List) o).length == 0); + } + return false; + } + drop(ctx); + - remove: + field: + - json + ignore_missing: true + ignore_failure: true + - remove: + field: event.original + if: ctx.tags == null || !(ctx.tags.contains('preserve_original_event')) + ignore_missing: true + ignore_failure: true +on_failure: + - set: + field: error.message + value: '{{{_ingest.on_failure_message}}}' diff --git a/packages/citrix_adc/data_stream/system/fields/base-fields.yml b/packages/citrix_adc/data_stream/system/fields/base-fields.yml new file mode 100644 index 00000000000..71df896d68c --- /dev/null +++ b/packages/citrix_adc/data_stream/system/fields/base-fields.yml @@ -0,0 +1,15 @@ +- name: data_stream.type + type: constant_keyword + description: Data stream type. +- name: data_stream.dataset + type: constant_keyword + description: Data stream dataset. +- name: data_stream.namespace + type: constant_keyword + description: Data stream namespace. +- name: input.type + type: keyword + description: Type of Filebeat input. +- name: '@timestamp' + type: date + description: Event timestamp. diff --git a/packages/citrix_adc/data_stream/system/fields/ecs.yml b/packages/citrix_adc/data_stream/system/fields/ecs.yml new file mode 100644 index 00000000000..cd6e234ba91 --- /dev/null +++ b/packages/citrix_adc/data_stream/system/fields/ecs.yml @@ -0,0 +1,18 @@ +- external: ecs + name: ecs.version +- external: ecs + name: error.message +- external: ecs + name: event.category +- external: ecs + name: event.dataset +- external: ecs + name: event.ingested +- external: ecs + name: event.kind +- external: ecs + name: event.module +- external: ecs + name: event.type +- external: ecs + name: tags diff --git a/packages/citrix_adc/data_stream/system/fields/fields.yml b/packages/citrix_adc/data_stream/system/fields/fields.yml new file mode 100644 index 00000000000..30dc5f11068 --- /dev/null +++ b/packages/citrix_adc/data_stream/system/fields/fields.yml @@ -0,0 +1,85 @@ +- name: citrix_adc + type: group + fields: + - name: system + type: group + fields: + - name: cpu + type: group + fields: + - name: count + type: float + description: The number of CPUs on the NetScaler appliance. + metric_type: gauge + - name: utilization + type: group + fields: + - name: additional_management.pct + type: float + description: Additional Management CPU utilization percentage. + metric_type: gauge + unit: percent + - name: avg.pct + type: float + description: Shows average CPU utilization percentage if more than 1 CPU is present. + metric_type: gauge + unit: percent + - name: management.pct + type: float + description: Average Management CPU utilization percentage. + metric_type: gauge + unit: percent + - name: master.pct + type: float + description: CPU 0 (currently the master CPU) utilization, as percentage of capacity. + metric_type: gauge + unit: percent + - name: packets.pct + type: float + description: Average CPU utilization percentage for all packet engines excluding management PE. + metric_type: gauge + unit: percent + - name: pct + type: float + description: CPU utilization percentage. + metric_type: gauge + unit: percent + - name: slave.pct + type: float + description: CPU 1 (currently the slave CPU) utilization, as percentage of capacity. + metric_type: gauge + unit: percent + - name: disk.usage + type: group + fields: + - name: flash_partition.pct + type: float + description: Used space in /flash partition of the disk, as a percentage. + metric_type: gauge + unit: percent + - name: var_partition.pct + type: float + description: Used space in /var partition of the disk, as a percentage. + metric_type: gauge + unit: percent + - name: memory + type: group + fields: + - name: size.value + type: float + description: Total amount of system memory, in bytes. + metric_type: gauge + unit: byte + - name: usage.value + type: float + description: Main memory currently in use, in bytes. + metric_type: gauge + unit: byte + - name: utilization.pct + type: float + description: Percentage of memory utilization on NetScaler. + metric_type: gauge + unit: percent + - name: start.time + type: date + description: Time when the NetScaler appliance was last started. diff --git a/packages/citrix_adc/data_stream/system/manifest.yml b/packages/citrix_adc/data_stream/system/manifest.yml new file mode 100644 index 00000000000..46e8311b4a5 --- /dev/null +++ b/packages/citrix_adc/data_stream/system/manifest.yml @@ -0,0 +1,38 @@ +title: System metrics +type: logs +streams: + - input: httpjson + template_path: stream.yml.hbs + title: Citrix ADC System metrics + description: Collect Citrix ADC System metrics. + vars: + - name: period + type: text + required: true + title: Period + default: 10s + description: Period of fetching metrics, i.e. 1s/1m/1h. + - name: tags + type: text + title: Tags + multi: true + required: true + show_user: false + default: + - citrix_adc-system + - forwarded + - name: preserve_original_event + required: true + show_user: true + title: Preserve original event + description: Preserves a raw copy of the original event, added to the field `event.original`. + type: bool + multi: false + default: false + - name: processors + type: yaml + title: Processors + multi: false + required: false + show_user: false + description: Processors are used to reduce the number of fields in the exported event or to enhance the event with metadata. This executes in the agent before the logs are parsed. See [Processors](https://www.elastic.co/guide/en/beats/filebeat/current/filtering-and-enhancing-data.html) for details. diff --git a/packages/citrix_adc/data_stream/system/sample_event.json b/packages/citrix_adc/data_stream/system/sample_event.json new file mode 100644 index 00000000000..3ab54fd54e5 --- /dev/null +++ b/packages/citrix_adc/data_stream/system/sample_event.json @@ -0,0 +1,98 @@ +{ + "@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" + ] +} \ No newline at end of file diff --git a/packages/citrix_adc/docs/README.md b/packages/citrix_adc/docs/README.md index e00e4694152..8ec954968ab 100644 --- a/packages/citrix_adc/docs/README.md +++ b/packages/citrix_adc/docs/README.md @@ -4,13 +4,13 @@ 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. -Use the Citrix ADC integration to collect metrics related to the interface, lbvserver, and service. Then visualize that data in Kibana, create alerts to notify you if something goes wrong, and reference logs when troubleshooting an issue. +Use the Citrix ADC integration to collect metrics related to the interface, lbvserver, service and system. Then visualize that data in Kibana, create alerts to notify you if something goes wrong and reference logs when troubleshooting an issue. ## 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](https://developer-docs.citrix.com/projects/netscaler-nitro-api/en/12.0/statistics/network/interface/), [lbvserver](https://developer-docs.citrix.com/projects/netscaler-nitro-api/en/12.0/statistics/lb/lbvserver/), and [service](https://developer-docs.citrix.com/projects/netscaler-nitro-api/en/12.0/statistics/basic/service/), so that the user could monitor and troubleshoot the performance of the Citrix ADC instances. +Metrics give you insight into the statistics of the Citrix ADC. Metrics data streams collected by the Citrix ADC integration include [interface](https://developer-docs.citrix.com/projects/netscaler-nitro-api/en/12.0/statistics/network/interface/), [lbvserver](https://developer-docs.citrix.com/projects/netscaler-nitro-api/en/12.0/statistics/lb/lbvserver/), [service](https://developer-docs.citrix.com/projects/netscaler-nitro-api/en/12.0/statistics/basic/service/) and [system](https://developer-docs.citrix.com/projects/netscaler-nitro-api/en/12.0/statistics/system/system/), so that the user could monitor and troubleshoot the performance of the Citrix ADC instances. Note: - Users can monitor and see the metrics inside the ingested documents for Citrix ADC in the logs-* index pattern from `Discover`. @@ -29,11 +29,15 @@ Host Configuration Format: `http[s]://host[:port]` Example Host Configuration: `http://localhost:9080` +### Troubleshooting + +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](https://github.com/citrix/citrix-adc-metrics-exporter/issues/44). If you also encounter it for some fields please reach out to the [Citrix ADC support team](https://support.citrix.com/plp/products/citrix_adc/tabs/popular-solutions). + ## 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. +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: @@ -246,7 +250,7 @@ An example event for `interface` looks as following: ### 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. +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: @@ -475,7 +479,7 @@ An example event for `lbvserver` looks as following: ### 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. +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: @@ -643,3 +647,143 @@ An example event for `service` looks as following: | 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: + +```json +{ + "@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** + +| Field | Description | Type | Unit | Metric Type | +|---|---|---|---|---| +| @timestamp | Event timestamp. | date | | | +| citrix_adc.system.cpu.count | The number of CPUs on the NetScaler appliance. | float | | gauge | +| citrix_adc.system.cpu.utilization.additional_management.pct | Additional Management CPU utilization percentage. | float | percent | gauge | +| citrix_adc.system.cpu.utilization.avg.pct | Shows average CPU utilization percentage if more than 1 CPU is present. | float | percent | gauge | +| citrix_adc.system.cpu.utilization.management.pct | Average Management CPU utilization percentage. | float | percent | gauge | +| citrix_adc.system.cpu.utilization.master.pct | CPU 0 (currently the master CPU) utilization, as percentage of capacity. | float | percent | gauge | +| citrix_adc.system.cpu.utilization.packets.pct | Average CPU utilization percentage for all packet engines excluding management PE. | float | percent | gauge | +| citrix_adc.system.cpu.utilization.pct | CPU utilization percentage. | float | percent | gauge | +| citrix_adc.system.cpu.utilization.slave.pct | CPU 1 (currently the slave CPU) utilization, as percentage of capacity. | float | percent | gauge | +| citrix_adc.system.disk.usage.flash_partition.pct | Used space in /flash partition of the disk, as a percentage. | float | percent | gauge | +| citrix_adc.system.disk.usage.var_partition.pct | Used space in /var partition of the disk, as a percentage. | float | percent | gauge | +| citrix_adc.system.memory.size.value | Total amount of system memory, in bytes. | float | byte | gauge | +| citrix_adc.system.memory.usage.value | Main memory currently in use, in bytes. | float | byte | gauge | +| citrix_adc.system.memory.utilization.pct | Percentage of memory utilization on NetScaler. | float | 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 | | | +| input.type | Type of Filebeat input. | keyword | | | +| tags | List of keywords used to tag each event. | keyword | | | diff --git a/packages/citrix_adc/img/citrix_adc-system-dashboard.png b/packages/citrix_adc/img/citrix_adc-system-dashboard.png new file mode 100644 index 00000000000..86fe06e09df Binary files /dev/null and b/packages/citrix_adc/img/citrix_adc-system-dashboard.png differ diff --git a/packages/citrix_adc/kibana/dashboard/citrix_adc-73ef1be0-485a-11ed-aee6-31b55c85e6df.json b/packages/citrix_adc/kibana/dashboard/citrix_adc-73ef1be0-485a-11ed-aee6-31b55c85e6df.json new file mode 100644 index 00000000000..d11490f4671 --- /dev/null +++ b/packages/citrix_adc/kibana/dashboard/citrix_adc-73ef1be0-485a-11ed-aee6-31b55c85e6df.json @@ -0,0 +1,716 @@ +{ + "attributes": { + "description": "This Citrix ADC dashboard visualizes System metrics.", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "optionsJSON": { + "hidePanelTitles": false, + "syncColors": false, + "syncTooltips": false, + "useMargins": true + }, + "panelsJSON": [ + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "logs-*", + "name": "indexpattern-datasource-layer-eee36b23-5dec-4dc7-983e-0d4dca19edca", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "679a4987-e531-4cb3-ae99-69fe0b79f914", + "type": "index-pattern" + } + ], + "state": { + "datasourceStates": { + "indexpattern": { + "layers": { + "eee36b23-5dec-4dc7-983e-0d4dca19edca": { + "columnOrder": [ + "63e92a45-99b2-4f8d-b08a-5d96ff3cc260" + ], + "columns": { + "63e92a45-99b2-4f8d-b08a-5d96ff3cc260": { + "customLabel": true, + "dataType": "number", + "filter": { + "language": "kuery", + "query": "citrix_adc.system.memory.size.value: *" + }, + "isBucketed": false, + "label": "System memory", + "operationType": "last_value", + "params": { + "format": { + "id": "bytes", + "params": { + "decimals": 2 + } + }, + "sortField": "@timestamp" + }, + "scale": "ratio", + "sourceField": "citrix_adc.system.memory.size.value" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "index": "679a4987-e531-4cb3-ae99-69fe0b79f914", + "key": "event.dataset", + "negate": false, + "params": { + "query": "citrix_adc.system" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "citrix_adc.system" + } + } + } + ], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "accessor": "63e92a45-99b2-4f8d-b08a-5d96ff3cc260", + "layerId": "eee36b23-5dec-4dc7-983e-0d4dca19edca", + "layerType": "data", + "textAlign": "center", + "titlePosition": "bottom" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsMetric" + }, + "enhancements": {}, + "hidePanelTitles": true + }, + "gridData": { + "h": 8, + "i": "7dbde1e2-7e1d-4f02-874f-a0c105840bb3", + "w": 16, + "x": 0, + "y": 0 + }, + "panelIndex": "7dbde1e2-7e1d-4f02-874f-a0c105840bb3", + "title": "System memory [Metrics Citrix ADC]", + "type": "lens", + "version": "8.4.1" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "logs-*", + "name": "indexpattern-datasource-layer-eee36b23-5dec-4dc7-983e-0d4dca19edca", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "d4e185c8-3e2c-4c1e-9fcf-39517dbaf0fa", + "type": "index-pattern" + } + ], + "state": { + "datasourceStates": { + "indexpattern": { + "layers": { + "eee36b23-5dec-4dc7-983e-0d4dca19edca": { + "columnOrder": [ + "63e92a45-99b2-4f8d-b08a-5d96ff3cc260" + ], + "columns": { + "63e92a45-99b2-4f8d-b08a-5d96ff3cc260": { + "customLabel": true, + "dataType": "number", + "filter": { + "language": "kuery", + "query": "citrix_adc.system.memory.usage.value: *" + }, + "isBucketed": false, + "label": "Memory in use", + "operationType": "last_value", + "params": { + "format": { + "id": "bytes", + "params": { + "decimals": 2 + } + }, + "sortField": "@timestamp" + }, + "scale": "ratio", + "sourceField": "citrix_adc.system.memory.usage.value" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "index": "d4e185c8-3e2c-4c1e-9fcf-39517dbaf0fa", + "key": "event.dataset", + "negate": false, + "params": { + "query": "citrix_adc.system" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "citrix_adc.system" + } + } + } + ], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "accessor": "63e92a45-99b2-4f8d-b08a-5d96ff3cc260", + "layerId": "eee36b23-5dec-4dc7-983e-0d4dca19edca", + "layerType": "data", + "textAlign": "center", + "titlePosition": "bottom" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsMetric" + }, + "enhancements": {}, + "hidePanelTitles": true + }, + "gridData": { + "h": 8, + "i": "66e8467c-5e5a-4f59-9c9f-cc681764f1ac", + "w": 16, + "x": 16, + "y": 0 + }, + "panelIndex": "66e8467c-5e5a-4f59-9c9f-cc681764f1ac", + "title": "Main memory in use [Metrics Citrix ADC]", + "type": "lens", + "version": "8.4.1" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "logs-*", + "name": "indexpattern-datasource-layer-eee36b23-5dec-4dc7-983e-0d4dca19edca", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "ac9c6f50-ecbc-48d4-b585-acf3e1dfef81", + "type": "index-pattern" + } + ], + "state": { + "datasourceStates": { + "indexpattern": { + "layers": { + "eee36b23-5dec-4dc7-983e-0d4dca19edca": { + "columnOrder": [ + "63e92a45-99b2-4f8d-b08a-5d96ff3cc260" + ], + "columns": { + "63e92a45-99b2-4f8d-b08a-5d96ff3cc260": { + "customLabel": true, + "dataType": "number", + "filter": { + "language": "kuery", + "query": "citrix_adc.system.cpu.count: *" + }, + "isBucketed": false, + "label": "CPUs", + "operationType": "last_value", + "params": { + "sortField": "@timestamp" + }, + "scale": "ratio", + "sourceField": "citrix_adc.system.cpu.count" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "index": "ac9c6f50-ecbc-48d4-b585-acf3e1dfef81", + "key": "event.dataset", + "negate": false, + "params": { + "query": "citrix_adc.system" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "citrix_adc.system" + } + } + } + ], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "accessor": "63e92a45-99b2-4f8d-b08a-5d96ff3cc260", + "layerId": "eee36b23-5dec-4dc7-983e-0d4dca19edca", + "layerType": "data", + "textAlign": "center", + "titlePosition": "bottom" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsMetric" + }, + "enhancements": {}, + "hidePanelTitles": true + }, + "gridData": { + "h": 8, + "i": "44afa48e-858d-4c7e-9174-f3ab1e8e1869", + "w": 16, + "x": 32, + "y": 0 + }, + "panelIndex": "44afa48e-858d-4c7e-9174-f3ab1e8e1869", + "title": "CPUs on the NetScaler appliance [Metrics Citrix ADC]", + "type": "lens", + "version": "8.4.1" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "logs-*", + "name": "indexpattern-datasource-layer-fef8a002-f9de-4fcb-ab17-324b9eabf51b", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "0c1a842b-195f-47aa-9ee1-1da52c4ead01", + "type": "index-pattern" + } + ], + "state": { + "datasourceStates": { + "indexpattern": { + "layers": { + "fef8a002-f9de-4fcb-ab17-324b9eabf51b": { + "columnOrder": [ + "ec6dee8e-3c79-4e63-aa19-f6eca7280b8f", + "c7a2e0f6-98eb-4a5d-a79e-dff0e8d606d8", + "eaba063d-972f-4d02-9f64-ca98c8ae6134" + ], + "columns": { + "c7a2e0f6-98eb-4a5d-a79e-dff0e8d606d8": { + "dataType": "number", + "isBucketed": false, + "isStaticValue": true, + "label": "Static value: 0", + "operationType": "static_value", + "params": { + "value": "0" + }, + "references": [], + "scale": "ratio" + }, + "eaba063d-972f-4d02-9f64-ca98c8ae6134": { + "dataType": "number", + "isBucketed": false, + "isStaticValue": true, + "label": "Static value: 100", + "operationType": "static_value", + "params": { + "value": "100" + }, + "references": [], + "scale": "ratio" + }, + "ec6dee8e-3c79-4e63-aa19-f6eca7280b8f": { + "customLabel": true, + "dataType": "number", + "filter": { + "language": "kuery", + "query": "citrix_adc.system.cpu.utilization.additional_management.pct: *" + }, + "isBucketed": false, + "label": "CPU utilization (%)", + "operationType": "last_value", + "params": { + "showArrayValues": false, + "sortField": "@timestamp" + }, + "scale": "ratio", + "sourceField": "citrix_adc.system.cpu.utilization.additional_management.pct" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "index": "0c1a842b-195f-47aa-9ee1-1da52c4ead01", + "key": "event.dataset", + "negate": false, + "params": { + "query": "citrix_adc.system" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "citrix_adc.system" + } + } + } + ], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "colorMode": "palette", + "labelMajorMode": "auto", + "layerId": "fef8a002-f9de-4fcb-ab17-324b9eabf51b", + "layerType": "data", + "maxAccessor": "eaba063d-972f-4d02-9f64-ca98c8ae6134", + "metricAccessor": "ec6dee8e-3c79-4e63-aa19-f6eca7280b8f", + "minAccessor": "c7a2e0f6-98eb-4a5d-a79e-dff0e8d606d8", + "palette": { + "name": "warm", + "params": { + "continuity": "above", + "maxSteps": 5, + "name": "warm", + "progression": "fixed", + "rangeMax": null, + "rangeMin": 0, + "rangeType": "percent", + "reverse": false, + "steps": 3, + "stops": [ + { + "color": "#F4CEA180", + "stop": 0 + }, + { + "color": "#EAA06C80", + "stop": 33.33 + }, + { + "color": "#E7664C80", + "stop": 66.66 + } + ] + }, + "type": "palette" + }, + "shape": "horizontalBullet", + "ticksPosition": "bands" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsGauge" + }, + "enhancements": {}, + "hidePanelTitles": false + }, + "gridData": { + "h": 15, + "i": "18be8e3f-3ec4-4ba4-9d48-9f74154e312f", + "w": 24, + "x": 0, + "y": 8 + }, + "panelIndex": "18be8e3f-3ec4-4ba4-9d48-9f74154e312f", + "title": "CPU utilization [Metrics Citrix ADC]", + "type": "lens", + "version": "8.4.1" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "logs-*", + "name": "indexpattern-datasource-layer-fef8a002-f9de-4fcb-ab17-324b9eabf51b", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "c34a943f-2d5f-4150-8c84-4caec7ad969e", + "type": "index-pattern" + } + ], + "state": { + "datasourceStates": { + "indexpattern": { + "layers": { + "fef8a002-f9de-4fcb-ab17-324b9eabf51b": { + "columnOrder": [ + "ec6dee8e-3c79-4e63-aa19-f6eca7280b8f", + "c7a2e0f6-98eb-4a5d-a79e-dff0e8d606d8", + "eaba063d-972f-4d02-9f64-ca98c8ae6134" + ], + "columns": { + "c7a2e0f6-98eb-4a5d-a79e-dff0e8d606d8": { + "dataType": "number", + "isBucketed": false, + "isStaticValue": true, + "label": "Static value: 0", + "operationType": "static_value", + "params": { + "value": "0" + }, + "references": [], + "scale": "ratio" + }, + "eaba063d-972f-4d02-9f64-ca98c8ae6134": { + "dataType": "number", + "isBucketed": false, + "isStaticValue": true, + "label": "Static value: 100", + "operationType": "static_value", + "params": { + "value": "100" + }, + "references": [], + "scale": "ratio" + }, + "ec6dee8e-3c79-4e63-aa19-f6eca7280b8f": { + "customLabel": true, + "dataType": "number", + "filter": { + "language": "kuery", + "query": "citrix_adc.system.memory.utilization.pct: *" + }, + "isBucketed": false, + "label": "Memory utilization (%)", + "operationType": "last_value", + "params": { + "showArrayValues": false, + "sortField": "@timestamp" + }, + "scale": "ratio", + "sourceField": "citrix_adc.system.memory.utilization.pct" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "index": "c34a943f-2d5f-4150-8c84-4caec7ad969e", + "key": "event.dataset", + "negate": false, + "params": { + "query": "citrix_adc.system" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.dataset": "citrix_adc.system" + } + } + } + ], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "colorMode": "palette", + "labelMajorMode": "auto", + "layerId": "fef8a002-f9de-4fcb-ab17-324b9eabf51b", + "layerType": "data", + "maxAccessor": "eaba063d-972f-4d02-9f64-ca98c8ae6134", + "metricAccessor": "ec6dee8e-3c79-4e63-aa19-f6eca7280b8f", + "minAccessor": "c7a2e0f6-98eb-4a5d-a79e-dff0e8d606d8", + "palette": { + "name": "warm", + "params": { + "continuity": "above", + "maxSteps": 5, + "name": "warm", + "progression": "fixed", + "rangeMax": null, + "rangeMin": 0, + "rangeType": "percent", + "reverse": false, + "steps": 3, + "stops": [ + { + "color": "#F4CEA180", + "stop": 0 + }, + { + "color": "#EAA06C80", + "stop": 33.33 + }, + { + "color": "#E7664C80", + "stop": 66.66 + } + ] + }, + "type": "palette" + }, + "shape": "horizontalBullet", + "ticksPosition": "bands" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsGauge" + }, + "enhancements": {}, + "hidePanelTitles": false + }, + "gridData": { + "h": 15, + "i": "f8d336a2-8260-42b9-9825-52efbd544c4f", + "w": 24, + "x": 24, + "y": 8 + }, + "panelIndex": "f8d336a2-8260-42b9-9825-52efbd544c4f", + "title": "Memory utilization [Metrics Citrix ADC]", + "type": "lens", + "version": "8.4.1" + } + ], + "timeRestore": false, + "title": "[Metrics Citrix ADC] System", + "version": 1 + }, + "coreMigrationVersion": "8.4.1", + "id": "citrix_adc-73ef1be0-485a-11ed-aee6-31b55c85e6df", + "migrationVersion": { + "dashboard": "8.4.0" + }, + "references": [ + { + "id": "logs-*", + "name": "7dbde1e2-7e1d-4f02-874f-a0c105840bb3:indexpattern-datasource-layer-eee36b23-5dec-4dc7-983e-0d4dca19edca", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "7dbde1e2-7e1d-4f02-874f-a0c105840bb3:679a4987-e531-4cb3-ae99-69fe0b79f914", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "66e8467c-5e5a-4f59-9c9f-cc681764f1ac:indexpattern-datasource-layer-eee36b23-5dec-4dc7-983e-0d4dca19edca", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "66e8467c-5e5a-4f59-9c9f-cc681764f1ac:d4e185c8-3e2c-4c1e-9fcf-39517dbaf0fa", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "44afa48e-858d-4c7e-9174-f3ab1e8e1869:indexpattern-datasource-layer-eee36b23-5dec-4dc7-983e-0d4dca19edca", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "44afa48e-858d-4c7e-9174-f3ab1e8e1869:ac9c6f50-ecbc-48d4-b585-acf3e1dfef81", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "18be8e3f-3ec4-4ba4-9d48-9f74154e312f:indexpattern-datasource-layer-fef8a002-f9de-4fcb-ab17-324b9eabf51b", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "18be8e3f-3ec4-4ba4-9d48-9f74154e312f:0c1a842b-195f-47aa-9ee1-1da52c4ead01", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "f8d336a2-8260-42b9-9825-52efbd544c4f:indexpattern-datasource-layer-fef8a002-f9de-4fcb-ab17-324b9eabf51b", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "f8d336a2-8260-42b9-9825-52efbd544c4f:c34a943f-2d5f-4150-8c84-4caec7ad969e", + "type": "index-pattern" + } + ], + "type": "dashboard" +} \ No newline at end of file diff --git a/packages/citrix_adc/manifest.yml b/packages/citrix_adc/manifest.yml index d9fc90b2f15..cbd672a1930 100644 --- a/packages/citrix_adc/manifest.yml +++ b/packages/citrix_adc/manifest.yml @@ -1,7 +1,7 @@ format_version: 2.0.0 name: citrix_adc title: Citrix ADC -version: 0.3.0 +version: 0.4.0 description: This Elastic integration collects metrics from Citrix ADC product. type: integration categories: @@ -33,6 +33,10 @@ screenshots: title: Citrix ADC Service dashboard size: 600x600 type: image/png + - src: /img/citrix_adc-system-dashboard.png + title: Citrix ADC System dashboard + size: 600x600 + type: image/png policy_templates: - name: Citrix ADC title: Citrix ADC metrics @@ -40,7 +44,7 @@ policy_templates: inputs: - type: httpjson title: Collect Citrix ADC metrics - description: Collect interface, lbvserver, and service metrics from Citrix ADC product. + description: Collect interface, lbvserver, service and system metrics from Citrix ADC product. vars: - name: hostname type: text @@ -53,14 +57,14 @@ policy_templates: - name: username type: text title: Username - show_user: false + show_user: true required: false default: nsroot description: Enter username of Citrix ADC instance. - name: password type: password title: Password - show_user: false + show_user: true required: false default: nsroot description: Enter password of Citrix ADC instance.