diff --git a/manifests/monitoring/prometheus-server.yaml b/manifests/monitoring/prometheus-server.yaml index 32fd82c..d8d4417 100644 --- a/manifests/monitoring/prometheus-server.yaml +++ b/manifests/monitoring/prometheus-server.yaml @@ -392,7 +392,7 @@ spec: matchLabels: app.kubernetes.io/name: prometheus app.kubernetes.io/component: server - replicas: 1 + replicas: 0 template: metadata: labels: diff --git a/manifests/monitoring/vmagent.yaml b/manifests/monitoring/vmagent.yaml new file mode 100644 index 0000000..9f9ded4 --- /dev/null +++ b/manifests/monitoring/vmagent.yaml @@ -0,0 +1,153 @@ +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'] + - 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: kubernetes-service-endpoints + kubernetes_sd_configs: + - role: endpoints + relabel_configs: + - 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 + - job_name: kubernetes-pods + kubernetes_sd_configs: + - role: pod + relabel_configs: + - 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 + + +--- + +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app.kubernetes.io/name: victoria-metrics + app.kubernetes.io/component: agent + name: vmagent + namespace: monitoring +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: + serviceAccountName: prometheus-server + containers: + - name: vmagent + image: "victoriametrics/vmagent:v1.76.1" + imagePullPolicy: "IfNotPresent" + args: + - -remoteWrite.url=http://prometheus.auth-proxy.svc/api/v1/write + - -remoteWrite.showURL + - -promscrape.config=/config/prometheus.yml + volumeMounts: + - name: config-volume + mountPath: /config + volumes: + - name: config-volume + configMap: + name: vmagent +---