prometheus配置
參考:
#
在configmap.yaml中要注意的是在1.7之後,獲取cadvsion監控pod等的信息時,用的是kubelet的4194端口,
注意如下這段:這是採集cadvision信息,必須是經過kubelet的4194端口,因此Kubelet必須監聽着,4194部署了cadvsion來獲取pod中容器信息
prometheus/prometheus
#cat configmap.yaml
# https://github.com/prometheus/prometheus/blob/master/documentation/examples/prometheus-kubernetes.yml#L37
- job_name:
'kubernetes-nodes'
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:
- source_labels: [__address__]
regex:
'(.*):10250'
replacement:
'${1}:10255'
target_label: __address__
- 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:
- action: labelmap
regex: __meta_kubernetes_node_label_(.+)
- target_label: __address__
replacement: kubernetes.default.svc.cluster.
local
:443
- source_labels: [__meta_kubernetes_node_name]
regex: (.+)
target_label: __metrics_path__
replacement: /api/v1/nodes/${1}:4194/proxy/metrics
參考:
(2)
參考
# metrics from service endpoints on /metrics over https via the master proxy
# set annotation (prometheus.io/scrape: true) to enable
# Example: kubectl annotate svc myservice prometheus.io/scrape=true
- job_name:
'kubernetes-service-endpoints'
kubernetes_sd_configs: - role: endpoints api_server: https://master_ip tls_config: insecure_skip_verify:
true
basic_auth: username: admin password: api_password scheme: https tls_config: insecure_skip_verify:
true
basic_auth: username: admin password: api_password relabel_configs: -
source
_labels: [__meta_kubernetes_service_annotation_prometheus_io_scrape] action: keep regex:
true
-
source
_labels: [__meta_kubernetes_pod_annotation_prometheus_io_port] action: replace regex: (\d+) target_label: __meta_kubernetes_pod_container_port_number -
source
_labels: [__meta_kubernetes_service_annotation_prometheus_io_path] action: replace regex: () target_label: __meta_kubernetes_service_annotation_prometheus_io_path replacement: /metrics -
source
_labels: [__meta_kubernetes_namespace, __meta_kubernetes_service_name, __meta_kubernetes_pod_container_port_number, __meta_kubernetes_service_annotation_prometheus_io_path] target_label: __metrics_path__ regex: (.+);(.+);(.+);(.+) replacement: /api/v1/namespaces/
$1
/services/
$2
:
$3
/proxy
$4
- target_label: __address__ replacement: master_ip:443 - action: labelmap regex: __meta_kubernetes_service_label_(.+) -
source
_labels: [__meta_kubernetes_namespace] action: replace target_label: kubernetes_namespace -
source
_labels: [__meta_kubernetes_service_name] action: replace target_label: kubernetes_name -
source
_labels: [__meta_kubernetes_pod_node_name] action: replace target_label: instance