Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Citrix ADC] Add Integration Package with System Data Stream #4458

Merged
merged 5 commits into from
Dec 15, 2022

Conversation

harnish-crest
Copy link
Contributor

@harnish-crest harnish-crest commented Oct 13, 2022

  • Enhancement

What does this PR do?

  • Added 1 data stream (System metrics).
  • Added data collection logic for the data streams.
  • Added the ingest pipeline for the data streams.
  • Mapped fields according to the ECS schema and added Fields metadata in the appropriate yaml files.
  • Added dashboards and visualizations.
  • Added system test cases for the data stream.

Checklist

  • I have reviewed tips for building integrations and this pull request is aligned with them.
  • I have verified that all data streams collect metrics or logs.
  • I have added an entry to my package's changelog.yml file.
  • I have verified that Kibana version constraints are current according to guidelines.

How to test this PR locally

  • Clone integrations repo.
  • Install elastic-package locally.
  • Start elastic stack using elastic-package.
  • Move to integrations/packages/citrix_adc directory.
  • Run the following command to run tests.
    elastic-package test

Related issues

Screenshots

citrix_adc-system-dashboard

@elasticmachine
Copy link

elasticmachine commented Oct 13, 2022

💚 Build Succeeded

the below badges are clickable and redirect to their specific view in the CI or DOCS
Pipeline View Test View Changes Artifacts preview preview

Expand to view the summary

Build stats

  • Start Time: 2022-12-13T09:40:37.672+0000

  • Duration: 15 min 30 sec

Test stats 🧪

Test Results
Failed 0
Passed 25
Skipped 0
Total 25

🤖 GitHub comments

Expand to view the GitHub comments

To re-run your PR in the CI, just comment with:

  • /test : Re-trigger the build.

@yug-rajani
Copy link
Contributor

/test

@elasticmachine
Copy link

🚀 Benchmarks report

To see the full report comment with /test benchmark fullreport

@elasticmachine
Copy link

elasticmachine commented Oct 13, 2022

🌐 Coverage report

Name Metrics % (covered/total) Diff
Packages 100.0% (4/4) 💚
Files 100.0% (4/4) 💚
Classes 100.0% (4/4) 💚
Methods 100.0% (39/39) 💚
Lines 97.639% (827/847)
Conditionals 100.0% (0/0) 💚

Copy link
Collaborator

@kush-elastic kush-elastic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@cla-checker-service
Copy link

cla-checker-service bot commented Nov 8, 2022

💚 CLA has been signed

@harnish-crest harnish-crest marked this pull request as ready for review December 7, 2022 11:58
packages/citrix_adc/_dev/build/docs/README.md Outdated Show resolved Hide resolved
packages/citrix_adc/_dev/build/docs/README.md Outdated Show resolved Hide resolved
- EEE MMM d HH:mm:ss yyyy
- EEE MMM d HH:mm:ss.SSSSSS yyyy
- script:
description: Convert megabyte to byte.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do we need to convert the MB to bytes ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Kibana provides functionality to automatically convert bytes into human-readable units, to provide support for this functionality in the dashboard we have converted MB into bytes.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am just wondering why are we converting the MB to bytes which adds extra overhead at the ingest pipeline and then showing the values as MB in dashboards ? Is it not possible to show the MB directly in Kibana without any conversion ?

packages/citrix_adc/manifest.yml Outdated Show resolved Hide resolved
@muthu-mps
Copy link
Contributor

muthu-mps commented Dec 12, 2022

In the dashboards can we remove the time when the application was started.
The Kibana system memory shows 16 MB and used memory shows 218MB. Is it representing the data correctly ?

@harnish-crest
Copy link
Contributor Author

In the dashboards can we remove the time when the application was started. The Kibana system memory shows 16 MB and used memory shows 218MB. Is it representing the data correctly ?

The reason behind providing this visualization is, for e.g If a user identifies that CPU/Memory Utilization keeps on increasing, they'll know that this Netscaler instance has been running since it keeps increasing so they can reboot it or something. So all the necessary information would be available on the dashboards themselves, User won't need to go in discover to identify since what date the Netscaler appliance is configured.

@muthu-mps
Copy link
Contributor

In the dashboards can we remove the time when the application was started. The Kibana system memory shows 16 MB and used memory shows 218MB. Is it representing the data correctly ?

The reason behind providing this visualization is, for e.g If a user identifies that CPU/Memory Utilization keeps on increasing, they'll know that this Netscaler instance has been running since it keeps increasing so they can reboot it or something. So all the necessary information would be available on the dashboards themselves, User won't need to go in discover to identify since what date the Netscaler appliance is configured.

Can you please provide an example where we need to reboot the instance based on utilisation ?

@harnish-crest
Copy link
Contributor Author

In the dashboards can we remove the time when the application was started. The Kibana system memory shows 16 MB and used memory shows 218MB. Is it representing the data correctly ?

The reason behind providing this visualization is, for e.g If a user identifies that CPU/Memory Utilization keeps on increasing, they'll know that this Netscaler instance has been running since it keeps increasing so they can reboot it or something. So all the necessary information would be available on the dashboards themselves, User won't need to go in discover to identify since what date the Netscaler appliance is configured.

Can you please provide an example where we need to reboot the instance based on utilisation ?

We don’t have any concrete examples, but this was the thought process we were having while working on this dashboard. If you don’t see any value getting provided to the end user, we can remove it.

@muthu-mps
Copy link
Contributor

In the dashboards can we remove the time when the application was started. The Kibana system memory shows 16 MB and used memory shows 218MB. Is it representing the data correctly ?

The reason behind providing this visualization is, for e.g If a user identifies that CPU/Memory Utilization keeps on increasing, they'll know that this Netscaler instance has been running since it keeps increasing so they can reboot it or something. So all the necessary information would be available on the dashboards themselves, User won't need to go in discover to identify since what date the Netscaler appliance is configured.

Can you please provide an example where we need to reboot the instance based on utilisation ?

We don’t have any concrete examples, but this was the thought process we were having while working on this dashboard. If you don’t see any value getting provided to the end user, we can remove it.

Please remove the visualisation.

- EEE MMM d HH:mm:ss yyyy
- EEE MMM d HH:mm:ss.SSSSSS yyyy
- script:
description: Convert megabyte to byte.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am just wondering why are we converting the MB to bytes which adds extra overhead at the ingest pipeline and then showing the values as MB in dashboards ? Is it not possible to show the MB directly in Kibana without any conversion ?

@harnish-crest
Copy link
Contributor Author

I am just wondering why are we converting the MB to bytes which adds extra overhead at the ingest pipeline and then showing the values as MB in dashboards ? Is it not possible to show the MB directly in Kibana without any conversion ?

As per my understanding, currently, there is no direct way to convert MB to other formats, the current possible approach is to convert Mb to bytes so that the bytes can be automatically converted to human-readable format(KB, MB, TB, ...) using the Kibana visualization itself, let me know if you have any other suggestions on the same.

@muthu-mps
Copy link
Contributor

I am just wondering why are we converting the MB to bytes which adds extra overhead at the ingest pipeline and then showing the values as MB in dashboards ? Is it not possible to show the MB directly in Kibana without any conversion ?

As per my understanding, currently, there is no direct way to convert MB to other formats, the current possible approach is to convert Mb to bytes so that the bytes can be automatically converted to human-readable format(KB, MB, TB, ...) using the Kibana visualization itself, let me know if you have any other suggestions on the same.

For now this is fine. But we may need to look for an option to do it directly instead of applying convertions.

@kush-elastic kush-elastic merged commit c2fbb2c into elastic:main Dec 15, 2022
@elasticmachine
Copy link

Package citrix_adc - 0.4.0 containing this change is available at https://epr.elastic.co/search?package=citrix_adc

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request Team:Service-Integrations Label for the Service Integrations team
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Create package to monitor server workers using Citrix ADC (Netscaler)
5 participants