Created
March 14, 2023 11:15
-
-
Save liwsakilive/de248118fd5a8ce9513c7e3ce1da7327 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| apiVersion: apps/v1 | |
| kind: Deployment | |
| metadata: | |
| name: prometheus-deployment | |
| namespace: prom | |
| labels: | |
| app: prometheus-server | |
| spec: | |
| replicas: 1 | |
| selector: | |
| matchLabels: | |
| app: prometheus-server | |
| template: | |
| metadata: | |
| labels: | |
| app: prometheus-server | |
| spec: | |
| containers: | |
| - name: prometheus | |
| image: prom/prometheus | |
| args: | |
| - "--config.file=/etc/prometheus/prometheus.yml" | |
| - "--storage.tsdb.path=/prometheus/" | |
| ports: | |
| - containerPort: 9090 | |
| volumeMounts: | |
| - name: prometheus-config-volume | |
| mountPath: /etc/prometheus/ | |
| - name: prometheus-storage-volume | |
| mountPath: /prometheus/ | |
| volumes: | |
| - name: prometheus-config-volume | |
| configMap: | |
| defaultMode: 420 | |
| name: prometheus-server-conf | |
| - name: prometheus-storage-volume | |
| emptyDir: {} | |
| --- | |
| apiVersion: v1 | |
| kind: Service | |
| metadata: | |
| name: prometheus-service | |
| namespace: prom | |
| annotations: | |
| prometheus.io/scrape: 'true' | |
| prometheus.io/port: '9090' | |
| spec: | |
| selector: | |
| app: prometheus-server | |
| type: NodePort | |
| ports: | |
| - port: 8080 | |
| targetPort: 9090 | |
| nodePort: 30000 | |
| --- | |
| apiVersion: v1 | |
| kind: ConfigMap | |
| metadata: | |
| name: prometheus-server-conf | |
| labels: | |
| name: prometheus-server-conf | |
| namespace: prom | |
| data: | |
| prometheus.rules: |- | |
| groups: | |
| - name: devopscube demo alert | |
| rules: | |
| - alert: High Pod Memory | |
| expr: sum(container_memory_usage_bytes) > 1 | |
| for: 1m | |
| labels: | |
| severity: slack | |
| annotations: | |
| summary: High Memory Usage | |
| prometheus.yml: |- | |
| global: | |
| scrape_interval: 5s | |
| evaluation_interval: 5s | |
| rule_files: | |
| - /etc/prometheus/prometheus.rules | |
| alerting: | |
| alertmanagers: | |
| - scheme: http | |
| static_configs: | |
| - targets: | |
| - "alertmanager.monitoring.svc:9093" | |
| scrape_configs: | |
| - job_name: 'node-exporter' | |
| kubernetes_sd_configs: | |
| - role: endpoints | |
| relabel_configs: | |
| - source_labels: [__meta_kubernetes_endpoints_name] | |
| regex: 'node-exporter' | |
| action: keep | |
| - job_name: 'kubernetes-apiservers' | |
| kubernetes_sd_configs: | |
| - role: endpoints | |
| scheme: https | |
| tls_config: | |
| ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt | |
| bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token | |
| relabel_configs: | |
| - source_labels: [__meta_kubernetes_namespace, __meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name] | |
| action: keep | |
| regex: default;kubernetes;https | |
| - job_name: 'kubernetes-nodes' | |
| scheme: https | |
| tls_config: | |
| ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt | |
| bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token | |
| kubernetes_sd_configs: | |
| - role: node | |
| relabel_configs: | |
| - action: labelmap | |
| regex: __meta_kubernetes_node_label_(.+) | |
| - target_label: __address__ | |
| replacement: kubernetes.default.svc:443 | |
| - source_labels: [__meta_kubernetes_node_name] | |
| regex: (.+) | |
| target_label: __metrics_path__ | |
| replacement: /api/v1/nodes/${1}/proxy/metrics | |
| - job_name: 'kubernetes-pods' | |
| kubernetes_sd_configs: | |
| - role: pod | |
| relabel_configs: | |
| - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape] | |
| action: keep | |
| regex: true | |
| - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_path] | |
| action: replace | |
| target_label: __metrics_path__ | |
| regex: (.+) | |
| - source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port] | |
| action: replace | |
| regex: ([^:]+)(?::\d+)?;(\d+) | |
| replacement: $1:$2 | |
| target_label: __address__ | |
| - action: labelmap | |
| regex: __meta_kubernetes_pod_label_(.+) | |
| - source_labels: [__meta_kubernetes_namespace] | |
| action: replace | |
| target_label: kubernetes_namespace | |
| - source_labels: [__meta_kubernetes_pod_name] | |
| action: replace | |
| target_label: kubernetes_pod_name | |
| - job_name: 'kube-state-metrics' | |
| static_configs: | |
| - targets: ['kube-state-metrics.kube-system.svc.cluster.local:8080'] | |
| - job_name: 'kubernetes-cadvisor' | |
| scheme: https | |
| tls_config: | |
| ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt | |
| bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token | |
| kubernetes_sd_configs: | |
| - role: node | |
| relabel_configs: | |
| - action: labelmap | |
| regex: __meta_kubernetes_node_label_(.+) | |
| - target_label: __address__ | |
| replacement: kubernetes.default.svc:443 | |
| - source_labels: [__meta_kubernetes_node_name] | |
| regex: (.+) | |
| target_label: __metrics_path__ | |
| replacement: /api/v1/nodes/${1}/proxy/metrics/cadvisor | |
| - job_name: 'kubernetes-service-endpoints' | |
| kubernetes_sd_configs: | |
| - role: endpoints | |
| relabel_configs: | |
| - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scrape] | |
| action: keep | |
| regex: true | |
| - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scheme] | |
| action: replace | |
| target_label: __scheme__ | |
| regex: (https?) | |
| - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_path] | |
| action: replace | |
| target_label: __metrics_path__ | |
| regex: (.+) | |
| - source_labels: [__address__, __meta_kubernetes_service_annotation_prometheus_io_port] | |
| action: replace | |
| target_label: __address__ | |
| regex: ([^:]+)(?::\d+)?;(\d+) | |
| replacement: $1:$2 | |
| - action: labelmap | |
| regex: __meta_kubernetes_service_label_(.+) | |
| - source_labels: [__meta_kubernetes_namespace] | |
| action: replace | |
| target_label: kubernetes_namespace | |
| - source_labels: [__meta_kubernetes_service_name] | |
| action: replace | |
| target_label: kubernetes_name |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment