grafana updates

This commit is contained in:
marcel-dempers 2020-02-04 20:44:16 +11:00
parent 33907264a2
commit 6ebb169ee2
4 changed files with 275 additions and 132 deletions

View File

@ -1,102 +1,203 @@
apiVersion: apps/v1 apiVersion: apps/v1
kind: Deployment kind: Deployment
metadata: metadata:
name: grafana-app labels:
app: grafana
name: grafana
namespace: monitoring
spec: spec:
replicas: 1 replicas: 1
selector: selector:
matchLabels: matchLabels:
app: grafana-app app: grafana
template: template:
metadata: metadata:
labels: labels:
app: grafana-app app: grafana
spec: spec:
volumes:
- name: grafana-datasource-provisioning
configMap:
name: grafana-datasource-provisioning
- name: grafana-dashboard-provisioning
configMap:
name: grafana-dashboard-provisioning
- name: grafana-dashboard-node-rsrc-use
configMap:
name: grafana-dashboard-node-rsrc-use
- name: grafana-dashboard-node-cluster-rsrc-use
configMap:
name: grafana-dashboard-node-cluster-rsrc-use
- name: grafana-dashboard-k8s-resources-cluster
configMap:
name: grafana-dashboard-k8s-resources-cluster
- name: grafana-dashboard-k8s-resources-namespace
configMap:
name: grafana-dashboard-k8s-resources-namespace
- name : grafana-dashboard-k8s-resources-pod
configMap:
name: grafana-dashboard-k8s-resources-pod
- name: grafana-dashboard-k8s-resources-workload
configMap:
name: grafana-dashboard-k8s-resources-workload
- name: grafana-dashboard-k8s-resources-workloads-namespace
configMap:
name: grafana-dashboard-k8s-resources-workloads-namespace
- name: grafana-dashboard-kubelet
configMap:
name: grafana-dashboard-kubelet
- name: grafana-dashboard-nodes
configMap:
name: grafana-dashboard-nodes
- name: grafana-dashboard-pods
configMap:
name: grafana-dashboard-pods
containers: containers:
- name: grafana-app - image: grafana/grafana:6.6.0
image: grafana/grafana:6.4.3 name: grafana
ports: ports:
- name: web - containerPort: 3000
containerPort: 3000 name: http
readinessProbe:
httpGet:
path: /api/health
port: http
# resources:
# limits:
# cpu: 200m
# memory: 200Mi
# requests:
# cpu: 100m
# memory: 100Mi
volumeMounts: volumeMounts:
- name: grafana-datasource-provisioning - mountPath: /var/lib/grafana
mountPath: /etc/grafana/provisioning/datasources/ name: grafana-storage
readOnly: false
- name: grafana-dashboard-provisioning - mountPath: /etc/grafana/provisioning/datasources
mountPath: /etc/grafana/provisioning/dashboards/ name: grafana-datasources
readOnly: false
- name: grafana-dashboard-node-rsrc-use - mountPath: /etc/grafana/provisioning/dashboards
mountPath: /var/lib/grafana/dashboards/kubernetes/node-rsrc-use.json name: grafana-dashboards
subPath: node-rsrc-use.json readOnly: false
- mountPath: /grafana-dashboard-definitions/0/apiserver
- name: grafana-dashboard-node-cluster-rsrc-use name: grafana-dashboard-apiserver
mountPath: /var/lib/grafana/dashboards/kubernetes/node-cluster-rsrc-use.json readOnly: false
subPath: node-cluster-rsrc-use.json - mountPath: /grafana-dashboard-definitions/0/cluster-total
name: grafana-dashboard-cluster-total
- name: grafana-dashboard-k8s-resources-cluster readOnly: false
mountPath: /var/lib/grafana/dashboards/kubernetes/k8s-resources-cluster.json - mountPath: /grafana-dashboard-definitions/0/controller-manager
subPath: k8s-resources-cluster.json name: grafana-dashboard-controller-manager
readOnly: false
- name: grafana-dashboard-k8s-resources-namespace - mountPath: /grafana-dashboard-definitions/0/k8s-resources-cluster
mountPath: /var/lib/grafana/dashboards/kubernetes/k8s-resources-namespace.json name: grafana-dashboard-k8s-resources-cluster
subPath: k8s-resources-namespace.json readOnly: false
- mountPath: /grafana-dashboard-definitions/0/k8s-resources-namespace
- name: grafana-dashboard-k8s-resources-pod name: grafana-dashboard-k8s-resources-namespace
mountPath: /var/lib/grafana/dashboards/kubernetes/k8s-resources-pod.json readOnly: false
subPath: k8s-resources-pod.json - mountPath: /grafana-dashboard-definitions/0/k8s-resources-node
name: grafana-dashboard-k8s-resources-node
- name: grafana-dashboard-k8s-resources-workload readOnly: false
mountPath: /var/lib/grafana/dashboards/kubernetes/k8s-resources-workload.json - mountPath: /grafana-dashboard-definitions/0/k8s-resources-pod
subPath: k8s-resources-workload.json name: grafana-dashboard-k8s-resources-pod
readOnly: false
- name: grafana-dashboard-k8s-resources-workloads-namespace - mountPath: /grafana-dashboard-definitions/0/k8s-resources-workload
mountPath: /var/lib/grafana/dashboards/kubernetes/k8s-resources-workloads-namespace.json name: grafana-dashboard-k8s-resources-workload
subPath: k8s-resources-workloads-namespace.json readOnly: false
- mountPath: /grafana-dashboard-definitions/0/k8s-resources-workloads-namespace
- name: grafana-dashboard-kubelet name: grafana-dashboard-k8s-resources-workloads-namespace
mountPath: /var/lib/grafana/dashboards/kubernetes/kubelet.json readOnly: false
subPath: kubelet.json - mountPath: /grafana-dashboard-definitions/0/kubelet
name: grafana-dashboard-kubelet
- name: grafana-dashboard-nodes readOnly: false
mountPath: /var/lib/grafana/dashboards/kubernetes/nodes.json - mountPath: /grafana-dashboard-definitions/0/namespace-by-pod
subPath: nodes.json name: grafana-dashboard-namespace-by-pod
- name: grafana-dashboard-pods readOnly: false
mountPath: /var/lib/grafana/dashboards/kubernetes/pods.json - mountPath: /grafana-dashboard-definitions/0/namespace-by-workload
subPath: pods.json name: grafana-dashboard-namespace-by-workload
readOnly: false
- mountPath: /grafana-dashboard-definitions/0/node-cluster-rsrc-use
name: grafana-dashboard-node-cluster-rsrc-use
readOnly: false
- mountPath: /grafana-dashboard-definitions/0/node-rsrc-use
name: grafana-dashboard-node-rsrc-use
readOnly: false
- mountPath: /grafana-dashboard-definitions/0/nodes
name: grafana-dashboard-nodes
readOnly: false
- mountPath: /grafana-dashboard-definitions/0/persistentvolumesusage
name: grafana-dashboard-persistentvolumesusage
readOnly: false
- mountPath: /grafana-dashboard-definitions/0/pod-total
name: grafana-dashboard-pod-total
readOnly: false
- mountPath: /grafana-dashboard-definitions/0/pods
name: grafana-dashboard-pods
readOnly: false
- mountPath: /grafana-dashboard-definitions/0/prometheus-remote-write
name: grafana-dashboard-prometheus-remote-write
readOnly: false
- mountPath: /grafana-dashboard-definitions/0/prometheus
name: grafana-dashboard-prometheus
readOnly: false
- mountPath: /grafana-dashboard-definitions/0/proxy
name: grafana-dashboard-proxy
readOnly: false
- mountPath: /grafana-dashboard-definitions/0/scheduler
name: grafana-dashboard-scheduler
readOnly: false
- mountPath: /grafana-dashboard-definitions/0/statefulset
name: grafana-dashboard-statefulset
readOnly: false
- mountPath: /grafana-dashboard-definitions/0/workload-total
name: grafana-dashboard-workload-total
readOnly: false
nodeSelector:
beta.kubernetes.io/os: linux
securityContext:
runAsNonRoot: true
runAsUser: 65534
serviceAccountName: grafana
volumes:
- emptyDir: {}
name: grafana-storage
- configMap:
name: grafana-datasources
name: grafana-datasources
- configMap:
name: grafana-dashboards
name: grafana-dashboards
- configMap:
name: grafana-dashboard-apiserver
name: grafana-dashboard-apiserver
- configMap:
name: grafana-dashboard-cluster-total
name: grafana-dashboard-cluster-total
- configMap:
name: grafana-dashboard-controller-manager
name: grafana-dashboard-controller-manager
- configMap:
name: grafana-dashboard-k8s-resources-cluster
name: grafana-dashboard-k8s-resources-cluster
- configMap:
name: grafana-dashboard-k8s-resources-namespace
name: grafana-dashboard-k8s-resources-namespace
- configMap:
name: grafana-dashboard-k8s-resources-node
name: grafana-dashboard-k8s-resources-node
- configMap:
name: grafana-dashboard-k8s-resources-pod
name: grafana-dashboard-k8s-resources-pod
- configMap:
name: grafana-dashboard-k8s-resources-workload
name: grafana-dashboard-k8s-resources-workload
- configMap:
name: grafana-dashboard-k8s-resources-workloads-namespace
name: grafana-dashboard-k8s-resources-workloads-namespace
- configMap:
name: grafana-dashboard-kubelet
name: grafana-dashboard-kubelet
- configMap:
name: grafana-dashboard-namespace-by-pod
name: grafana-dashboard-namespace-by-pod
- configMap:
name: grafana-dashboard-namespace-by-workload
name: grafana-dashboard-namespace-by-workload
- configMap:
name: grafana-dashboard-node-cluster-rsrc-use
name: grafana-dashboard-node-cluster-rsrc-use
- configMap:
name: grafana-dashboard-node-rsrc-use
name: grafana-dashboard-node-rsrc-use
- configMap:
name: grafana-dashboard-nodes
name: grafana-dashboard-nodes
- configMap:
name: grafana-dashboard-persistentvolumesusage
name: grafana-dashboard-persistentvolumesusage
- configMap:
name: grafana-dashboard-pod-total
name: grafana-dashboard-pod-total
- configMap:
name: grafana-dashboard-pods
name: grafana-dashboard-pods
- configMap:
name: grafana-dashboard-prometheus-remote-write
name: grafana-dashboard-prometheus-remote-write
- configMap:
name: grafana-dashboard-prometheus
name: grafana-dashboard-prometheus
- configMap:
name: grafana-dashboard-proxy
name: grafana-dashboard-proxy
- configMap:
name: grafana-dashboard-scheduler
name: grafana-dashboard-scheduler
- configMap:
name: grafana-dashboard-statefulset
name: grafana-dashboard-statefulset
- configMap:
name: grafana-dashboard-workload-total
name: grafana-dashboard-workload-total

View File

@ -1,12 +1,13 @@
kind: Service
apiVersion: v1 apiVersion: v1
kind: Service
metadata: metadata:
name: grafana-app
labels: labels:
app: grafana-app app: grafana
name: grafana
spec: spec:
selector:
app: grafana-app
ports: ports:
- name: web - name: http
port: 3000 port: 3000
targetPort: http
selector:
app: grafana

View File

@ -1,39 +1,75 @@
# apiVersion: v1
# items:
# - apiVersion: v1
# kind: ConfigMap
# metadata:
# name: grafana-dashboard-provisioning
# namespace: monitoring
# data:
# dashboard.yaml: |-
# apiVersion: 1
# providers:
# - name: 'kubernetes'
# orgId: 1
# # <string, required> name of the dashboard folder. Required
# folder: 'kubernetes'
# type: file
# disableDeletion: true
# editable: true
# # <int> how often Grafana will scan for changed dashboards
# updateIntervalSeconds: 30
# options:
# path: /var/lib/grafana/dashboards
# - apiVersion: v1
# kind: ConfigMap
# metadata:
# name: grafana-datasource-provisioning
# namespace: monitoring
# data:
# datasources.yaml: |-
# apiVersion: 1
# datasources:
# - name: prometheus
# orgId: 1
# type: prometheus
# url: http://prometheus-service:9090
# isDefault: true
# access: proxy
# editable: true
# kind: ConfigMapList
apiVersion: v1 apiVersion: v1
items: kind: ConfigMap
- apiVersion: v1 metadata:
kind: ConfigMap name: grafana-datasources
metadata: data:
name: grafana-dashboard-provisioning datasources.yaml: |-
namespace: monitoring apiVersion: 1
data: datasources:
dashboard.yaml: |- - name: prometheus
apiVersion: 1 orgId: 1
providers: type: prometheus
- name: 'kubernetes' url: http://prometheus-service:9090
orgId: 1 isDefault: true
# <string, required> name of the dashboard folder. Required access: proxy
folder: 'kubernetes' editable: true
type: file ---
disableDeletion: true apiVersion: v1
editable: true kind: ConfigMap
# <int> how often Grafana will scan for changed dashboards metadata:
updateIntervalSeconds: 30 name: grafana-dashboards
options: data:
path: /var/lib/grafana/dashboards dashboards.yaml: |-
- apiVersion: v1 {
kind: ConfigMap "apiVersion": 1,
metadata: "providers": [
name: grafana-datasource-provisioning {
namespace: monitoring "folder": "",
data: "name": "0",
datasources.yaml: |- "options": {
apiVersion: 1 "path": "/grafana-dashboard-definitions/0"
datasources: },
- name: prometheus "orgId": 1,
orgId: 1 "type": "file"
type: prometheus }
url: http://prometheus-service:9090 ]
isDefault: true }
access: proxy
editable: true
kind: ConfigMapList

View File

@ -0,0 +1,5 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: grafana