Я впервые пробую использовать Prometheus-operator и все еще борюсь с различиями в управлении Prometheus через это.
Развертывание довольно простое, как и редактирование правил, однако я не смог найти способ изменить метку экспортеров с помощью static_configs
при использовании оператора Prometheus.
Раньше я настраивал prometheus.yml
и добавлял static_configs
, чтобы включить метки для каждого имени задания экспортера.
Я понимаю, что под капотом оператора Prometheus у нас те же настройки, что и обычно, но я не уверен, как добиться таких же результатов от конфигурации static_config
с помощью оператора.
Насколько я понял, сейчас мне нужно установить перемаркировку на мониторах служб, связанных с моими экспортерами, однако все конфигурации, которые я пробовал, не дали результатов:
попробовал с metricRelabelings
, как описано по проблеме 1166, и StaticConfigs
, как описано на проблема 1086 безуспешно.
Например, это то, что я делал для kubernetes-cadvisor
экспортера, чтобы установить метку на static_config
, чтобы моя пользовательская метка отображалась на всех метриках, собранных моими экспортерами во время загрузки:
scrape_configs:
- job_name: prometheus
static_configs:
- targets: ['localhost:9090']
labels:
kubernetes_namespace: kube-system
cluster_name: mycluster01
А также добавьте relabel_configs
на каждую из моих вакансий экспортеров:
- job_name: 'kubernetes-cadvisor'
scheme: https
tls_config:
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
kubernetes_sd_configs:
- role: node
relabel_configs:
- target_label: cluster_name
replacement: mycluster01
- target_label: kubernetes_namespace
replacement: kube-system
- 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}:10250/proxy/metrics
И это пример достижения того же с помощью metricRelabelings
в операторе Prometheus, который у меня все еще не работает:
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
labels:
k8s-app: node-exporter
name: node-exporter
namespace: monitoring
spec:
endpoints:
- bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
interval: 30s
port: https
scheme: https
tlsConfig:
insecureSkipVerify: true
jobLabel: k8s-app
selector:
matchLabels:
k8s-app: node-exporter
metricRelabelings:
sourceLabels: __meta_kubernetes_node_name
targetLabel: node
Я ожидаю создать статическую метку для моих экспортеров, чтобы все метрики несли настраиваемую метку, которую я определяю во время очистки, вместо того, чтобы вручную определять настраиваемые метки для всех развертываний в моем кластере.
Заранее благодарю за любую помощь!