From 0eb0b9772d35287b4b9ef1e6c549eb948f9fc5ba Mon Sep 17 00:00:00 2001 From: HadhemiDD <43783545+HadhemiDD@users.noreply.github.com> Date: Fri, 4 Oct 2024 09:51:55 +0200 Subject: [PATCH 1/7] enable display for the kubeflow integration (#18766) --- kubeflow/manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubeflow/manifest.json b/kubeflow/manifest.json index 2252c0462db06..96eebed0294d9 100644 --- a/kubeflow/manifest.json +++ b/kubeflow/manifest.json @@ -2,7 +2,7 @@ "manifest_version": "2.0.0", "app_uuid": "0db7b333-38a1-4e09-af1b-317da2f9f413", "app_id": "kubeflow", - "display_on_public_website": false, + "display_on_public_website": true, "tile": { "overview": "README.md#Overview", "configuration": "README.md#Setup", From 315063435d8044c576c91c325793521f2cde7076 Mon Sep 17 00:00:00 2001 From: NouemanKHAL Date: Fri, 4 Oct 2024 13:21:48 +0200 Subject: [PATCH 2/7] Finalize KubeVirt integrations (#18744) * rename namespace label to vmi_namespace for kubevirt_handler metrics * images folders * update the description of the can_connect metrics * add process_signatures entries * rename namespace label to vm_namespace for both vm and vmi metrics since they share the same name value * add missing units to kubevirt_controller --- kubevirt_api/manifest.json | 3 +- kubevirt_api/metadata.csv | 2 +- .../kubevirt_controller/check.py | 4 ++ kubevirt_controller/manifest.json | 3 +- kubevirt_controller/metadata.csv | 50 +++++++++---------- .../datadog_checks/kubevirt_handler/check.py | 3 ++ kubevirt_handler/images/IMAGES_README.md | 41 --------------- kubevirt_handler/manifest.json | 5 +- kubevirt_handler/metadata.csv | 2 +- 9 files changed, 41 insertions(+), 72 deletions(-) delete mode 100644 kubevirt_handler/images/IMAGES_README.md diff --git a/kubevirt_api/manifest.json b/kubevirt_api/manifest.json index 5db35a9102ba1..68274dbad8c03 100644 --- a/kubevirt_api/manifest.json +++ b/kubevirt_api/manifest.json @@ -42,7 +42,8 @@ }, "service_checks": { "metadata_path": "assets/service_checks.json" - } + }, + "process_signatures": ["virt-api"] }, "dashboards": { "KubeVirt Overview": "assets/dashboards/kubevirt_overview.json" diff --git a/kubevirt_api/metadata.csv b/kubevirt_api/metadata.csv index c2c50890e7599..523b73c43bc18 100644 --- a/kubevirt_api/metadata.csv +++ b/kubevirt_api/metadata.csv @@ -1,5 +1,5 @@ metric_name,metric_type,interval,unit_name,per_unit_name,description,orientation,integration,short_name,curated_metric,sample_tags -kubevirt_api.can_connect,gauge,,,,Whether the check can connect to the KubeVirt API or not.,0,kubevirt_api,api connect,, +kubevirt_api.can_connect,gauge,,,,"Value of 1 if the agent can connect to the KubeVirt Handler, and 0 otherwise.",0,kubevirt_api,api connect,, kubevirt_api.process.cpu_seconds.count,count,,second,,Total user and system CPU time spent in seconds.,0,kubevirt_api,cpu time total,, kubevirt_api.process.max_fds,gauge,,file,,Maximum number of open file descriptors.,0,kubevirt_api,max fds,, kubevirt_api.process.open_fds,gauge,,file,,Number of open file descriptors.,0,kubevirt_api,open fds,, diff --git a/kubevirt_controller/datadog_checks/kubevirt_controller/check.py b/kubevirt_controller/datadog_checks/kubevirt_controller/check.py index 4a4063870f68c..591857bc6964a 100644 --- a/kubevirt_controller/datadog_checks/kubevirt_controller/check.py +++ b/kubevirt_controller/datadog_checks/kubevirt_controller/check.py @@ -63,6 +63,10 @@ def _parse_config(self): "namespace": self.__NAMESPACE__, "enable_health_service_check": False, "tls_verify": self.tls_verify, + "rename_labels": { + "namespace": "vm_namespace", + # both kubevirt_vm_* and kubevirt_vmi_* metrics share the same name and namespace labels + }, } self.scraper_configs.append(instance) diff --git a/kubevirt_controller/manifest.json b/kubevirt_controller/manifest.json index 8600a63ef8a5e..552896c23a325 100644 --- a/kubevirt_controller/manifest.json +++ b/kubevirt_controller/manifest.json @@ -42,7 +42,8 @@ }, "service_checks": { "metadata_path": "assets/service_checks.json" - } + }, + "process_signatures": ["virt-controller"] } }, "author": { diff --git a/kubevirt_controller/metadata.csv b/kubevirt_controller/metadata.csv index bc3261e7b18af..0f1b194405586 100644 --- a/kubevirt_controller/metadata.csv +++ b/kubevirt_controller/metadata.csv @@ -1,35 +1,35 @@ metric_name,metric_type,interval,unit_name,per_unit_name,description,orientation,integration,short_name,curated_metric,sample_tags -kubevirt_controller.can_connect,gauge,,,,Whether the check can connect to the KubeVirt Controller or not.,0,kubevirt_controller,api connect,, +kubevirt_controller.can_connect,gauge,,,,"Value of 1 if the agent can connect to the KubeVirt Controller, and 0 otherwise.",0,kubevirt_controller,api connect,, kubevirt_controller.virt_controller.leading_status,gauge,,,,Indication for an operating virt-controller.,0,kubevirt_controller,leading_status,, kubevirt_controller.virt_controller.ready_status,gauge,,,,Indication for a virt-controller that is ready to take the lead.,0,kubevirt_controller,ready_status,, -kubevirt_controller.vm.error_status_last_transition_timestamp_seconds.count,count,,,,Virtual Machine last transition timestamp to error status.,0,kubevirt_controller,,, -kubevirt_controller.vm.migrating_status_last_transition_timestamp_seconds.count,count,,,,Virtual Machine last transition timestamp to migrating status.,0,kubevirt_controller,,, -kubevirt_controller.vm.non_running_status_last_transition_timestamp_seconds.count,count,,,,Virtual Machine last transition timestamp to paused/stopped status.,0,kubevirt_controller,,, -kubevirt_controller.vm.running_status_last_transition_timestamp_seconds.count,count,,,,Virtual Machine last transition timestamp to running status.,0,kubevirt_controller,,, -kubevirt_controller.vm.starting_status_last_transition_timestamp_seconds.count,count,,,,Virtual Machine last transition timestamp to starting status.,0,kubevirt_controller,,, +kubevirt_controller.vm.error_status_last_transition_timestamp_seconds.count,count,,second,,Virtual Machine last transition timestamp to error status.,0,kubevirt_controller,,, +kubevirt_controller.vm.migrating_status_last_transition_timestamp_seconds.count,count,,second,,Virtual Machine last transition timestamp to migrating status.,0,kubevirt_controller,,, +kubevirt_controller.vm.non_running_status_last_transition_timestamp_seconds.count,count,,second,,Virtual Machine last transition timestamp to paused/stopped status.,0,kubevirt_controller,,, +kubevirt_controller.vm.running_status_last_transition_timestamp_seconds.count,count,,second,,Virtual Machine last transition timestamp to running status.,0,kubevirt_controller,,, +kubevirt_controller.vm.starting_status_last_transition_timestamp_seconds.count,count,,second,,Virtual Machine last transition timestamp to starting status.,0,kubevirt_controller,,, kubevirt_controller.vmi.migrations_in_pending_phase,gauge,,,,Number of current pending migrations.,0,kubevirt_controller,,, kubevirt_controller.vmi.migrations_in_running_phase,gauge,,,,Number of current running migrations.,0,kubevirt_controller,,, kubevirt_controller.vmi.migrations_in_scheduling_phase,gauge,,,,Number of current scheduling migrations.,0,kubevirt_controller,,, kubevirt_controller.vmi.non_evictable,gauge,,,,Indication for a VirtualMachine that its eviction strategy is set to Live Migration but is not migratable.,0,kubevirt_controller,,, kubevirt_controller.vmi.number_of_outdated,gauge,,,,Indication for the total number of VirtualMachineInstance workloads that are not running within the most up-to-date version of the virt-launcher environment.,0,kubevirt_controller,,, kubevirt_controller.vmi.phase_count,gauge,,,,"Sum of VMIs per phase and node. phase can be one of the following: [Pending, Scheduling, Scheduled, Running, Succeeded, Failed, Unknown].",0,kubevirt_controller,,, -kubevirt_controller.vmi.phase_transition_time_from_creation_seconds.bucket,count,,,,Histogram of VM phase transitions duration from creation time in seconds.,0,kubevirt_controller,,, -kubevirt_controller.vmi.phase_transition_time_from_creation_seconds.count,count,,,,Histogram of VM phase transitions duration from creation time in seconds.,0,kubevirt_controller,,, -kubevirt_controller.vmi.phase_transition_time_from_creation_seconds.sum,count,,,,Histogram of VM phase transitions duration from creation time in seconds.,0,kubevirt_controller,,, -kubevirt_controller.vmi.phase_transition_time_from_deletion_seconds.bucket,count,,,,Histogram of VM phase transitions duration from deletion time in seconds.,0,kubevirt_controller,,, -kubevirt_controller.vmi.phase_transition_time_from_deletion_seconds.count,count,,,,Histogram of VM phase transitions duration from deletion time in seconds.,0,kubevirt_controller,,, -kubevirt_controller.vmi.phase_transition_time_from_deletion_seconds.sum,count,,,,Histogram of VM phase transitions duration from deletion time in seconds.,0,kubevirt_controller,,, -kubevirt_controller.vmi.phase_transition_time_seconds.bucket,count,,,,Histogram of VM phase transitions duration between different phases in seconds.,0,kubevirt_controller,,, -kubevirt_controller.vmi.phase_transition_time_seconds.count,count,,,,Histogram of VM phase transitions duration between different phases in seconds.,0,kubevirt_controller,,, -kubevirt_controller.vmi.phase_transition_time_seconds.sum,count,,,,Histogram of VM phase transitions duration between different phases in seconds.,0,kubevirt_controller,,, -kubevirt_controller.workqueue.adds.count,count,,,,Total number of adds handled by workqueue,0,kubevirt_controller,,, -kubevirt_controller.workqueue.depth,gauge,,,,Current depth of workqueue,0,kubevirt_controller,,, -kubevirt_controller.workqueue.longest_running_processor_seconds,gauge,,,,How many seconds has the longest running processor for workqueue been running.,0,kubevirt_controller,,, -kubevirt_controller.workqueue.queue_duration_seconds.bucket,count,,,,How long an item stays in workqueue before being requested.,0,kubevirt_controller,,, -kubevirt_controller.workqueue.queue_duration_seconds.count,count,,,,How long an item stays in workqueue before being requested.,0,kubevirt_controller,,, -kubevirt_controller.workqueue.queue_duration_seconds.sum,count,,,,How long an item stays in workqueue before being requested.,0,kubevirt_controller,,, +kubevirt_controller.vmi.phase_transition_time_from_creation_seconds.bucket,count,,second,,Histogram of VM phase transitions duration from creation time in seconds.,0,kubevirt_controller,,, +kubevirt_controller.vmi.phase_transition_time_from_creation_seconds.count,count,,second,,Histogram of VM phase transitions duration from creation time in seconds.,0,kubevirt_controller,,, +kubevirt_controller.vmi.phase_transition_time_from_creation_seconds.sum,count,,second,,Histogram of VM phase transitions duration from creation time in seconds.,0,kubevirt_controller,,, +kubevirt_controller.vmi.phase_transition_time_from_deletion_seconds.bucket,count,,second,,Histogram of VM phase transitions duration from deletion time in seconds.,0,kubevirt_controller,,, +kubevirt_controller.vmi.phase_transition_time_from_deletion_seconds.count,count,,second,,Histogram of VM phase transitions duration from deletion time in seconds.,0,kubevirt_controller,,, +kubevirt_controller.vmi.phase_transition_time_from_deletion_seconds.sum,count,,second,,Histogram of VM phase transitions duration from deletion time in seconds.,0,kubevirt_controller,,, +kubevirt_controller.vmi.phase_transition_time_seconds.bucket,count,,second,,Histogram of VM phase transitions duration between different phases in seconds.,0,kubevirt_controller,,, +kubevirt_controller.vmi.phase_transition_time_seconds.count,count,,second,,Histogram of VM phase transitions duration between different phases in seconds.,0,kubevirt_controller,,, +kubevirt_controller.vmi.phase_transition_time_seconds.sum,count,,second,,Histogram of VM phase transitions duration between different phases in seconds.,0,kubevirt_controller,,, +kubevirt_controller.workqueue.adds.count,count,,item,,Total number of adds handled by workqueue,0,kubevirt_controller,,, +kubevirt_controller.workqueue.depth,gauge,,item,,Current depth of workqueue,0,kubevirt_controller,,, +kubevirt_controller.workqueue.longest_running_processor_seconds,gauge,,second,,How many seconds has the longest running processor for workqueue been running.,0,kubevirt_controller,,, +kubevirt_controller.workqueue.queue_duration_seconds.bucket,count,,second,,How long an item stays in workqueue before being requested.,0,kubevirt_controller,,, +kubevirt_controller.workqueue.queue_duration_seconds.count,count,,second,,How long an item stays in workqueue before being requested.,0,kubevirt_controller,,, +kubevirt_controller.workqueue.queue_duration_seconds.sum,count,,second,,How long an item stays in workqueue before being requested.,0,kubevirt_controller,,, kubevirt_controller.workqueue.retries.count,count,,,,Total number of retries handled by workqueue.,0,kubevirt_controller,,, -kubevirt_controller.workqueue.unfinished_work_seconds,gauge,,,,How many seconds of work has done that is in progress and hasn't been observed by work_duration. Large values indicate stuck threads. One can deduce the number of stuck threads by observing the rate at which this increases.,0,kubevirt_controller,,, -kubevirt_controller.workqueue.work_duration_seconds.bucket,count,,,,How long in seconds processing an item from workqueue takes.,0,kubevirt_controller,,, -kubevirt_controller.workqueue.work_duration_seconds.count,count,,,,How long in seconds processing an item from workqueue takes.,0,kubevirt_controller,,, -kubevirt_controller.workqueue.work_duration_seconds.sum,count,,,,How long in seconds processing an item from workqueue takes.,0,kubevirt_controller,,, +kubevirt_controller.workqueue.unfinished_work_seconds,gauge,,second,,How many seconds of work has done that is in progress and hasn't been observed by work_duration. Large values indicate stuck threads. One can deduce the number of stuck threads by observing the rate at which this increases.,0,kubevirt_controller,,, +kubevirt_controller.workqueue.work_duration_seconds.bucket,count,,second,,How long in seconds processing an item from workqueue takes.,0,kubevirt_controller,,, +kubevirt_controller.workqueue.work_duration_seconds.count,count,,second,,How long in seconds processing an item from workqueue takes.,0,kubevirt_controller,,, +kubevirt_controller.workqueue.work_duration_seconds.sum,count,,second,,How long in seconds processing an item from workqueue takes.,0,kubevirt_controller,,, diff --git a/kubevirt_handler/datadog_checks/kubevirt_handler/check.py b/kubevirt_handler/datadog_checks/kubevirt_handler/check.py index f009596b2cc1a..26d77e4e2566f 100644 --- a/kubevirt_handler/datadog_checks/kubevirt_handler/check.py +++ b/kubevirt_handler/datadog_checks/kubevirt_handler/check.py @@ -61,6 +61,9 @@ def _parse_config(self): "namespace": self.__NAMESPACE__, "enable_health_service_check": False, "tls_verify": self.tls_verify, + "rename_labels": { + "namespace": "vm_namespace", + }, } self.scraper_configs.append(instance) diff --git a/kubevirt_handler/images/IMAGES_README.md b/kubevirt_handler/images/IMAGES_README.md deleted file mode 100644 index 70612c2830ffb..0000000000000 --- a/kubevirt_handler/images/IMAGES_README.md +++ /dev/null @@ -1,41 +0,0 @@ -# Marketplace Media Carousel Guidelines - -## Using the media gallery - -To use the media gallery, you must upload a minimum of one image. The gallery -can hold a maximum of 8 pieces of media total, and one of these pieces of media -can be a video (guidelines and submission steps below). Images should be -added to your /images directory and referenced in the manifest.json file. - - -## Image and video requirements - -### Images - -``` -File type : .jpg or .png -File size : ~500 KB per image, with a max of 1 MB per image -File dimensions : The image must be between 1440px and 2880px width, with a 16:9 aspect ratio (for example: 1440x810) -File name : Use only letters, numbers, underscores, and hyphens -Color mode : RGB -Color profile : sRGB -Description : 300 characters maximum -``` - -### Video - -To display a video in your media gallery, please send our team the zipped file -or a link to download the video at `marketplace@datadog.com`. In addition, -please upload a thumbnail image for your video as a part of the pull request. -Once approved, we will upload the file to Vimeo and provide you with the -vimeo_id to add to your manifest.json file. Please note that the gallery can -only hold one video. - -``` -File type : MP4 H.264 -File size : Max 1 video; 1 GB maximum size -File dimensions : The aspect ratio must be exactly 16:9, and the resolution must be 1920x1080 or higher -File name : partnerName-appName.mp4 -Run time : Recommendation of 60 seconds or less -Description : 300 characters maximum -``` diff --git a/kubevirt_handler/manifest.json b/kubevirt_handler/manifest.json index ea197c1090e70..a9a0d6db1620c 100644 --- a/kubevirt_handler/manifest.json +++ b/kubevirt_handler/manifest.json @@ -35,14 +35,15 @@ "metrics": { "prefix": "kubevirt_handler.", "check": [ - "kubevirt_handler.can_connect", + "kubevirt_handler.can_connect", "kubevirt_handler.vmi.cpu_system_usage_seconds.count" ], "metadata_path": "metadata.csv" }, "service_checks": { "metadata_path": "assets/service_checks.json" - } + }, + "process_signatures": ["virt-handler"] } }, "author": { diff --git a/kubevirt_handler/metadata.csv b/kubevirt_handler/metadata.csv index 1b9faba853995..7f697de4cae94 100644 --- a/kubevirt_handler/metadata.csv +++ b/kubevirt_handler/metadata.csv @@ -1,5 +1,5 @@ metric_name,metric_type,interval,unit_name,per_unit_name,description,orientation,integration,short_name,curated_metric,sample_tags -kubevirt_handler.can_connect,gauge,,,,Whether the check can connect to the KubeVirt Handler or not.,0,kubevirt_handler,handler connect,, +kubevirt_handler.can_connect,gauge,,,,"Value of 1 if the agent can connect to the KubeVirt Handler, and 0 otherwise.",0,kubevirt_handler,handler connect,, kubevirt_handler.vmi.cpu_system_usage_seconds.count,count,,second,,"Total CPU time spent in system mode.",0,kubevirt_handler,short_name,, kubevirt_handler.vmi.cpu_usage_seconds.count,count,,second,,"Total CPU time spent in all modes (sum of both vcpu and hypervisor usage).",0,kubevirt_handler,short_name,, kubevirt_handler.vmi.cpu_user_usage_seconds.count,count,,second,,"Total CPU time spent in user mode.",0,kubevirt_handler,short_name,, From 83b18fd1348da0d00e18ade45fccf596a4f8079f Mon Sep 17 00:00:00 2001 From: Ilia Kurenkov Date: Fri, 4 Oct 2024 15:28:38 +0200 Subject: [PATCH 3/7] Release new integrations for agent 7.59 (#18768) * [Release] Bumped appgate_sdp version to 1.0.0 * [Release] Bumped kubeflow version to 1.0.0 * [Release] Bumped kubevirt_api version to 1.0.0 * [Release] Bumped kubevirt_controller version to 1.0.0 * [Release] Bumped kubevirt_handler version to 1.0.0 --- appgate_sdp/CHANGELOG.md | 5 +++++ appgate_sdp/changelog.d/18465.added | 1 - appgate_sdp/datadog_checks/appgate_sdp/__about__.py | 2 +- kubeflow/CHANGELOG.md | 5 +++++ kubeflow/changelog.d/18617.fixed | 1 - kubeflow/datadog_checks/kubeflow/__about__.py | 2 +- kubevirt_api/CHANGELOG.md | 10 ++++++++++ kubevirt_api/changelog.d/18179.added | 1 - kubevirt_api/changelog.d/18617.fixed | 1 - kubevirt_api/datadog_checks/kubevirt_api/__about__.py | 2 +- kubevirt_controller/CHANGELOG.md | 9 +++++++++ kubevirt_controller/changelog.d/18186.added | 1 - kubevirt_controller/changelog.d/18617.fixed | 1 - .../datadog_checks/kubevirt_controller/__about__.py | 2 +- kubevirt_handler/CHANGELOG.md | 6 ++++++ kubevirt_handler/changelog.d/18283.added | 1 - .../datadog_checks/kubevirt_handler/__about__.py | 2 +- requirements-agent-release.txt | 5 +++++ 18 files changed, 45 insertions(+), 12 deletions(-) delete mode 100644 appgate_sdp/changelog.d/18465.added delete mode 100644 kubeflow/changelog.d/18617.fixed delete mode 100644 kubevirt_api/changelog.d/18179.added delete mode 100644 kubevirt_api/changelog.d/18617.fixed delete mode 100644 kubevirt_controller/changelog.d/18186.added delete mode 100644 kubevirt_controller/changelog.d/18617.fixed delete mode 100644 kubevirt_handler/changelog.d/18283.added diff --git a/appgate_sdp/CHANGELOG.md b/appgate_sdp/CHANGELOG.md index 7dd14c64baf40..96c18884e43fe 100644 --- a/appgate_sdp/CHANGELOG.md +++ b/appgate_sdp/CHANGELOG.md @@ -2,3 +2,8 @@ +## 1.0.0 / 2024-10-04 + +***Added***: + +* Initial Release ([#18465](https://github.com/DataDog/integrations-core/pull/18465)) diff --git a/appgate_sdp/changelog.d/18465.added b/appgate_sdp/changelog.d/18465.added deleted file mode 100644 index aa949b47b7b41..0000000000000 --- a/appgate_sdp/changelog.d/18465.added +++ /dev/null @@ -1 +0,0 @@ -Initial Release \ No newline at end of file diff --git a/appgate_sdp/datadog_checks/appgate_sdp/__about__.py b/appgate_sdp/datadog_checks/appgate_sdp/__about__.py index e9541ce83e9e5..acbfd1c866b84 100644 --- a/appgate_sdp/datadog_checks/appgate_sdp/__about__.py +++ b/appgate_sdp/datadog_checks/appgate_sdp/__about__.py @@ -1,4 +1,4 @@ # (C) Datadog, Inc. 2024-present # All rights reserved # Licensed under a 3-clause BSD style license (see LICENSE) -__version__ = '0.0.1' +__version__ = '1.0.0' diff --git a/kubeflow/CHANGELOG.md b/kubeflow/CHANGELOG.md index 8658345ebf7a3..5c3bf784bb7d8 100644 --- a/kubeflow/CHANGELOG.md +++ b/kubeflow/CHANGELOG.md @@ -2,3 +2,8 @@ +## 1.0.0 / 2024-10-04 + +***Fixed***: + +* Bump the version of datadog-checks-base to 37.0.0 ([#18617](https://github.com/DataDog/integrations-core/pull/18617)) diff --git a/kubeflow/changelog.d/18617.fixed b/kubeflow/changelog.d/18617.fixed deleted file mode 100644 index e759164f82784..0000000000000 --- a/kubeflow/changelog.d/18617.fixed +++ /dev/null @@ -1 +0,0 @@ -Bump the version of datadog-checks-base to 37.0.0 \ No newline at end of file diff --git a/kubeflow/datadog_checks/kubeflow/__about__.py b/kubeflow/datadog_checks/kubeflow/__about__.py index e9541ce83e9e5..acbfd1c866b84 100644 --- a/kubeflow/datadog_checks/kubeflow/__about__.py +++ b/kubeflow/datadog_checks/kubeflow/__about__.py @@ -1,4 +1,4 @@ # (C) Datadog, Inc. 2024-present # All rights reserved # Licensed under a 3-clause BSD style license (see LICENSE) -__version__ = '0.0.1' +__version__ = '1.0.0' diff --git a/kubevirt_api/CHANGELOG.md b/kubevirt_api/CHANGELOG.md index fd98fa4837529..41fab8d0f2a51 100644 --- a/kubevirt_api/CHANGELOG.md +++ b/kubevirt_api/CHANGELOG.md @@ -1,3 +1,13 @@ # CHANGELOG - KubeVirt API + +## 1.0.0 / 2024-10-04 + +***Added***: + +* Initial Release ([#18179](https://github.com/DataDog/integrations-core/pull/18179)) + +***Fixed***: + +* Bump the version of datadog-checks-base to 37.0.0 ([#18617](https://github.com/DataDog/integrations-core/pull/18617)) diff --git a/kubevirt_api/changelog.d/18179.added b/kubevirt_api/changelog.d/18179.added deleted file mode 100644 index aa949b47b7b41..0000000000000 --- a/kubevirt_api/changelog.d/18179.added +++ /dev/null @@ -1 +0,0 @@ -Initial Release \ No newline at end of file diff --git a/kubevirt_api/changelog.d/18617.fixed b/kubevirt_api/changelog.d/18617.fixed deleted file mode 100644 index e759164f82784..0000000000000 --- a/kubevirt_api/changelog.d/18617.fixed +++ /dev/null @@ -1 +0,0 @@ -Bump the version of datadog-checks-base to 37.0.0 \ No newline at end of file diff --git a/kubevirt_api/datadog_checks/kubevirt_api/__about__.py b/kubevirt_api/datadog_checks/kubevirt_api/__about__.py index e9541ce83e9e5..acbfd1c866b84 100644 --- a/kubevirt_api/datadog_checks/kubevirt_api/__about__.py +++ b/kubevirt_api/datadog_checks/kubevirt_api/__about__.py @@ -1,4 +1,4 @@ # (C) Datadog, Inc. 2024-present # All rights reserved # Licensed under a 3-clause BSD style license (see LICENSE) -__version__ = '0.0.1' +__version__ = '1.0.0' diff --git a/kubevirt_controller/CHANGELOG.md b/kubevirt_controller/CHANGELOG.md index 63ef4768a3096..faadd0fcdb0fc 100644 --- a/kubevirt_controller/CHANGELOG.md +++ b/kubevirt_controller/CHANGELOG.md @@ -2,3 +2,12 @@ +## 1.0.0 / 2024-10-04 + +***Added***: + +* Initial Release ([#18186](https://github.com/DataDog/integrations-core/pull/18186)) + +***Fixed***: + +* Bump the version of datadog-checks-base to 37.0.0 ([#18617](https://github.com/DataDog/integrations-core/pull/18617)) diff --git a/kubevirt_controller/changelog.d/18186.added b/kubevirt_controller/changelog.d/18186.added deleted file mode 100644 index aa949b47b7b41..0000000000000 --- a/kubevirt_controller/changelog.d/18186.added +++ /dev/null @@ -1 +0,0 @@ -Initial Release \ No newline at end of file diff --git a/kubevirt_controller/changelog.d/18617.fixed b/kubevirt_controller/changelog.d/18617.fixed deleted file mode 100644 index e759164f82784..0000000000000 --- a/kubevirt_controller/changelog.d/18617.fixed +++ /dev/null @@ -1 +0,0 @@ -Bump the version of datadog-checks-base to 37.0.0 \ No newline at end of file diff --git a/kubevirt_controller/datadog_checks/kubevirt_controller/__about__.py b/kubevirt_controller/datadog_checks/kubevirt_controller/__about__.py index e9541ce83e9e5..acbfd1c866b84 100644 --- a/kubevirt_controller/datadog_checks/kubevirt_controller/__about__.py +++ b/kubevirt_controller/datadog_checks/kubevirt_controller/__about__.py @@ -1,4 +1,4 @@ # (C) Datadog, Inc. 2024-present # All rights reserved # Licensed under a 3-clause BSD style license (see LICENSE) -__version__ = '0.0.1' +__version__ = '1.0.0' diff --git a/kubevirt_handler/CHANGELOG.md b/kubevirt_handler/CHANGELOG.md index 934b76a9af53b..efb69c7b7ace0 100644 --- a/kubevirt_handler/CHANGELOG.md +++ b/kubevirt_handler/CHANGELOG.md @@ -1,3 +1,9 @@ # CHANGELOG - KubeVirt Handler + +## 1.0.0 / 2024-10-04 + +***Added***: + +* Initial Release ([#18283](https://github.com/DataDog/integrations-core/pull/18283)) diff --git a/kubevirt_handler/changelog.d/18283.added b/kubevirt_handler/changelog.d/18283.added deleted file mode 100644 index aa949b47b7b41..0000000000000 --- a/kubevirt_handler/changelog.d/18283.added +++ /dev/null @@ -1 +0,0 @@ -Initial Release \ No newline at end of file diff --git a/kubevirt_handler/datadog_checks/kubevirt_handler/__about__.py b/kubevirt_handler/datadog_checks/kubevirt_handler/__about__.py index e9541ce83e9e5..acbfd1c866b84 100644 --- a/kubevirt_handler/datadog_checks/kubevirt_handler/__about__.py +++ b/kubevirt_handler/datadog_checks/kubevirt_handler/__about__.py @@ -1,4 +1,4 @@ # (C) Datadog, Inc. 2024-present # All rights reserved # Licensed under a 3-clause BSD style license (see LICENSE) -__version__ = '0.0.1' +__version__ = '1.0.0' diff --git a/requirements-agent-release.txt b/requirements-agent-release.txt index d8574097f1e6d..c2b2cf3ee2afd 100644 --- a/requirements-agent-release.txt +++ b/requirements-agent-release.txt @@ -9,6 +9,7 @@ datadog-airflow==6.0.0 datadog-amazon-msk==5.0.0 datadog-ambari==5.0.0; sys_platform != 'win32' datadog-apache==5.0.0 +datadog-appgate-sdp==1.0.0; sys_platform != 'win32' datadog-arangodb==3.0.0 datadog-argo-rollouts==2.0.0 datadog-argo-workflows==2.0.0 @@ -100,9 +101,13 @@ datadog-kube-dns==5.0.0 datadog-kube-metrics-server==4.0.0 datadog-kube-proxy==7.0.0 datadog-kube-scheduler==5.0.0 +datadog-kubeflow==1.0.0 datadog-kubelet==8.0.0 datadog-kubernetes-cluster-autoscaler==2.0.0 datadog-kubernetes-state==9.0.0 +datadog-kubevirt-api==1.0.0 +datadog-kubevirt-controller==1.0.0 +datadog-kubevirt-handler==1.0.0 datadog-kyototycoon==3.0.0 datadog-kyverno==2.0.0 datadog-lighttpd==4.0.0 From 990cc9bec8bb1a4b5b89bcdeca3118b24776488f Mon Sep 17 00:00:00 2001 From: Branden Clark Date: Fri, 4 Oct 2024 10:29:07 -0400 Subject: [PATCH 4/7] Fix tcp.current_established/tcp.connections metric types (#18764) --- network/datadog_checks/network/check_linux.py | 3 --- network/datadog_checks/network/check_windows.py | 10 +++++++++- network/datadog_checks/network/network.py | 3 +++ network/metadata.csv | 6 ------ network/tests/test_windows.py | 15 ++++++++++++++- 5 files changed, 26 insertions(+), 11 deletions(-) diff --git a/network/datadog_checks/network/check_linux.py b/network/datadog_checks/network/check_linux.py index 986003b763052..7bd7cfc452256 100644 --- a/network/datadog_checks/network/check_linux.py +++ b/network/datadog_checks/network/check_linux.py @@ -304,9 +304,6 @@ def get_expected_metrics(self): ) return expected_metrics - def _submit_netmetric_gauge(self, metric, value, tags=None): - self.gauge(metric, value, tags=tags) - def _read_int_file(self, file_location): try: with open(file_location, 'r') as f: diff --git a/network/datadog_checks/network/check_windows.py b/network/datadog_checks/network/check_windows.py index fa56342dc77b7..3baa292d04cf3 100644 --- a/network/datadog_checks/network/check_windows.py +++ b/network/datadog_checks/network/check_windows.py @@ -128,6 +128,11 @@ def _tcp_stats(self, tags): 'dwOutRsts': '.out_resets', 'dwNumConns': '.connections', } + # similar to the linux check + nstat_metrics_gauge_names = [ + '.connections', + '.current_established', + ] proto_dict = {} tcp4stats = self._get_tcp_stats(socket.AF_INET) @@ -149,7 +154,10 @@ def _tcp_stats(self, tags): for fieldname in tcpstats_dict: fieldvalue = getattr(stats, fieldname) metric_name = "system.net." + str(proto) + tcpstats_dict[fieldname] - self.submit_netmetric(metric_name, fieldvalue, tags) + if tcpstats_dict[fieldname] in nstat_metrics_gauge_names: + self._submit_netmetric_gauge(metric_name, fieldvalue, tags) + else: + self.submit_netmetric(metric_name, fieldvalue, tags) def _parse_protocol_psutil(self, conn): """ diff --git a/network/datadog_checks/network/network.py b/network/datadog_checks/network/network.py index b9f6d5cf97cac..18761deef2846 100644 --- a/network/datadog_checks/network/network.py +++ b/network/datadog_checks/network/network.py @@ -274,6 +274,9 @@ def submit_netmetric(self, metric, value, tags=None): if self._collect_count_metrics: self.monotonic_count('{}.count'.format(metric), value, tags=tags) + def _submit_netmetric_gauge(self, metric, value, tags=None): + self.gauge(metric, value, tags=tags) + def submit_regexed_values(self, output, regex_list, tags): lines = output.splitlines() for line in lines: diff --git a/network/metadata.csv b/network/metadata.csv index 8d0db8d0ba21c..abb42cc3f11ec 100644 --- a/network/metadata.csv +++ b/network/metadata.csv @@ -105,9 +105,7 @@ system.net.tcp.attempt_fails.count,count,,connection,,The number of times TCP co system.net.tcp.established_resets,gauge,,connection,second,The number of times TCP connections have made a direct transition to the CLOSED state from either the ESTABLISHED state or the CLOSE-WAIT state (Linux or Windows only).,-1,system,tcp established rst, system.net.tcp.established_resets.count,count,,connection,,The number of times TCP connections have made a direct transition to the CLOSED state from either the ESTABLISHED state or the CLOSE-WAIT state (Linux or Windows only).,-1,system,tcp established rst count, system.net.tcp.current_established,gauge,,connection,,The number of TCP connections for which the current state is either ESTABLISHED or CLOSE-WAIT (Linux or Windows only).,0,system,tcp current estab, -system.net.tcp.current_established.count,count,,connection,,The number of TCP connections for which the current state is either ESTABLISHED or CLOSE-WAIT (Linux or Windows only).,0,system,tcp current estab count, system.net.tcp.connections,gauge,,segment,second,The number of TCP connections in all states except listening connections.,0,system,tcp connections, -system.net.tcp.connections.count,count,,segment,,Total count of TCP connections in all states except listening connections.,0,system,tcp connections count, system.net.tcp.in_errors,gauge,,packet,second,The total number of segments received in error (e.g. bad TCP checksums) (Linux or Windows only).,-1,system,tcp in errors, system.net.tcp.in_errors.count,count,,packet,,The total number of segments received in error (e.g. bad TCP checksums) (Linux or Windows only).,-1,system,tcp in errors count, system.net.tcp.out_resets,gauge,,packet,second,The number of TCP segments sent containing the RST flag (Linux or Windows only).,-1,system,tcp out rst, @@ -186,7 +184,6 @@ system.net.tcp4.unconn,gauge,,connection,,The number of TCP IPv4 connections in system.net.tcp4.active_opens,gauge,,connection,second,Number of times TCP IPv4 connections have made a direct transition to the SYN-SENT state from the CLOSED state (Windows only).,0,system,tcp4 active opens, system.net.tcp4.active_opens.count,count,,connection,,Number of times TCP IPv4 connections have made a direct transition to the SYN-SENT state from the CLOSED state (Windows only).,0,system,tcp4 active opens count, system.net.tcp4.connections,gauge,,segment,second,The number of TCP IPv4 connections connections in all states except listening connections (Windows only).,0,system,tcp4 connections, -system.net.tcp4.connections.count,count,,segment,,Total count of TCP IPv4 connections connections in all states except listening connections (Windows only).,0,system,tcp4 connections count, system.net.tcp4.passive_opens,gauge,,connection,second,Number of times TCP IPv4 connections have made a direct transition to the SYN-RCVD state from the LISTEN state (Windows only).,0,system,tcp4 passive opens, system.net.tcp4.passive_opens.count,count,,connection,,Number of times TCP IPv4 connections have made a direct transition to the SYN-RCVD state from the LISTEN state (Windows only).,0,system,tcp4 passive opens count, system.net.tcp4.attempt_fails,gauge,,connection,second,The number of times TCP IPv4 connections have made a direct transition to the CLOSED state from either the SYN-SENT state or the SYN-RCVD state plus the number of times TCP IPv4 connections have made a direct transition to the LISTEN state from the SYN-RCVD state (Windows only).,-1,system,tcp4 attempt fails, @@ -194,7 +191,6 @@ system.net.tcp4.attempt_fails.count,count,,connection,,The number of times TCP I system.net.tcp4.established_resets,gauge,,connection,second,The number of times TCP IPv4 connections have made a direct transition to the CLOSED state from either the ESTABLISHED state or the CLOSE-WAIT state (Windows only).,-1,system,tcp4 established rst, system.net.tcp4.established_resets.count,count,,connection,,The number of times TCP IPv4 connections have made a direct transition to the CLOSED state from either the ESTABLISHED state or the CLOSE-WAIT state (Windows only).,-1,system,tcp4 established rst count, system.net.tcp4.current_established,gauge,,segment,second,The number of currently established TCP IPv4 connections (Windows only).,0,system,tcp4 current established, -system.net.tcp4.current_established.count,count,,segment,,The number of currently established TCP IPv4 connections (Windows only).,0,system,tcp4 current established count, system.net.tcp4.in_errors,gauge,,packet,second,The total number of segments received in error (e.g. bad TCP IPv4 checksums) (Windows only).,-1,system,tcp4 in errors, system.net.tcp4.in_errors.count,count,,packet,,The total number of segments received in error (e.g. bad TCP IPv4 checksums) (Windows only).,-1,system,tcp4 in errors count, system.net.tcp4.out_resets,gauge,,packet,second,The number of TCP IPv4 segments sent containing the RST flag (Windows only).,-1,system,tcp4 out rst, @@ -222,7 +218,6 @@ system.net.tcp6.unconn,gauge,,connection,,The number of TCP IPv6 connections in system.net.tcp6.active_opens,gauge,,connection,second,Number of times TCP IPv6 connections have made a direct transition to the SYN-SENT state from the CLOSED state (Windows only).,0,system,tcp6 active opens, system.net.tcp6.active_opens.count,count,,connection,,Number of times TCP IPv6 connections have made a direct transition to the SYN-SENT state from the CLOSED state (Windows only).,0,system,tcp6 active opens count, system.net.tcp6.connections,gauge,,segment,second,The number of TCP IPv6 connections connections in all states except listening connections (Windows only).,0,system,tcp6 connections, -system.net.tcp6.connections.count,count,,segment,,Total count of TCP IPv6 connections connections in all states except listening connections (Windows only).,0,system,tcp6 connections count, system.net.tcp6.passive_opens,gauge,,connection,second,Number of times TCP IPv6 connections have made a direct transition to the SYN-RCVD state from the LISTEN state (Windows only).,0,system,tcp6 passive opens, system.net.tcp6.passive_opens.count,count,,connection,,Number of times TCP IPv6 connections have made a direct transition to the SYN-RCVD state from the LISTEN state (Windows only).,0,system,tcp6 passive opens count, system.net.tcp6.attempt_fails,gauge,,connection,second,The number of times TCP IPv6 connections have made a direct transition to the CLOSED state from either the SYN-SENT state or the SYN-RCVD state plus the number of times TCP IPv6 connections have made a direct transition to the LISTEN state from the SYN-RCVD state (Windows only).,-1,system,tcp6 attempt fails, @@ -230,7 +225,6 @@ system.net.tcp6.attempt_fails.count,count,,connection,,The number of times TCP I system.net.tcp6.established_resets,gauge,,connection,second,The number of times TCP IPv6 connections have made a direct transition to the CLOSED state from either the ESTABLISHED state or the CLOSE-WAIT state (Windows only).,-1,system,tcp6 established rst, system.net.tcp6.established_resets.count,count,,connection,,The number of times TCP IPv6 connections have made a direct transition to the CLOSED state from either the ESTABLISHED state or the CLOSE-WAIT state (Windows only).,-1,system,tcp6 established rst count, system.net.tcp6.current_established,gauge,,segment,second,The number of currently established TCP IPv6 connections (Windows only).,0,system,tcp6 current established, -system.net.tcp6.current_established.count,count,,segment,,The number of currently established TCP IPv6 connections (Windows only).,0,system,tcp6 current established count, system.net.tcp6.in_errors,gauge,,packet,second,The total number of segments received in error (e.g. bad TCP IPv6 checksums) (Windows only).,-1,system,tcp6 in errors, system.net.tcp6.in_errors.count,count,,packet,,The total number of segments received in error (e.g. bad TCP IPv6 checksums) (Windows only).,-1,system,tcp6 in errors count, system.net.tcp6.out_resets,gauge,,packet,second,The number of TCP IPv6 segments sent containing the RST flag (Windows only).,-1,system,tcp6 out rst, diff --git a/network/tests/test_windows.py b/network/tests/test_windows.py index 88c448c99ab25..02de9e0ba027d 100644 --- a/network/tests/test_windows.py +++ b/network/tests/test_windows.py @@ -45,6 +45,7 @@ def test_get_tcp_stats_failure(): def test_get_tcp_stats(aggregator): instance = copy.deepcopy(common.INSTANCE) + instance["collect_count_metrics"] = True check_instance = WindowsNetwork('network', {}, [instance]) mock_stats = TCPSTATS( @@ -99,12 +100,24 @@ def test_get_tcp_stats(aggregator): 'system.net.tcp.out_resets': 28, 'system.net.tcp.connections': 30, } + gauge_mets = [ + 'system.net.tcp4.connections', + 'system.net.tcp4.current_established', + 'system.net.tcp6.connections', + 'system.net.tcp6.current_established', + 'system.net.tcp.connections', + 'system.net.tcp.current_established', + ] with mock.patch('datadog_checks.network.check_windows.WindowsNetwork._get_tcp_stats') as mock_get_tcp_stats: mock_get_tcp_stats.return_value = mock_stats # Make _get_tcp_stats return my mock object check_instance.check({}) for name, value in expected_mets.items(): - aggregator.assert_metric(name, value=value) + if name in gauge_mets: + aggregator.assert_metric(name, value=value, metric_type=aggregator.GAUGE) + else: + aggregator.assert_metric(name, value=value, metric_type=aggregator.RATE) + aggregator.assert_metric(name + '.count', value=value, metric_type=aggregator.MONOTONIC_COUNT) def test_check_psutil_no_collect_connection_state(aggregator): From 39ea43173d46353c5ae75bbfdc6c65568df6a1cd Mon Sep 17 00:00:00 2001 From: madhavpandya-crest Date: Fri, 4 Oct 2024 20:52:04 +0530 Subject: [PATCH 5/7] DDS: Cisco Secure Endpoint - V1.0.0 - Updated Readme file. (#18756) * Updated cse readme file. * Updated Readme file. --------- Co-authored-by: madhav.pandya --- cisco_secure_endpoint/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cisco_secure_endpoint/README.md b/cisco_secure_endpoint/README.md index 0d4bc372b5718..6f88038d18f0f 100644 --- a/cisco_secure_endpoint/README.md +++ b/cisco_secure_endpoint/README.md @@ -38,10 +38,10 @@ Configure the Datadog endpoint to forward Cisco Secure Endpoint logs to Datadog. | Cisco Secure Endpoint Parameters | Description | | -------------------- | ------------ | -| API Host URL | The API Host URL for Cisco Secure Endpoint Cloud is "https://api.\.apm.cisco.com". Adjust the "region" part based on the region of the Cisco Secure Endpoint server. If Cisco Secure Endpoint is hosted on VPC (Virtual Private Cloud), directly provide the API Host URL. | +| API Domain Name | The API Domain Name for Cisco Secure Endpoint Cloud is "api.\.amp.cisco.com". Adjust the "region" part based on the region of the Cisco Secure Endpoint server. If Cisco Secure Endpoint is hosted on VPC (Virtual Private Cloud), directly provide the API Domain Name. | | Client ID | Client ID from Cisco Secure Endpoint. | | API Key | API Key from Cisco Secure Endpoint. | -| Get Endpoint Details | Keep it "true" to collect endpoint metadata for Cisco Secure Endpoint event logs, otherwise "false". | +| Get Endpoint Details | Keep it "true" to collect endpoint metadata for Cisco Secure Endpoint event logs, otherwise "false". Default value is "true". | ## Data Collected From 346a5ac257e63a0c8e080032d0c03e41cbbfd14c Mon Sep 17 00:00:00 2001 From: Kyle Neale Date: Fri, 4 Oct 2024 14:44:08 -0400 Subject: [PATCH 6/7] Port network release to master (#18775) * Port network release to master * small changelog fix * change changelog type --- network/CHANGELOG.md | 6 ++++++ network/datadog_checks/network/__about__.py | 2 +- requirements-agent-release.txt | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/network/CHANGELOG.md b/network/CHANGELOG.md index 28d9395b39152..337302b4c0645 100644 --- a/network/CHANGELOG.md +++ b/network/CHANGELOG.md @@ -2,6 +2,12 @@ +## 4.1.0 / 2024-10-04 + +***Fixed***: + +* Fix metric type in new network metrics ([#18764](https://github.com/DataDog/integrations-core/pull/18764)) + ## 4.0.0 / 2024-10-01 ***Changed***: diff --git a/network/datadog_checks/network/__about__.py b/network/datadog_checks/network/__about__.py index c25988b9e6d8b..d83361248d388 100644 --- a/network/datadog_checks/network/__about__.py +++ b/network/datadog_checks/network/__about__.py @@ -2,4 +2,4 @@ # All rights reserved # Licensed under a 3-clause BSD style license (see LICENSE) -__version__ = '4.0.0' +__version__ = '4.1.0' diff --git a/requirements-agent-release.txt b/requirements-agent-release.txt index c2b2cf3ee2afd..85052975e4984 100644 --- a/requirements-agent-release.txt +++ b/requirements-agent-release.txt @@ -123,7 +123,7 @@ datadog-mesos-slave==4.0.0; sys_platform != 'win32' datadog-mongo==7.0.0 datadog-mysql==13.0.0 datadog-nagios==2.0.0 -datadog-network==4.0.0 +datadog-network==4.1.0 datadog-nfsstat==2.0.0; sys_platform == 'linux2' datadog-nginx-ingress-controller==3.0.0 datadog-nginx==7.0.0 From a9e8077247dd8d4275c928ca4dd69032ce5a3e93 Mon Sep 17 00:00:00 2001 From: savandalasaniya-crest Date: Sat, 5 Oct 2024 00:39:53 +0530 Subject: [PATCH 7/7] Readme application role change (#18614) Co-authored-by: apiazza-dd <120594144+apiazza-dd@users.noreply.github.com> --- mimecast/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mimecast/README.md b/mimecast/README.md index 721e1d0a177d7..29266260e8109 100644 --- a/mimecast/README.md +++ b/mimecast/README.md @@ -33,7 +33,7 @@ To find your application's details in Mimecast Email Security: - Application Name: Enter the application name of your choice - Category: Select **SIEM Integration** - Products: Click **Select all** option - - Application Role: Select **SIEM Admin Role** + - Application Role: Select **Basic Administrator** - Description: Enter the description of your choice - In **Notifications**, provide the contact details of your technical administrator and click on **Next** - After clicking on **Add and Generate Keys** there will be pop up window showing Client ID and Client Secret. Please copy those keys to a safe place as they won't be displayed again.