Skip to content

Commit

Permalink
feat(): update opensource to 1.0.9.alpha and support vmmetrics (#27)
Browse files Browse the repository at this point in the history
  • Loading branch information
EZ4BRUCE authored Dec 24, 2024
1 parent b57341b commit b80265e
Show file tree
Hide file tree
Showing 7 changed files with 396 additions and 4 deletions.
2 changes: 2 additions & 0 deletions Tiltfile
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,8 @@ def deploy_ob_private():
if command == 'moc':
deploy_minio()
deploy_moc_ob()
elif command == 'ob-single':
deploy_moc_ob()
elif command == 'private':
deploy_minio()
deploy_ob_private()
Expand Down
6 changes: 5 additions & 1 deletion charts/mo-ob-opensource/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ apiVersion: v2
name: mo-ob-opensource
description: mo-ob-opensource's Helm chart for Kubernetes
type: application
version: 1.0.8
version: 1.0.9-alpha
appVersion: 0.9.0
dependencies:
- condition: kube-prometheus-stack.enabled
Expand All @@ -21,3 +21,7 @@ dependencies:
name: alloy
repository: https://grafana.github.io/helm-charts
version: 0.6.1
- condition: victoria-metrics-k8s-stack.enabled
name: victoria-metrics-k8s-stack
repository: https://victoriametrics.github.io/helm-charts
version: 0.33.0
16 changes: 16 additions & 0 deletions charts/mo-ob-opensource/templates/vm-datasource.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: mo-vm-datasource
labels:
app: victoriametrics
grafana_datasource: "1"
data:
vm-datasource.yaml: |-
apiVersion: 1
datasources:
- name: MO-VictoriaMetrics
type: prometheus
uid: victoriametrics
url: http://vmsingle-{{ .Release.Name }}-victoria-metrics-k8s-stack:8429
access: proxy
173 changes: 173 additions & 0 deletions charts/mo-ob-opensource/templates/vmagent/ob-scrape-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,173 @@
apiVersion: v1
kind: Secret
metadata:
name: vm-additional-scrape-configs
stringData:
prometheus-additional.yaml: |
- job_name: 'kubernetes-service-endpoints'
honor_labels: true
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_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_pod_label_(.+)
- 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
- source_labels: [__meta_kubernetes_pod_name]
action: replace
target_label: pod
# Scrape config for slow service endpoints; same as above, but with a larger
# timeout and a larger interval
#
# The relabeling allows the actual service scrape endpoint to be configured
# via the following annotations:
#
# * `prometheus.io/scrape-slow`: Only scrape services that have a value of `true`
# * `prometheus.io/scheme`: If the metrics endpoint is secured then you will need
# to set this to `https` & most likely set the `tls_config` of the scrape config.
# * `prometheus.io/path`: If the metrics path is not `/metrics` override this.
# * `prometheus.io/port`: If the metrics are exposed on a different port to the
# service then set this appropriately.
# * `prometheus.io/param_<parameter>`: If the metrics endpoint uses parameters
# then you can set any parameter
- 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_pod_label_(.+)
- 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
- source_labels: [__meta_kubernetes_pod_name]
action: replace
target_label: pod
- job_name: "moob-application"
honor_labels: true
kubernetes_sd_configs:
- role: endpoints
relabel_configs:
- action: keep
regex: "mo-ob"
source_labels:
- __meta_kubernetes_namespace
- source_labels:
- __meta_kubernetes_endpoints_label_need_metrics
action: keep
regex: true
- action: labelmap
regex: __meta_kubernetes_pod_label_(.+)
- action: labelmap
regex: __meta_kubernetes_endpoints_label_(.+)
- action: replace
source_labels:
- __meta_kubernetes_namespace
target_label: namespace
- action: replace
source_labels:
- __meta_kubernetes_service_name
target_label: service
- action: replace
source_labels:
- __meta_kubernetes_pod_node_name
target_label: node
- action: replace
source_labels: [__meta_kubernetes_pod_name]
target_label: pod
- job_name: "matrixone-cn-pods"
honor_labels: true
kubernetes_sd_configs:
- role: pod
relabel_configs:
- source_labels: [__meta_kubernetes_pod_labelpresent_matrixorigin_io_component]
action: keep
regex: true
- 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
target_label: __address__
regex: (.+?)(?::\d+)?;(\d+)
replacement: $1:$2
- action: labelmap
regex: __meta_kubernetes_pod_label_(.+)
- source_labels: [__meta_kubernetes_namespace]
action: replace
target_label: namespace
- source_labels: [__meta_kubernetes_pod_node_name]
action: replace
target_label: node
- source_labels: [__meta_kubernetes_pod_name]
action: replace
target_label: pod
Loading

0 comments on commit b80265e

Please sign in to comment.