1. 程式人生 > 實用技巧 >prometheus 自動發現

prometheus 自動發現

預設的, target的job標籤設定為配置檔案裡的job_name的值;
__address__設定為配置裡的targets的值;
instance標籤的值,是重定義標籤操作之後__address__的值

- job_name: 'kubernetes-kube-state'
  kubernetes_sd_configs:													# k8s service discovery 配置
  - role: pod																# 先找到所有的pod型別的資源,然後下面再做篩選
  relabel_configs:															# 
  - action: labelmap														# 符合下面的正則表示式則保留
    regex: __meta_kubernetes_pod_label_(.+)
  - source_labels: [__meta_kubernetes_namespace]							# 符合這個標籤,標籤替換為kubernetes_namespace
    action: replace
    target_label: kubernetes_namespace
  - source_labels: [__meta_kubernetes_pod_name]
    action: replace
    target_label: kubernetes_pod_name
  - source_labels: [__meta_kubernetes_pod_label_grafanak8sapp]				# 找到帶這個源標籤的資料。這個標籤是pod裡label帶上的
    regex: .*true.*															# 正則匹配這個標籤的value
    action: keep															# 匹配成功的動作,這是是保留。不匹配就會drop。
  - source_labels: ['__meta_kubernetes_pod_label_daemon', '__meta_kubernetes_pod_node_name']
    regex: 'node-exporter;(.*)'
    action: replace
    target_label: nodename