Kubernetes PVC

Metrics, Dashboards, Alerts and more for Kubernetes PVC Integration in Sysdig Monitor.
Kubernetes PVC

This integration is disabled by default. See Enable and Disable Integrations to enable it in your account.

This integration is out-of-the-box, so it doesn’t require any exporter.

This integration has 9 metrics.

List of Alerts

AlertDescriptionFormat
[k8s-pvc] PV Not AvailablePersistent Volume not availablePrometheus
[k8s-pvc] PVC Pending For a Long TimePersistent Volume Claim not availablePrometheus
[k8s-pvc] PVC LostPersistent Volume Claim lostPrometheus
[k8s-pvc] PVC Storage Usage Is Reaching The LimitPersistent Volume Claim storage at 95%Prometheus
[k8s-pvc] PVC Inodes Usage Is Reaching The LimitPVC inodes Usage Is Reaching The LimitPrometheus
[k8s-pvc] PV Full In Four DaysPersistent Volume Full In Four DaysPrometheus

List of Dashboards

PVC and Storage

The dashboard provides information on the Kubernetes PVC and Storage. PVC and Storage

List of Metrics

Metric name
kube_persistentvolume_status_phase
kube_persistentvolumeclaim_status_phase
kubelet_volume_stats_available_bytes
kubelet_volume_stats_capacity_bytes
kubelet_volume_stats_inodes
kubelet_volume_stats_inodes_used
kubelet_volume_stats_used_bytes
storage_operation_duration_seconds_bucket
storage_operation_duration_seconds_count

Prerequisites

Enable PVC metrics in Sysdig Agent

Enable PVC metrics as seen in Configure PVC Metrics.

Installation

Installing an exporter is not required for this integration.

Agent Configuration

The default agent job for this integration is as follows:

- job_name: k8s-pvc-default
  scrape_interval: 60s
  bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
  scheme: https
  tls_config:
    ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
    insecure_skip_verify: true
  kubernetes_sd_configs:
  - role: node
  relabel_configs:
  - action: keep
    source_labels: [__meta_kubernetes_node_address_InternalIP]
    regex: __HOSTIPS__
  - action: labelmap
    regex: __meta_kubernetes_node_label_(.+)
    replacement: kube_node_label_$1
  - replacement: localhost:10250
    target_label: __address__
  - action: replace
    source_labels: [__meta_kubernetes_node_name]
    target_label: kube_node_name
  metric_relabel_configs:
  # - source_labels: [__name__]
  #   regex: "kubelet_volume(.+)"
  #   action: keep
  - source_labels: [__name__]
    regex: (kube_persistentvolume_status_phase|kube_persistentvolumeclaim_status_phase|kubelet_volume_stats_available_bytes|kubelet_volume_stats_capacity_bytes|kubelet_volume_stats_inodes|kubelet_volume_stats_inodes_used|kubelet_volume_stats_used_bytes)
    action: keep
  - action: replace
    source_labels: [namespace]
    target_label: kube_namespace_name