From d167cdaf073913bd6724559476533c0fe2f88f2e Mon Sep 17 00:00:00 2001 From: Camil Blanaru Date: Wed, 16 Nov 2016 13:26:26 +0100 Subject: [PATCH] Add Kubernetes state metrics. Fix Grafana EC2 dashboard. Bump Prometehus to v1.3.1. --- .../grafana-dashboards/ec2-instances.json | 30 +++++++++---------- definitions/init.sh | 9 +++++- .../k8s/kube-state-metrics/deployment.yml | 19 ++++++++++++ .../k8s/kube-state-metrics/service.yaml | 16 ++++++++++ .../prometheus/02-prometheus.svc.petset.yaml | 2 +- definitions/remove.sh | 1 + 6 files changed, 60 insertions(+), 17 deletions(-) create mode 100644 definitions/k8s/kube-state-metrics/deployment.yml create mode 100644 definitions/k8s/kube-state-metrics/service.yaml diff --git a/definitions/grafana/grafana-dashboards/ec2-instances.json b/definitions/grafana/grafana-dashboards/ec2-instances.json index 49d48b2..bb8b839 100644 --- a/definitions/grafana/grafana-dashboards/ec2-instances.json +++ b/definitions/grafana/grafana-dashboards/ec2-instances.json @@ -26,7 +26,7 @@ "rgba(237, 129, 40, 0.89)", "rgba(245, 54, 54, 0.9)" ], - "datasource": "prometheus.default.svc.cluster.local", + "datasource": "prometheus.monitoring.svc.cluster.local", "decimals": null, "editable": true, "error": false, @@ -106,7 +106,7 @@ "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)" ], - "datasource": "prometheus.default.svc.cluster.local", + "datasource": "prometheus.monitoring.svc.cluster.local", "editable": true, "error": false, "format": "none", @@ -189,7 +189,7 @@ "rgba(237, 129, 40, 0.89)", "rgba(245, 54, 54, 0.9)" ], - "datasource": "prometheus.default.svc.cluster.local", + "datasource": "prometheus.monitoring.svc.cluster.local", "editable": true, "error": false, "format": "none", @@ -268,7 +268,7 @@ "rgba(237, 129, 40, 0.89)", "rgba(245, 54, 54, 0.9)" ], - "datasource": "prometheus.default.svc.cluster.local", + "datasource": "prometheus.monitoring.svc.cluster.local", "editable": true, "error": false, "format": "bytes", @@ -347,7 +347,7 @@ "rgba(237, 129, 40, 0.89)", "rgba(245, 54, 54, 0.9)" ], - "datasource": "prometheus.default.svc.cluster.local", + "datasource": "prometheus.monitoring.svc.cluster.local", "editable": true, "error": false, "format": "bytes", @@ -426,7 +426,7 @@ "rgba(237, 129, 40, 0.89)", "rgba(245, 54, 54, 0.9)" ], - "datasource": "prometheus.default.svc.cluster.local", + "datasource": "prometheus.monitoring.svc.cluster.local", "editable": true, "error": false, "format": "s", @@ -507,7 +507,7 @@ { "aliasColors": {}, "bars": false, - "datasource": "prometheus.default.svc.cluster.local", + "datasource": "prometheus.monitoring.svc.cluster.local", "decimals": 2, "editable": true, "error": false, @@ -589,7 +589,7 @@ "free": "#7EB26D" }, "bars": false, - "datasource": "prometheus.default.svc.cluster.local", + "datasource": "prometheus.monitoring.svc.cluster.local", "editable": true, "error": false, "fill": 1, @@ -677,7 +677,7 @@ "free": "#7EB26D" }, "bars": false, - "datasource": "prometheus.default.svc.cluster.local", + "datasource": "prometheus.monitoring.svc.cluster.local", "editable": true, "error": false, "fill": 7, @@ -794,7 +794,7 @@ "free": "#7EB26D" }, "bars": false, - "datasource": "prometheus.default.svc.cluster.local", + "datasource": "prometheus.monitoring.svc.cluster.local", "editable": true, "error": false, "fill": 1, @@ -900,7 +900,7 @@ "used": "#EAB839" }, "bars": false, - "datasource": "prometheus.default.svc.cluster.local", + "datasource": "prometheus.monitoring.svc.cluster.local", "editable": true, "error": false, "fill": 7, @@ -1010,7 +1010,7 @@ "used": "#EAB839" }, "bars": false, - "datasource": "prometheus.default.svc.cluster.local", + "datasource": "prometheus.monitoring.svc.cluster.local", "editable": true, "error": false, "fill": 7, @@ -1122,7 +1122,7 @@ "used": "#EAB839" }, "bars": false, - "datasource": "prometheus.default.svc.cluster.local", + "datasource": "prometheus.monitoring.svc.cluster.local", "editable": true, "error": false, "fill": 7, @@ -1267,7 +1267,7 @@ "text": "10.35.140.5", "value": "10.35.140.5" }, - "datasource": "prometheus.default.svc.cluster.local", + "datasource": "prometheus.monitoring.svc.cluster.local", "hide": 1, "hideLabel": true, "includeAll": false, @@ -1309,7 +1309,7 @@ "text": "All", "value": "$__all" }, - "datasource": "prometheus.default.svc.cluster.local", + "datasource": "prometheus.monitoring.svc.cluster.local", "hide": 2, "hideVariable": true, "includeAll": true, diff --git a/definitions/init.sh b/definitions/init.sh index a384bd6..0d0f2e3 100755 --- a/definitions/init.sh +++ b/definitions/init.sh @@ -1,7 +1,7 @@ #!/bin/bash GRAFANA_VERSION=3.1.1 -PROMETHEUS_VERSION=v1.2.1 +PROMETHEUS_VERSION=v1.3.1 DOCKER_USER=camil RED='\033[0;31m' GREEN='\033[0;32m' @@ -172,6 +172,13 @@ kubectl create -f ./k8s/prometheus echo +#deploy kube-state-metrics +echo -e "${ORANGE}Deploying Kube State Metrics exporter" +tput sgr0 +kubectl create -f ./k8s/kube-state-metrics + +echo + #deploy ingress controller echo -e "${BLUE}Deploying K8S Ingress Controller" tput sgr0 diff --git a/definitions/k8s/kube-state-metrics/deployment.yml b/definitions/k8s/kube-state-metrics/deployment.yml new file mode 100644 index 0000000..d373366 --- /dev/null +++ b/definitions/k8s/kube-state-metrics/deployment.yml @@ -0,0 +1,19 @@ +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + name: kube-state-metrics-deployment + namespace: monitoring +spec: + replicas: 1 + template: + metadata: + labels: + app: kube-state-metrics + version: "v0.3.0" + spec: + containers: + - name: kube-state-metrics + image: gcr.io/google_containers/kube-state-metrics:v0.3.0 + ports: + - containerPort: 8080 + imagePullPolicy: Always diff --git a/definitions/k8s/kube-state-metrics/service.yaml b/definitions/k8s/kube-state-metrics/service.yaml new file mode 100644 index 0000000..49fabeb --- /dev/null +++ b/definitions/k8s/kube-state-metrics/service.yaml @@ -0,0 +1,16 @@ +apiVersion: v1 +kind: Service +metadata: + annotations: + prometheus.io/scrape: 'true' + name: kube-state-metrics + namespace: monitoring + labels: + app: kube-state-metrics +spec: + ports: + - name: kube-state-metrics + port: 8080 + protocol: TCP + selector: + app: kube-state-metrics diff --git a/definitions/k8s/prometheus/02-prometheus.svc.petset.yaml b/definitions/k8s/prometheus/02-prometheus.svc.petset.yaml index 2940b96..a0a7851 100644 --- a/definitions/k8s/prometheus/02-prometheus.svc.petset.yaml +++ b/definitions/k8s/prometheus/02-prometheus.svc.petset.yaml @@ -35,7 +35,7 @@ spec: terminationGracePeriodSeconds: 0 containers: - name: prometheus-prom-1 - image: prom/prometheus:v1.3.0 + image: prom/prometheus:v1.3.1 args: - '-storage.local.retention=720h' - '-storage.local.memory-chunks=500000' diff --git a/definitions/remove.sh b/definitions/remove.sh index 58c6dfc..3093db7 100755 --- a/definitions/remove.sh +++ b/definitions/remove.sh @@ -3,4 +3,5 @@ kubectl delete -f ./k8s/grafana kubectl delete -f ./k8s/ingress kubectl delete -f ./k8s/prometheus +kubectl delete -f ./k8s/kube-state-metrics kubectl delete secret dhparam -n monitoring