From a443cc1027c55007193ed86141464a3cbe251c79 Mon Sep 17 00:00:00 2001 From: Ashwani Singh Date: Fri, 20 Sep 2024 18:04:01 +0530 Subject: [PATCH 1/5] VictoriaMetrics Signed-off-by: Ashwani Singh --- charts/victoriametrics/Chart.yaml | 0 charts/victoriametrics/values.yaml | 124 +++++++++++++++++++++++++++++ 2 files changed, 124 insertions(+) create mode 100644 charts/victoriametrics/Chart.yaml create mode 100644 charts/victoriametrics/values.yaml diff --git a/charts/victoriametrics/Chart.yaml b/charts/victoriametrics/Chart.yaml new file mode 100644 index 00000000..e69de29b diff --git a/charts/victoriametrics/values.yaml b/charts/victoriametrics/values.yaml new file mode 100644 index 00000000..bca21b43 --- /dev/null +++ b/charts/victoriametrics/values.yaml @@ -0,0 +1,124 @@ +vm: + defaultDashboardsEnabled: false + experimentalDashboardsEnabled: false + prometheus-node-exporter: + enabled: false + node: + enabled: false + kubeStateMetrics: + enabled: false + grafana: + enabled: false + alertmanager: + enabled: false + vmsingle: + enabled: false + defaultRules: + create: false + kubeApiServer: + enabled: false + kubeControllerManager: + enabled: false + kubeEtcd: + enabled: false + kubeScheduler: + enabled: false + crds: + enabled: false + dashboards: + node-exporter-full: false + kube-state-metrics: + enabled: false + + vmcluster: + enabled: true + spec: + retentionPeriod: "14d" + replicationFactor: 2 + vmstorage: + extraArgs: + search.maxMemoryPerQuery: 500MB + search.maxPointsPerTimeseries: "10000000000000" + search.maxQueryLen: "10000000000000" + search.maxUniqueTimeseries: "10000000000000" + search.maxSeries: "10000000000000" + resources: + limits: + cpu: "1" + memory: 5Gi + requests: + cpu: "1" + memory: 5Gi + storage: + volumeClaimTemplate: + spec: + storageClassName: buildpiper-storage + resources: + requests: + storage: 20Gi + vmselect: + extraArgs: + memory.allowedPercent: "75" + search.cacheTimestampOffset: 5m + search.maxMemoryPerQuery: 500MB + search.maxPointsPerTimeseries: "10000000000000" + search.maxQueryLen: "10000000000000" + search.maxUniqueTimeseries: "10000000000000" + storage: + volumeClaimTemplate: + spec: + storageClassName: buildpiper-storage + resources: + requests: + storage: 2Gi + resources: + limits: + cpu: "1" + memory: "1Gi" + requests: + cpu: "1" + memory: "1Gi" + + vminsert: + image: + tag: v1.103.0-cluster + replicaCount: 2 + extraArgs: + maxLabelsPerTimeseries: "100" + resources: + limits: + cpu: "0.5" + memory: 500Mi + requests: + cpu: "0.5" + memory: "500Mi" + + vmagent: + enabled: true + spec: + serviceScrapeNamespaceSelector: + matchLabels: + kubernetes.io/metadata.name: vm + extraArgs: + promscrape.maxScrapeSize: 200MB + promscrape.streamParse: "true" + promscrape.dropOriginalLabels: "true" + resources: + limits: + cpu: "1" + memory: 1Gi + requests: + cpu: "1" + memory: 1Gi + scrapeInterval: 30s + + vmalert: + enabled: true + spec: + resources: + limits: + cpu: "0.5" + memory: 1Gi + requests: + cpu: "0.5" + memory: 1Gi \ No newline at end of file From b1addb8156811e169560946c4ec9a85b0b66a160 Mon Sep 17 00:00:00 2001 From: Ashwani Singh Date: Fri, 20 Sep 2024 18:12:58 +0530 Subject: [PATCH 2/5] Create victoriametrics chart Signed-off-by: Ashwani Singh --- charts/victoriametrics/Chart.yaml | 17 +++++++++++++++++ charts/victoriametrics/values.yaml | 2 +- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/charts/victoriametrics/Chart.yaml b/charts/victoriametrics/Chart.yaml index e69de29b..0c0bc48d 100644 --- a/charts/victoriametrics/Chart.yaml +++ b/charts/victoriametrics/Chart.yaml @@ -0,0 +1,17 @@ +apiVersion: v2 +name: vm +description: A Helm chart for victoriametrics +type: application +version: 0.0.1 +appVersion: v0.0.1 +maintainers: + - name: ashwani-opstree + +dependencies: + - name: victoria-metrics-k8s-stack + version: 0.25.5 + repository: https://victoriametrics.github.io/helm-charts/ + alias: vm + tags: + - monitoring + condition: vm.enabled \ No newline at end of file diff --git a/charts/victoriametrics/values.yaml b/charts/victoriametrics/values.yaml index bca21b43..5530c85c 100644 --- a/charts/victoriametrics/values.yaml +++ b/charts/victoriametrics/values.yaml @@ -1,5 +1,5 @@ vm: - defaultDashboardsEnabled: false + defaultDashboardsEnabled: false. experimentalDashboardsEnabled: false prometheus-node-exporter: enabled: false From 595310ad8f33b00f228a20bbb2638b1909e782dc Mon Sep 17 00:00:00 2001 From: Ashwani Singh Date: Fri, 20 Sep 2024 18:44:37 +0530 Subject: [PATCH 3/5] Tune the victoriametrics storage Signed-off-by: Ashwani Singh --- charts/victoriametrics/Chart.yaml | 2 +- charts/victoriametrics/values.yaml | 11 +++++------ 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/charts/victoriametrics/Chart.yaml b/charts/victoriametrics/Chart.yaml index 0c0bc48d..131c7008 100644 --- a/charts/victoriametrics/Chart.yaml +++ b/charts/victoriametrics/Chart.yaml @@ -14,4 +14,4 @@ dependencies: alias: vm tags: - monitoring - condition: vm.enabled \ No newline at end of file + condition: vm.enabled diff --git a/charts/victoriametrics/values.yaml b/charts/victoriametrics/values.yaml index 5530c85c..69164073 100644 --- a/charts/victoriametrics/values.yaml +++ b/charts/victoriametrics/values.yaml @@ -37,11 +37,7 @@ vm: replicationFactor: 2 vmstorage: extraArgs: - search.maxMemoryPerQuery: 500MB - search.maxPointsPerTimeseries: "10000000000000" - search.maxQueryLen: "10000000000000" search.maxUniqueTimeseries: "10000000000000" - search.maxSeries: "10000000000000" resources: limits: cpu: "1" @@ -59,10 +55,13 @@ vm: vmselect: extraArgs: memory.allowedPercent: "75" - search.cacheTimestampOffset: 5m - search.maxMemoryPerQuery: 500MB + search.cacheTimestampOffset: 60m + search.maxLabelsAPISeries: "10000000000000" + search.maxMemoryPerQuery: 2GB search.maxPointsPerTimeseries: "10000000000000" + search.maxQueryDuration: 10m search.maxQueryLen: "10000000000000" + search.maxSeries: "10000000000000" search.maxUniqueTimeseries: "10000000000000" storage: volumeClaimTemplate: From d12dafe780a8de53d247b761e48dd9b15d526218 Mon Sep 17 00:00:00 2001 From: Ashwani Singh Date: Mon, 23 Sep 2024 09:48:15 +0530 Subject: [PATCH 4/5] New release for victoriametrics Signed-off-by: Ashwani Singh --- charts/victoriametrics/Chart.yaml | 8 ++ charts/victoriametrics/values.yaml | 167 ++++++++++++++++++++++++----- 2 files changed, 151 insertions(+), 24 deletions(-) diff --git a/charts/victoriametrics/Chart.yaml b/charts/victoriametrics/Chart.yaml index 131c7008..f0fa6f19 100644 --- a/charts/victoriametrics/Chart.yaml +++ b/charts/victoriametrics/Chart.yaml @@ -15,3 +15,11 @@ dependencies: tags: - monitoring condition: vm.enabled + + - name: prometheus-blackbox-exporter + version: 8.17.0 + repository: https://prometheus-community.github.io/helm-charts/ + tags: + - blackbox + alias: blackbox + condition: blackbox.enabled \ No newline at end of file diff --git a/charts/victoriametrics/values.yaml b/charts/victoriametrics/values.yaml index 69164073..2f945cde 100644 --- a/charts/victoriametrics/values.yaml +++ b/charts/victoriametrics/values.yaml @@ -1,16 +1,82 @@ vm: - defaultDashboardsEnabled: false. + defaultDashboardsEnabled: false experimentalDashboardsEnabled: false prometheus-node-exporter: - enabled: false + enabled: true node: - enabled: false + enabled: true kubeStateMetrics: - enabled: false + enabled: true grafana: - enabled: false + enabled: true + testFramework: + enabled: false + sidecar: + datasources: + defaultDatasourceEnabled: false + resources: + requests: + cpu: "0.5" + memory: 1Gi + limits: + cpu: 1 + memory: 2Gi + persistence: + enabled: true + type: sts + storageClassName: buildpiper-storage + accessModes: + - ReadWriteOnce + size: 1Gi + finalizers: + - kubernetes.io/pvc-protection + nodeSelector: + node_group: monit-logging + tolerations: + - key: olly + operator: Equal + value: "true" + effect: NoSchedule alertmanager: - enabled: false + enabled: true + config: + global: + resolve_timeout: 5m + templates: + - "/etc/vm/configs/**/*.tmpl" + route: + receiver: "blackhole" + receivers: + - name: blackhole + spec: + configNamespaceSelector: + matchLabels: + kubernetes.io/metadata.name: monitoring + replicaCount: 2 + retention: 240h + resources: + requests: + cpu: 250m + memory: 500Mi + limits: + cpu: 250m + memory: 500Mi + nodeSelector: + node_group: monit-logging + tolerations: + - key: olly + operator: Equal + value: "true" + effect: NoSchedule + storage: + volumeClaimTemplate: + spec: + storageClassName: buildpiper-storage + accessModes: + - "ReadWriteOnce" + resources: + requests: + storage: 1Gi vmsingle: enabled: false defaultRules: @@ -27,24 +93,23 @@ vm: enabled: false dashboards: node-exporter-full: false - kube-state-metrics: - enabled: false vmcluster: enabled: true spec: retentionPeriod: "14d" - replicationFactor: 2 + replicationFactor: 1 vmstorage: + replicaCount: 1 extraArgs: search.maxUniqueTimeseries: "10000000000000" resources: limits: - cpu: "1" - memory: 5Gi + cpu: "0.5" + memory: 500Mi requests: - cpu: "1" - memory: 5Gi + cpu: "0.5" + memory: 500Mi storage: volumeClaimTemplate: spec: @@ -52,7 +117,15 @@ vm: resources: requests: storage: 20Gi + nodeSelector: + node_group: monit-logging + tolerations: + - key: olly + operator: Equal + value: "true" + effect: NoSchedule vmselect: + replicaCount: 1 extraArgs: memory.allowedPercent: "75" search.cacheTimestampOffset: 60m @@ -77,13 +150,19 @@ vm: requests: cpu: "1" memory: "1Gi" - + nodeSelector: + node_group: monit-logging + tolerations: + - key: olly + operator: Equal + value: "true" + effect: NoSchedule vminsert: - image: - tag: v1.103.0-cluster - replicaCount: 2 + replicaCount: 1 extraArgs: maxLabelsPerTimeseries: "100" + image: + tag: v1.103.0-cluster resources: limits: cpu: "0.5" @@ -91,6 +170,13 @@ vm: requests: cpu: "0.5" memory: "500Mi" + nodeSelector: + node_group: monit-logging + tolerations: + - key: olly + operator: Equal + value: "true" + effect: NoSchedule vmagent: enabled: true @@ -104,20 +190,53 @@ vm: promscrape.dropOriginalLabels: "true" resources: limits: - cpu: "1" - memory: 1Gi + cpu: "0.5" + memory: 500Mi requests: - cpu: "1" - memory: 1Gi + cpu: "0.5" + memory: 500Mi scrapeInterval: 30s - + nodeSelector: + node_group: monit-logging + tolerations: + - key: olly + operator: Equal + value: "true" + effect: NoSchedule vmalert: enabled: true spec: resources: limits: cpu: "0.5" - memory: 1Gi + memory: 500Mi requests: cpu: "0.5" - memory: 1Gi \ No newline at end of file + memory: 500Mi + nodeSelector: + node_group: monit-logging + tolerations: + - key: olly + operator: Equal + value: "true" + effect: NoSchedule + + +blackbox: + enabled: false + serviceMonitor: + enabled: false + config: + modules: + http_2xx: + prober: http + timeout: 5s + http: + valid_http_versions: + - "HTTP/1.0" + - "HTTP/1.1" + - "HTTP/2.0" + no_follow_redirects: false + preferred_ip_protocol: "ip4" + fail_if_ssl: false + fail_if_not_ssl: false From 6970ab004746bd1e908f90b292c80c89ebad4a81 Mon Sep 17 00:00:00 2001 From: Ashwani Singh Date: Mon, 23 Sep 2024 10:01:16 +0530 Subject: [PATCH 5/5] Fix the helm lint Signed-off-by: Ashwani Singh --- charts/victoriametrics/Chart.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/charts/victoriametrics/Chart.yaml b/charts/victoriametrics/Chart.yaml index f0fa6f19..d0cf1071 100644 --- a/charts/victoriametrics/Chart.yaml +++ b/charts/victoriametrics/Chart.yaml @@ -15,11 +15,10 @@ dependencies: tags: - monitoring condition: vm.enabled - - name: prometheus-blackbox-exporter version: 8.17.0 repository: https://prometheus-community.github.io/helm-charts/ tags: - blackbox alias: blackbox - condition: blackbox.enabled \ No newline at end of file + condition: blackbox.enabled