Skip to content

Commit

Permalink
Report number of services per namespace and type
Browse files Browse the repository at this point in the history
  • Loading branch information
xvello committed Oct 2, 2018
1 parent c7811d0 commit 7e2f253
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -169,6 +169,7 @@ def _create_kubernetes_state_prometheus_instance(self, instance):
'kube_replicationcontroller_status_fully_labeled_replicas': 'replicationcontroller.fully_labeled_replicas', # noqa: E501
'kube_replicationcontroller_status_ready_replicas': 'replicationcontroller.replicas_ready',
'kube_replicationcontroller_status_replicas': 'replicationcontroller.replicas',
'kube_service_spec_type': 'service.count',
'kube_statefulset_replicas': 'statefulset.replicas_desired',
'kube_statefulset_status_replicas': 'statefulset.replicas',
'kube_statefulset_status_replicas_current': 'statefulset.replicas_current',
Expand Down
1 change: 1 addition & 0 deletions kubernetes_state/metadata.csv
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,7 @@ kubernetes_state.resourcequota.requests.memory.limit,gauge,,byte,,Hard limit on
kubernetes_state.resourcequota.requests.storage.limit,gauge,,byte,,Hard limit on the total of storage bytes requested for a resource quota,0,kubernetes,k8s_state.resourcequota.requests.storage.limit
kubernetes_state.resourcequota.limits.cpu.limit,gauge,,cpu,,Hard limit on the sum of CPU core limits for a resource quota,0,kubernetes,k8s_state.resourcequota.limits.cpu.limit
kubernetes_state.resourcequota.limits.memory.limit,gauge,,byte,,Hard limit on the sum of memory bytes limits for a resource quota,0,kubernetes,k8s_state.resourcequota.limits.mem.limit
kubernetes_state.service.count,gauge,,,,Sum by namespace and type to count active services,0,kubernetes,k8s_state.svc.count
kubernetes_state.statefulset.replicas,gauge,,,,The number of replicas per statefulset,0,kubernetes,k8s_state.statefulset.replicas
kubernetes_state.statefulset.replicas_desired,gauge,,,,The number of desired replicas per statefulset,0,kubernetes,k8s_state.statefulset.replicas_desired
kubernetes_state.statefulset.replicas_current,gauge,,,,The number of current replicas per StatefulSet,0,kubernetes,k8s_state.statefulset.replicas_current
Expand Down
12 changes: 12 additions & 0 deletions kubernetes_state/tests/fixtures/prometheus.txt
Original file line number Diff line number Diff line change
Expand Up @@ -812,6 +812,18 @@ kube_service_labels{label_app="helm",label_name="tiller",namespace="kube-system"
kube_service_labels{label_addonmanager_kubernetes_io_mode="Reconcile",label_k8s_app="kube-dns",label_kubernetes_io_name="KubeDNS",namespace="kube-system",service="kube-dns"} 1
kube_service_labels{label_addonmanager_kubernetes_io_mode="Reconcile",label_app="kubernetes-dashboard",label_kubernetes_io_minikube_addons="dashboard",label_kubernetes_io_minikube_addons_endpoint="dashboard",namespace="kube-system",service="kubernetes-dashboard"} 1
kube_service_labels{label_app="kube-state-metrics",label_chart="kube-state-metrics-0.3.1",label_heritage="Tiller",label_release="jaundiced-numbat",namespace="default",service="jaundiced-numbat-kube-state-metrics"} 1
# HELP kube_service_spec_type Type about service.
# TYPE kube_service_spec_type gauge
kube_service_spec_type{namespace="default",service="datadog-cluster-agent",type="ClusterIP"} 1
kube_service_spec_type{namespace="default",service="ddrc1-kube-state-metrics",type="ClusterIP"} 1
kube_service_spec_type{namespace="default",service="kubernetes",type="ClusterIP"} 1
kube_service_spec_type{namespace="default",service="redis-db2",type="LoadBalancer"} 1
kube_service_spec_type{namespace="default",service="redis-db2-bis",type="LoadBalancer"} 1
kube_service_spec_type{namespace="kube-system",service="default-http-backend",type="NodePort"} 1
kube_service_spec_type{namespace="kube-system",service="heapster",type="ClusterIP"} 1
kube_service_spec_type{namespace="kube-system",service="kube-dns",type="ClusterIP"} 1
kube_service_spec_type{namespace="kube-system",service="metrics-server",type="ClusterIP"} 1
kube_service_spec_type{namespace="kube-system",service="tiller-deploy",type="ClusterIP"} 1
# HELP kube_resourcequota Information about resource quota.
# TYPE kube_resourcequota gauge
kube_resourcequota{namespace="default",resource="cpu",resourcequota="custom-resource-quotas",type="hard"} 65
Expand Down
13 changes: 12 additions & 1 deletion kubernetes_state/tests/test_kubernetes_state.py
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,8 @@
NAMESPACE + '.resourcequota.limits.memory.limit',
# limitrange
NAMESPACE + '.limitrange.cpu.default_request',
# services
NAMESPACE + '.service.count',
]

TAGS = {
Expand Down Expand Up @@ -121,7 +123,16 @@
],
NAMESPACE + '.persistentvolumeclaim.request_storage': [
'storageclass:manual'
]
],
NAMESPACE + '.service.count': [
'namespace:kube-system',
'namespace:default',
'type:ClusterIP',
'type:NodePort',
'type:LoadBalancer',
'service:redis-db2',
'service:tiller-deploy',
],
}

JOINED_METRICS = {
Expand Down

0 comments on commit 7e2f253

Please sign in to comment.