浏览代码

add grafana new version and exporter for redis,rmq,zk

Your Name 6 年之前
父节点
当前提交
ee93a20289

+ 21 - 0
prometheus-operator/exporter/rabbitmq-service-monitor.yaml

@@ -0,0 +1,21 @@
+apiVersion: monitoring.coreos.com/v1
+kind: ServiceMonitor
+metadata:
+  name: rabbitmq-exporter
+  namespace: monitoring
+  labels:
+    k8s-app: rabbitmq-exporter
+    namespace: monitoring
+spec:
+  jobLabel: k8s-app
+  endpoints:
+  - port: api
+    interval: 30s
+    scheme: http
+  selector:
+    matchLabels:
+      k8s-app: rabbitmq-exporter
+  namespaceSelector:
+    matchNames:
+    - monitoring
+

+ 47 - 0
prometheus-operator/exporter/rabbitmq.yaml

@@ -0,0 +1,47 @@
+---
+apiVersion: apps/v1beta1
+kind: Deployment
+metadata:
+  name: rabbitmq-exporter
+  namespace: monitoring
+spec:
+  replicas: 1
+  template:
+    metadata:
+      labels:
+        k8s-app: rabbitmq-exporter
+    spec:
+      containers:
+      - name: rabbitmq-exporter
+        image: kbudde/rabbitmq-exporter
+        env:
+         - name: PUBLISH_PORT
+           value: "9099"
+         - name: RABBIT_CAPABILITIES
+           value: "bert,no_sort"
+         - name: RABBIT_USER
+           value: "guest"
+         - name: RABBIT_PASSWORD
+           value: "guest"
+         - name: RABBIT_URL
+           value: http://rmq-cluster-balancer.public-service:15672
+        imagePullPolicy: IfNotPresent
+        ports:
+        - containerPort: 9099
+---
+apiVersion: v1
+kind: Service
+metadata:
+  name: rabbitmq-exporter
+  namespace: monitoring
+  labels:
+    k8s-app: rabbitmq-exporter
+spec:
+  type: ClusterIP
+  clusterIP: None
+  selector:
+    k8s-app: rabbitmq-exporter
+  ports:
+  - name: api
+    port: 9099
+    protocol: TCP

+ 21 - 0
prometheus-operator/exporter/redis-service-monitor.yaml

@@ -0,0 +1,21 @@
+apiVersion: monitoring.coreos.com/v1
+kind: ServiceMonitor
+metadata:
+  name: redis-exporter
+  namespace: monitoring
+  labels:
+    k8s-app: redis-exporter
+    namespace: monitoring
+spec:
+  jobLabel: k8s-app
+  endpoints:
+  - port: api
+    interval: 30s
+    scheme: http
+  selector:
+    matchLabels:
+      k8s-app: redis-exporter
+  namespaceSelector:
+    matchNames:
+    - monitoring
+

+ 39 - 0
prometheus-operator/exporter/redis.yaml

@@ -0,0 +1,39 @@
+---
+apiVersion: apps/v1beta1
+kind: Deployment
+metadata:
+  name: redis-exporter
+  namespace: monitoring
+spec:
+  replicas: 1
+  template:
+    metadata:
+      labels:
+        k8s-app: redis-exporter
+    spec:
+      containers:
+      - name: redis-exporter
+        image: dotbalo/redis_exporter:latest
+        env:
+         - name: REDIS_ADDR
+           value: redis-cluster-0.redis-cluster.public-service.svc:6379,redis-cluster-1.redis-cluster.public-service.svc:6379,redis-cluster-2.redis-cluster.public-service.svc:6379,redis-cluster-3.redis-cluster.public-service.svc:6379,redis-cluster-4.redis-cluster.public-service.svc:6379,redis-cluster-5.redis-cluster.public-service.svc:6379
+        imagePullPolicy: IfNotPresent
+        ports:
+        - containerPort: 9121
+---
+apiVersion: v1
+kind: Service
+metadata:
+  name: redis-exporter
+  namespace: monitoring
+  labels:
+    k8s-app: redis-exporter
+spec:
+  type: ClusterIP
+  clusterIP: None
+  selector:
+    k8s-app: redis-exporter
+  ports:
+  - name: api
+    port: 9121
+    protocol: TCP

+ 21 - 0
prometheus-operator/exporter/zk-service-monitor.yaml

@@ -0,0 +1,21 @@
+apiVersion: monitoring.coreos.com/v1
+kind: ServiceMonitor
+metadata:
+  name: zk-exporter
+  namespace: monitoring
+  labels:
+    k8s-app: zk-exporter
+    namespace: monitoring
+spec:
+  jobLabel: k8s-app
+  endpoints:
+  - port: api
+    interval: 30s
+    scheme: http
+  selector:
+    matchLabels:
+      k8s-app: zk-exporter
+  namespaceSelector:
+    matchNames:
+    - monitoring
+

+ 37 - 0
prometheus-operator/exporter/zookeeper.yaml

@@ -0,0 +1,37 @@
+---
+apiVersion: apps/v1beta1
+kind: Deployment
+metadata:
+  name: zk-exporter
+  namespace: monitoring
+spec:
+  replicas: 1
+  template:
+    metadata:
+      labels:
+        k8s-app: zk-exporter
+    spec:
+      containers:
+      - name: zk-exporter
+        image: dotbalo/zk-exporter
+        command: ["sh", "-c", "/usr/local/bin/zookeeper-exporter --listen 0.0.0.0:9120 --zk-list zk-0.zk-headless.public-service.svc:2181,zk-1.zk-headless.public-service.svc:2181,zk-2.zk-headless.public-service.svc:2181"]
+        imagePullPolicy: IfNotPresent
+        ports:
+        - containerPort: 9120
+---
+apiVersion: v1
+kind: Service
+metadata:
+  name: zk-exporter
+  namespace: monitoring
+  labels:
+    k8s-app: zk-exporter
+spec:
+  type: ClusterIP
+  clusterIP: None
+  selector:
+    k8s-app: zk-exporter
+  ports:
+  - name: api
+    port: 9120
+    protocol: TCP

+ 80 - 0
prometheus-operator/grafana-new.yaml

@@ -0,0 +1,80 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  labels:
+    app.kubernetes.io/name: grafana
+    app.kubernetes.io/part-of: ingress-nginx
+
+  name: grafana-new
+  namespace: monitoring
+spec:
+  selector:
+    matchLabels:
+      app.kubernetes.io/name: grafana
+      app.kubernetes.io/part-of: ingress-nginx
+  strategy:
+    rollingUpdate:
+      maxSurge: 1
+      maxUnavailable: 1
+    type: RollingUpdate
+  template:
+    metadata:
+      labels:
+        app.kubernetes.io/name: grafana
+        app.kubernetes.io/part-of: ingress-nginx
+    spec:
+      containers:
+        - image: grafana/grafana
+          name: grafana
+          ports:
+            - containerPort: 3000
+              protocol: TCP
+          resources:
+            limits:
+              cpu: 500m
+              memory: 2500Mi
+            requests:
+              cpu: 100m
+              memory: 100Mi
+          volumeMounts:
+            - mountPath: /var/lib/grafana
+              name: data
+      restartPolicy: Always
+      volumes:
+        - name: data
+          persistentVolumeClaim:
+            claimName: grafana-storage
+---
+kind: PersistentVolumeClaim
+apiVersion: v1
+metadata:
+  name: grafana-storage
+  namespace: monitoring
+spec:
+  accessModes: [ "ReadWriteOnce" ]
+  storageClassName: "gluster-heketi-2"
+  resources:
+    requests:
+      storage: 5Gi
+
+---
+apiVersion: v1
+kind: Service
+metadata:
+  name: grafana-new
+  namespace: monitoring
+  labels:
+    app.kubernetes.io/name: grafana
+    app.kubernetes.io/part-of: ingress-nginx
+
+spec:
+  ports:
+    - port: 3000
+      protocol: TCP
+      targetPort: 3000
+  selector:
+    app.kubernetes.io/name: grafana
+    app.kubernetes.io/part-of: ingress-nginx
+  type: NodePort
+
+---

+ 6 - 6
prometheus-operator/manifests/prometheus/prometheus-etcd.yaml

@@ -20,12 +20,12 @@ metadata:
     k8s-app: etcd
 subsets:
 - addresses:
-  - ip: 192.168.20.20
-    nodeName: k8s-master01
-  - ip: 192.168.20.21
-    nodeName: k8s-master02
-  - ip: 192.168.20.22
-    nodeName: k8s-master03
+  - ip: 10.120.116.241
+    nodeName: k8s-1.novalocal
+  - ip: 10.120.116.239
+    nodeName: k8s-2.novalocal
+  - ip: 10.120.116.238
+    nodeName: k8s-3.novalocal
   ports:
   - name: api
     port: 2379