235 lines
		
	
	
		
			6.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			235 lines
		
	
	
		
			6.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| apiVersion: v1
 | |
| kind: ConfigMap
 | |
| metadata:
 | |
|   name: vmagent
 | |
|   namespace: monitoring
 | |
|   labels:
 | |
|     app.kubernetes.io/name: victoria-metrics
 | |
|     app.kubernetes.io/component: agent
 | |
| data:
 | |
|   prometheus.yml: |
 | |
|     global:
 | |
|       scrape_interval: 1m
 | |
|       external_labels:
 | |
|         source: scaleway
 | |
|         agent: vmagent
 | |
|     scrape_configs:
 | |
|     - job_name: 'vmagent'
 | |
|       static_configs:
 | |
|         - targets: ['localhost:8429']
 | |
|       relabel_configs:
 | |
|       - action: drop
 | |
|         source_labels: [__name__]
 | |
|         regex: "flag"
 | |
| 
 | |
|     - bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
 | |
|       job_name: kubernetes-nodes
 | |
|       kubernetes_sd_configs:
 | |
|       - role: node
 | |
|       relabel_configs:
 | |
|       - action: labelmap
 | |
|         regex: __meta_kubernetes_node_label_(.+)
 | |
|       - replacement: kubernetes.default.svc:443
 | |
|         target_label: __address__
 | |
|       - regex: (.+)
 | |
|         replacement: /api/v1/nodes/$1/proxy/metrics
 | |
|         source_labels:
 | |
|         - __meta_kubernetes_node_name
 | |
|         target_label: __metrics_path__
 | |
|       scheme: https
 | |
|       tls_config:
 | |
|         ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
 | |
|         insecure_skip_verify: true
 | |
| 
 | |
|     - job_name: cadvisor
 | |
|       bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
 | |
|       scheme: https
 | |
|       tls_config:
 | |
|         ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
 | |
|         insecure_skip_verify: true
 | |
|       kubernetes_sd_configs:
 | |
|       - role: node
 | |
|       relabel_configs:
 | |
|       - action: labelmap
 | |
|         regex: __meta_kubernetes_node_label_(.+)
 | |
|       - replacement: kubernetes.default.svc:443
 | |
|         target_label: __address__
 | |
|       - source_labels: [__meta_kubernetes_node_name]
 | |
|         regex: (.+)
 | |
|         target_label: __metrics_path__
 | |
|         replacement: /api/v1/nodes/$1/proxy/metrics/cadvisor
 | |
|       # Drop high cardinality labels
 | |
|       - action: labeldrop
 | |
|         regex: id
 | |
|       # Drop unneeded labels
 | |
|       - action: labeldrop
 | |
|         regex: beta_kubernetes_io_os
 | |
|       - action: labeldrop
 | |
|         regex: beta_kubernetes_io_arch
 | |
|       - action: labeldrop
 | |
|         regex: kubernetes_io_arch
 | |
|       - action: labeldrop
 | |
|         regex: kubernetes_io_os
 | |
|       - action: labeldrop
 | |
|         regex: topology_jiva_openebs_io_nodeName
 | |
| 
 | |
|     - job_name: kubernetes-service-endpoints
 | |
|       kubernetes_sd_configs:
 | |
|       - role: endpoints
 | |
|       relabel_configs:
 | |
|       - action: drop
 | |
|         source_labels: [__meta_kubernetes_pod_container_init]
 | |
|         regex: true
 | |
|       - action: keep
 | |
|         regex: true
 | |
|         source_labels:
 | |
|         - __meta_kubernetes_service_annotation_prometheus_io_scrape
 | |
|       - action: replace
 | |
|         regex: (https?)
 | |
|         source_labels:
 | |
|         - __meta_kubernetes_service_annotation_prometheus_io_scheme
 | |
|         target_label: __scheme__
 | |
|       - action: replace
 | |
|         regex: (.+)
 | |
|         source_labels:
 | |
|         - __meta_kubernetes_service_annotation_prometheus_io_path
 | |
|         target_label: __metrics_path__
 | |
|       - action: replace
 | |
|         regex: ([^:]+)(?::\d+)?;(\d+)
 | |
|         replacement: $1:$2
 | |
|         source_labels:
 | |
|         - __address__
 | |
|         - __meta_kubernetes_service_annotation_prometheus_io_port
 | |
|         target_label: __address__
 | |
|       - action: labelmap
 | |
|         regex: __meta_kubernetes_service_label_(.+)
 | |
|       - action: replace
 | |
|         source_labels:
 | |
|         - __meta_kubernetes_namespace
 | |
|         target_label: kubernetes_namespace
 | |
|       - action: replace
 | |
|         source_labels:
 | |
|         - __meta_kubernetes_service_name
 | |
|         target_label: kubernetes_name
 | |
|       - action: replace
 | |
|         source_labels:
 | |
|         - __meta_kubernetes_pod_node_name
 | |
|         target_label: kubernetes_node
 | |
|       # We don't care about the flag metrics from VM
 | |
|       - action: drop
 | |
|         source_labels: [__name__]
 | |
|         regex: "flag"
 | |
|       # Drop unneeded labels
 | |
|       - action: labeldrop
 | |
|         regex: beta_kubernetes_io_os
 | |
|       - action: labeldrop
 | |
|         regex: beta_kubernetes_io_arch
 | |
|       - action: labeldrop
 | |
|         regex: kubernetes_io_arch
 | |
|       - action: labeldrop
 | |
|         regex: kubernetes_io_os
 | |
|       - action: labeldrop
 | |
|         regex: topology_jiva_openebs_io_nodeName
 | |
| 
 | |
|     - job_name: kubernetes-pods
 | |
|       kubernetes_sd_configs:
 | |
|       - role: pod
 | |
|       relabel_configs:
 | |
|       - action: drop
 | |
|         source_labels: [__meta_kubernetes_pod_container_init]
 | |
|         regex: true
 | |
|       - action: keep
 | |
|         regex: true
 | |
|         source_labels:
 | |
|         - __meta_kubernetes_pod_annotation_prometheus_io_scrape
 | |
|       - action: replace
 | |
|         regex: (.+)
 | |
|         source_labels:
 | |
|         - __meta_kubernetes_pod_annotation_prometheus_io_path
 | |
|         target_label: __metrics_path__
 | |
|       - action: replace
 | |
|         regex: ([^:]+)(?::\d+)?;(\d+)
 | |
|         replacement: $1:$2
 | |
|         source_labels:
 | |
|         - __address__
 | |
|         - __meta_kubernetes_pod_annotation_prometheus_io_port
 | |
|         target_label: __address__
 | |
|       - action: labelmap
 | |
|         regex: __meta_kubernetes_pod_label_(.+)
 | |
|       - action: replace
 | |
|         source_labels:
 | |
|         - __meta_kubernetes_namespace
 | |
|         target_label: kubernetes_namespace
 | |
|       - action: replace
 | |
|         source_labels:
 | |
|         - __meta_kubernetes_pod_name
 | |
|         target_label: kubernetes_pod_name
 | |
|       - action: drop
 | |
|         regex: Pending|Succeeded|Failed
 | |
|         source_labels:
 | |
|         - __meta_kubernetes_pod_phase
 | |
|       # Drop unneeded labels
 | |
|       - action: labeldrop
 | |
|         regex: beta_kubernetes_io_os
 | |
|       - action: labeldrop
 | |
|         regex: beta_kubernetes_io_arch
 | |
|       - action: labeldrop
 | |
|         regex: kubernetes_io_arch
 | |
|       - action: labeldrop
 | |
|         regex: kubernetes_io_os
 | |
|       - action: labeldrop
 | |
|         regex: topology_jiva_openebs_io_nodeName
 | |
| 
 | |
|     - job_name: 'node-exporter'
 | |
|       kubernetes_sd_configs:
 | |
|         - role: endpoints
 | |
|       relabel_configs:
 | |
|       - source_labels: [__meta_kubernetes_endpoints_name]
 | |
|         regex: 'prometheus-node-exporter'
 | |
|         action: keep
 | |
| ---
 | |
| 
 | |
| apiVersion: apps/v1
 | |
| kind: Deployment
 | |
| metadata:
 | |
|   name: vmagent
 | |
|   namespace: monitoring
 | |
|   labels:
 | |
|     app.kubernetes.io/name: victoria-metrics
 | |
|     app.kubernetes.io/component: agent
 | |
|   annotations:
 | |
|     configmap.reloader.stakater.com/reload: "vmagent"
 | |
| spec:
 | |
|   strategy:
 | |
|     type: Recreate
 | |
|   selector:
 | |
|     matchLabels:
 | |
|       app.kubernetes.io/name: victoria-metrics
 | |
|       app.kubernetes.io/component: agent
 | |
|   replicas: 1
 | |
|   template:
 | |
|     metadata:
 | |
|       labels:
 | |
|         app.kubernetes.io/name: victoria-metrics
 | |
|         app.kubernetes.io/component: agent
 | |
|     spec:
 | |
|       priorityClassName: system-cluster-critical
 | |
|       serviceAccountName: prometheus-server
 | |
|       containers:
 | |
|         - name: vmagent
 | |
|           image: "victoriametrics/vmagent:v1.128.0"
 | |
|           imagePullPolicy: "IfNotPresent"
 | |
|           args:
 | |
|             - -remoteWrite.url=http://vmcluster.auth-proxy.svc/insert/0/prometheus/
 | |
|             - -remoteWrite.showURL
 | |
|             - -promscrape.config=/config/prometheus.yml
 | |
|             - -promscrape.suppressDuplicateScrapeTargetErrors
 | |
|           volumeMounts:
 | |
|             - name: config-volume
 | |
|               mountPath: /config
 | |
|       volumes:
 | |
|         - name: config-volume
 | |
|           configMap:
 | |
|             name: vmagent
 | |
| ---
 |