From 7c66dbd50e676fa76ed8087599c791b51623a66c Mon Sep 17 00:00:00 2001 From: fumingwei Date: Thu, 3 Nov 2022 14:30:11 +0800 Subject: [PATCH] =?UTF-8?q?feature:TSG-12529:=E6=96=B0=E5=A2=9Eprometheus?= =?UTF-8?q?=E9=83=A8=E7=BD=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../files/prometheus/prometheus-15.16.1.tgz | Bin 0 -> 37504 bytes .../files/prometheus/prometheus-crd.yaml | 308 ++++++++++++++++++ ansible/roles/k3s-exporter/tasks/main.yml | 21 ++ 3 files changed, 329 insertions(+) create mode 100644 ansible/roles/k3s-exporter/files/prometheus/prometheus-15.16.1.tgz create mode 100644 ansible/roles/k3s-exporter/files/prometheus/prometheus-crd.yaml diff --git a/ansible/roles/k3s-exporter/files/prometheus/prometheus-15.16.1.tgz b/ansible/roles/k3s-exporter/files/prometheus/prometheus-15.16.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..1275c5c8f943c48c7275c97f7bdc46dc3335bdd3 GIT binary patch literal 37504 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 P00960NYjaM09XV7q4GwT literal 0 HcmV?d00001 diff --git a/ansible/roles/k3s-exporter/files/prometheus/prometheus-crd.yaml b/ansible/roles/k3s-exporter/files/prometheus/prometheus-crd.yaml new file mode 100644 index 00000000..c542f7c7 --- /dev/null +++ b/ansible/roles/k3s-exporter/files/prometheus/prometheus-crd.yaml @@ -0,0 +1,308 @@ +apiVersion: helm.cattle.io/v1 +kind: HelmChart +metadata: + name: prometheus + namespace: kube-system +spec: + chart: https://%{KUBERNETES_API}%/static/charts/prometheus-15.16.1.tgz + targetNamespace: tsg-os-system + valuesContent: |- + server: + image: + pullPolicy: Never + service: + servicePort: 8080 + nodePort: 30080 + type: NodePort + configmapReload: + prometheus: + image: + pullPolicy: Never + alertmanager: + image: + pullPolicy: Never + alertmanager: + image: + pullPolicy: Never + nodeExporter: + image: + pullPolicy: Never + pushgateway: + image: + pullPolicy: Never + + nodeExporter: + service: + annotations: + prometheus.io/scrape: "true" + tsg/monitor: "true" + + + + serverFiles: + prometheus.yml: + scrape_configs: + - job_name: prometheus + static_configs: + - targets: + - localhost:9090 + + - job_name: 'kubernetes-apiservers' + + kubernetes_sd_configs: + - role: endpoints + scheme: https + tls_config: + ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt + insecure_skip_verify: true + 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 + insecure_skip_verify: true + 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-nodes-cadvisor' + scheme: https + tls_config: + ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt + insecure_skip_verify: true + 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: 'exporter' + honor_labels: true + + kubernetes_sd_configs: + - role: endpoints + + relabel_configs: + - source_labels: [__meta_kubernetes_namespace] + action: keep + regex: tsg-os-system + - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scrape] + action: keep + regex: true + - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scrape_slow] + action: drop + 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_annotation_prometheus_io_param_(.+) + replacement: __param_$1 + - action: labelmap + regex: __meta_kubernetes_service_label_(.+) + - source_labels: [__meta_kubernetes_namespace] + action: replace + target_label: namespace + - source_labels: [__meta_kubernetes_service_name] + action: replace + target_label: service + - source_labels: [__meta_kubernetes_pod_node_name] + action: replace + target_label: node + + + - job_name: 'kubernetes-service-endpoints-slow' + honor_labels: true + + scrape_interval: 5m + scrape_timeout: 30s + + kubernetes_sd_configs: + - role: endpoints + + relabel_configs: + - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scrape_slow] + 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_annotation_prometheus_io_param_(.+) + replacement: __param_$1 + - action: labelmap + regex: __meta_kubernetes_service_label_(.+) + - source_labels: [__meta_kubernetes_namespace] + action: replace + target_label: namespace + - source_labels: [__meta_kubernetes_service_name] + action: replace + target_label: service + - source_labels: [__meta_kubernetes_pod_node_name] + action: replace + target_label: node + + + - job_name: 'kubernetes-services' + honor_labels: true + + metrics_path: /probe + params: + module: [http_2xx] + + kubernetes_sd_configs: + - role: service + + relabel_configs: + - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_probe] + action: keep + regex: true + - source_labels: [__address__] + target_label: __param_target + - target_label: __address__ + replacement: blackbox + - source_labels: [__param_target] + target_label: instance + - action: labelmap + regex: __meta_kubernetes_service_label_(.+) + - source_labels: [__meta_kubernetes_namespace] + target_label: namespace + - source_labels: [__meta_kubernetes_service_name] + target_label: service + + + - job_name: 'traffic-engine' + honor_labels: true + + kubernetes_sd_configs: + - role: pod + + relabel_configs: + - source_labels: [__meta_kubernetes_namespace] + action: keep + regex: default + - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape] + action: keep + regex: true + - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape_slow] + action: drop + regex: true + - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scheme] + action: replace + regex: (https?) + target_label: __scheme__ + - 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_annotation_prometheus_io_param_(.+) + replacement: __param_$1 + - action: labelmap + regex: __meta_kubernetes_pod_label_(.+) + - source_labels: [__meta_kubernetes_namespace] + action: replace + target_label: namespace + - source_labels: [__meta_kubernetes_pod_name] + action: replace + target_label: pod + - source_labels: [__meta_kubernetes_pod_phase] + regex: Pending|Succeeded|Failed|Completed + action: drop + + + - job_name: 'kubernetes-pods-slow' + honor_labels: true + + scrape_interval: 5m + scrape_timeout: 30s + + kubernetes_sd_configs: + - role: pod + + relabel_configs: + - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape_slow] + action: keep + regex: true + - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scheme] + action: replace + regex: (https?) + target_label: __scheme__ + - 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_annotation_prometheus_io_param_(.+) + replacement: __param_$1 + - action: labelmap + regex: __meta_kubernetes_pod_label_(.+) + - source_labels: [__meta_kubernetes_namespace] + action: replace + target_label: namespace + - source_labels: [__meta_kubernetes_pod_name] + action: replace + target_label: pod + - source_labels: [__meta_kubernetes_pod_phase] + regex: Pending|Succeeded|Failed|Completed + action: drop + diff --git a/ansible/roles/k3s-exporter/tasks/main.yml b/ansible/roles/k3s-exporter/tasks/main.yml index b4fb02e9..e050dbd9 100644 --- a/ansible/roles/k3s-exporter/tasks/main.yml +++ b/ansible/roles/k3s-exporter/tasks/main.yml @@ -20,5 +20,26 @@ url_username: "{{ lookup('env', 'PULP_REPO_USERNAME') }}" url_password: "{{ lookup('env', 'PULP_REPO_PASSWORD') }}" +- name: "copy prometheus crd file to dest" + copy: + src: "{{ role_path }}/files/prometheus/prometheus-crd.yaml" + dest: /var/lib/rancher/k3s/server/manifests/ +- name: "copy prometheus chart to dest" + copy: + src: "{{ role_path }}/files/prometheus/prometheus-15.16.1.tgz" + dest: /var/lib/rancher/k3s/server/static/charts/ + +- name: "get prometheus chart images to dest" + get_url: + url: "https://repo.geedge.net/filerepo/install/release/tsg-container-images/{{ item }}" + dest: "/var/lib/rancher/k3s/agent/images/{{ item }}" + url_username: "{{ lookup('env', 'PULP_REPO_USERNAME') }}" + url_password: "{{ lookup('env', 'PULP_REPO_PASSWORD') }}" + loop: + - prometheus-alertmanager.tar + - prometheus-config-reload.tar + - prometheus-node-exporter.tar + - prometheus-pushgateway.tar + - prometheus.tar