Skip to content

Commit

Permalink
Finalize KubeVirt integrations (#18744)
Browse files Browse the repository at this point in the history
* 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
  • Loading branch information
NouemanKHAL authored Oct 4, 2024
1 parent 0eb0b97 commit 3150634
Show file tree
Hide file tree
Showing 9 changed files with 41 additions and 72 deletions.
3 changes: 2 additions & 1 deletion kubevirt_api/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,8 @@
},
"service_checks": {
"metadata_path": "assets/service_checks.json"
}
},
"process_signatures": ["virt-api"]
},
"dashboards": {
"KubeVirt Overview": "assets/dashboards/kubevirt_overview.json"
Expand Down
2 changes: 1 addition & 1 deletion kubevirt_api/metadata.csv
Original file line number Diff line number Diff line change
@@ -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,,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
3 changes: 2 additions & 1 deletion kubevirt_controller/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,8 @@
},
"service_checks": {
"metadata_path": "assets/service_checks.json"
}
},
"process_signatures": ["virt-controller"]
}
},
"author": {
Expand Down
50 changes: 25 additions & 25 deletions kubevirt_controller/metadata.csv
Original file line number Diff line number Diff line change
@@ -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,,,
3 changes: 3 additions & 0 deletions kubevirt_handler/datadog_checks/kubevirt_handler/check.py
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
41 changes: 0 additions & 41 deletions kubevirt_handler/images/IMAGES_README.md

This file was deleted.

5 changes: 3 additions & 2 deletions kubevirt_handler/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -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": {
Expand Down
2 changes: 1 addition & 1 deletion kubevirt_handler/metadata.csv
Original file line number Diff line number Diff line change
@@ -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,,
Expand Down

0 comments on commit 3150634

Please sign in to comment.