354 lines
11 KiB
YAML
354 lines
11 KiB
YAML
|
---
|
||
|
kind: ConfigMap
|
||
|
metadata:
|
||
|
labels:
|
||
|
app: prometheus
|
||
|
app.kubernetes.io/instance: prometheus
|
||
|
component: server
|
||
|
release: prometheus
|
||
|
name: prometheus-server
|
||
|
namespace: prometheus
|
||
|
apiVersion: v1
|
||
|
data:
|
||
|
alerting_rules.yml: |
|
||
|
{}
|
||
|
alerts: |
|
||
|
groups:
|
||
|
- name: memory_high
|
||
|
rules:
|
||
|
- alert: MemoryHigh
|
||
|
expr: round((((node_memory_MemTotal_bytes - node_memory_MemAvailable_bytes) / node_memory_MemTotal_bytes) * 100), 0.1) > 80
|
||
|
for: 5m
|
||
|
labels:
|
||
|
severity: warning
|
||
|
annotations:
|
||
|
summary: "Memory over 80%"
|
||
|
description: "Memory on server {{ $labels.server }} is over 80% for more than 5 minutes. Plox fix. Memory usage: {{ $value }}%"
|
||
|
allow-snippet-annotations: 'false'
|
||
|
prometheus.yml: |
|
||
|
global:
|
||
|
evaluation_interval: 1m
|
||
|
scrape_interval: 1m
|
||
|
scrape_timeout: 10s
|
||
|
rule_files:
|
||
|
- /etc/config/recording_rules.yml
|
||
|
- /etc/config/alerting_rules.yml
|
||
|
- /etc/config/rules
|
||
|
- /etc/config/alerts
|
||
|
scrape_configs:
|
||
|
- job_name: prometheus
|
||
|
static_configs:
|
||
|
- targets:
|
||
|
- localhost:9090
|
||
|
- bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
|
||
|
job_name: kubernetes-apiservers
|
||
|
kubernetes_sd_configs:
|
||
|
- role: endpoints
|
||
|
relabel_configs:
|
||
|
- action: keep
|
||
|
regex: default;kubernetes;https
|
||
|
source_labels:
|
||
|
- __meta_kubernetes_namespace
|
||
|
- __meta_kubernetes_service_name
|
||
|
- __meta_kubernetes_endpoint_port_name
|
||
|
scheme: https
|
||
|
tls_config:
|
||
|
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
|
||
|
insecure_skip_verify: true
|
||
|
- bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
|
||
|
job_name: kubernetes-nodes
|
||
|
kubernetes_sd_configs:
|
||
|
- role: node
|
||
|
relabel_configs:
|
||
|
- action: labelmap
|
||
|
regex: __meta_kubernetes_node_label_(.+)
|
||
|
- replacement: kubernetes.default.svc:443
|
||
|
target_label: __address__
|
||
|
- regex: (.+)
|
||
|
replacement: /api/v1/nodes/$1/proxy/metrics
|
||
|
source_labels:
|
||
|
- __meta_kubernetes_node_name
|
||
|
target_label: __metrics_path__
|
||
|
scheme: https
|
||
|
tls_config:
|
||
|
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
|
||
|
insecure_skip_verify: true
|
||
|
- bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
|
||
|
job_name: kubernetes-nodes-cadvisor
|
||
|
kubernetes_sd_configs:
|
||
|
- role: node
|
||
|
relabel_configs:
|
||
|
- action: labelmap
|
||
|
regex: __meta_kubernetes_node_label_(.+)
|
||
|
- replacement: kubernetes.default.svc:443
|
||
|
target_label: __address__
|
||
|
- regex: (.+)
|
||
|
replacement: /api/v1/nodes/$1/proxy/metrics/cadvisor
|
||
|
source_labels:
|
||
|
- __meta_kubernetes_node_name
|
||
|
target_label: __metrics_path__
|
||
|
scheme: https
|
||
|
tls_config:
|
||
|
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
|
||
|
insecure_skip_verify: true
|
||
|
- honor_labels: true
|
||
|
job_name: kubernetes-service-endpoints
|
||
|
kubernetes_sd_configs:
|
||
|
- role: endpoints
|
||
|
relabel_configs:
|
||
|
- action: keep
|
||
|
regex: true
|
||
|
source_labels:
|
||
|
- __meta_kubernetes_service_annotation_prometheus_io_scrape
|
||
|
- action: drop
|
||
|
regex: true
|
||
|
source_labels:
|
||
|
- __meta_kubernetes_service_annotation_prometheus_io_scrape_slow
|
||
|
- action: replace
|
||
|
regex: (https?)
|
||
|
source_labels:
|
||
|
- __meta_kubernetes_service_annotation_prometheus_io_scheme
|
||
|
target_label: __scheme__
|
||
|
- action: replace
|
||
|
regex: (.+)
|
||
|
source_labels:
|
||
|
- __meta_kubernetes_service_annotation_prometheus_io_path
|
||
|
target_label: __metrics_path__
|
||
|
- action: replace
|
||
|
regex: (.+?)(?::\d+)?;(\d+)
|
||
|
replacement: $1:$2
|
||
|
source_labels:
|
||
|
- __address__
|
||
|
- __meta_kubernetes_service_annotation_prometheus_io_port
|
||
|
target_label: __address__
|
||
|
- action: labelmap
|
||
|
regex: __meta_kubernetes_service_annotation_prometheus_io_param_(.+)
|
||
|
replacement: __param_$1
|
||
|
- action: labelmap
|
||
|
regex: __meta_kubernetes_service_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
|
||
|
- honor_labels: true
|
||
|
job_name: kubernetes-service-endpoints-slow
|
||
|
kubernetes_sd_configs:
|
||
|
- role: endpoints
|
||
|
relabel_configs:
|
||
|
- action: keep
|
||
|
regex: true
|
||
|
source_labels:
|
||
|
- __meta_kubernetes_service_annotation_prometheus_io_scrape_slow
|
||
|
- action: replace
|
||
|
regex: (https?)
|
||
|
source_labels:
|
||
|
- __meta_kubernetes_service_annotation_prometheus_io_scheme
|
||
|
target_label: __scheme__
|
||
|
- action: replace
|
||
|
regex: (.+)
|
||
|
source_labels:
|
||
|
- __meta_kubernetes_service_annotation_prometheus_io_path
|
||
|
target_label: __metrics_path__
|
||
|
- action: replace
|
||
|
regex: (.+?)(?::\d+)?;(\d+)
|
||
|
replacement: $1:$2
|
||
|
source_labels:
|
||
|
- __address__
|
||
|
- __meta_kubernetes_service_annotation_prometheus_io_port
|
||
|
target_label: __address__
|
||
|
- action: labelmap
|
||
|
regex: __meta_kubernetes_service_annotation_prometheus_io_param_(.+)
|
||
|
replacement: __param_$1
|
||
|
- action: labelmap
|
||
|
regex: __meta_kubernetes_service_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
|
||
|
scrape_interval: 5m
|
||
|
scrape_timeout: 30s
|
||
|
- honor_labels: true
|
||
|
job_name: prometheus-pushgateway
|
||
|
kubernetes_sd_configs:
|
||
|
- role: service
|
||
|
relabel_configs:
|
||
|
- action: keep
|
||
|
regex: pushgateway
|
||
|
source_labels:
|
||
|
- __meta_kubernetes_service_annotation_prometheus_io_probe
|
||
|
- honor_labels: true
|
||
|
job_name: kubernetes-services
|
||
|
kubernetes_sd_configs:
|
||
|
- role: service
|
||
|
metrics_path: /probe
|
||
|
params:
|
||
|
module:
|
||
|
- http_2xx
|
||
|
relabel_configs:
|
||
|
- action: keep
|
||
|
regex: true
|
||
|
source_labels:
|
||
|
- __meta_kubernetes_service_annotation_prometheus_io_probe
|
||
|
- source_labels:
|
||
|
- __address__
|
||
|
target_label: __param_target
|
||
|
- replacement: blackbox
|
||
|
target_label: __address__
|
||
|
- source_labels:
|
||
|
- __param_target
|
||
|
target_label: instance
|
||
|
- action: labelmap
|
||
|
regex: __meta_kubernetes_service_label_(.+)
|
||
|
- source_labels:
|
||
|
- __meta_kubernetes_namespace
|
||
|
target_label: namespace
|
||
|
- source_labels:
|
||
|
- __meta_kubernetes_service_name
|
||
|
target_label: service
|
||
|
- honor_labels: true
|
||
|
job_name: kubernetes-pods
|
||
|
kubernetes_sd_configs:
|
||
|
- role: pod
|
||
|
relabel_configs:
|
||
|
- action: keep
|
||
|
regex: true
|
||
|
source_labels:
|
||
|
- __meta_kubernetes_pod_annotation_prometheus_io_scrape
|
||
|
- action: drop
|
||
|
regex: true
|
||
|
source_labels:
|
||
|
- __meta_kubernetes_pod_annotation_prometheus_io_scrape_slow
|
||
|
- action: replace
|
||
|
regex: (https?)
|
||
|
source_labels:
|
||
|
- __meta_kubernetes_pod_annotation_prometheus_io_scheme
|
||
|
target_label: __scheme__
|
||
|
- action: replace
|
||
|
regex: (.+)
|
||
|
source_labels:
|
||
|
- __meta_kubernetes_pod_annotation_prometheus_io_path
|
||
|
target_label: __metrics_path__
|
||
|
- action: replace
|
||
|
regex: (\d+);(([A-Fa-f0-9]{1,4}::?){1,7}[A-Fa-f0-9]{1,4})
|
||
|
replacement: '[$2]:$1'
|
||
|
source_labels:
|
||
|
- __meta_kubernetes_pod_annotation_prometheus_io_port
|
||
|
- __meta_kubernetes_pod_ip
|
||
|
target_label: __address__
|
||
|
- action: replace
|
||
|
regex: (\d+);((([0-9]+?)(\.|$)){4})
|
||
|
replacement: $2:$1
|
||
|
source_labels:
|
||
|
- __meta_kubernetes_pod_annotation_prometheus_io_port
|
||
|
- __meta_kubernetes_pod_ip
|
||
|
target_label: __address__
|
||
|
- action: labelmap
|
||
|
regex: __meta_kubernetes_pod_annotation_prometheus_io_param_(.+)
|
||
|
replacement: __param_$1
|
||
|
- action: labelmap
|
||
|
regex: __meta_kubernetes_pod_label_(.+)
|
||
|
- action: replace
|
||
|
source_labels:
|
||
|
- __meta_kubernetes_namespace
|
||
|
target_label: namespace
|
||
|
- action: replace
|
||
|
source_labels:
|
||
|
- __meta_kubernetes_pod_name
|
||
|
target_label: pod
|
||
|
- action: drop
|
||
|
regex: Pending|Succeeded|Failed|Completed
|
||
|
source_labels:
|
||
|
- __meta_kubernetes_pod_phase
|
||
|
- honor_labels: true
|
||
|
job_name: kubernetes-pods-slow
|
||
|
kubernetes_sd_configs:
|
||
|
- role: pod
|
||
|
relabel_configs:
|
||
|
- action: keep
|
||
|
regex: true
|
||
|
source_labels:
|
||
|
- __meta_kubernetes_pod_annotation_prometheus_io_scrape_slow
|
||
|
- action: replace
|
||
|
regex: (https?)
|
||
|
source_labels:
|
||
|
- __meta_kubernetes_pod_annotation_prometheus_io_scheme
|
||
|
target_label: __scheme__
|
||
|
- action: replace
|
||
|
regex: (.+)
|
||
|
source_labels:
|
||
|
- __meta_kubernetes_pod_annotation_prometheus_io_path
|
||
|
target_label: __metrics_path__
|
||
|
- action: replace
|
||
|
regex: (\d+);(([A-Fa-f0-9]{1,4}::?){1,7}[A-Fa-f0-9]{1,4})
|
||
|
replacement: '[$2]:$1'
|
||
|
source_labels:
|
||
|
- __meta_kubernetes_pod_annotation_prometheus_io_port
|
||
|
- __meta_kubernetes_pod_ip
|
||
|
target_label: __address__
|
||
|
- action: replace
|
||
|
regex: (\d+);((([0-9]+?)(\.|$)){4})
|
||
|
replacement: $2:$1
|
||
|
source_labels:
|
||
|
- __meta_kubernetes_pod_annotation_prometheus_io_port
|
||
|
- __meta_kubernetes_pod_ip
|
||
|
target_label: __address__
|
||
|
- action: labelmap
|
||
|
regex: __meta_kubernetes_pod_annotation_prometheus_io_param_(.+)
|
||
|
replacement: __param_$1
|
||
|
- action: labelmap
|
||
|
regex: __meta_kubernetes_pod_label_(.+)
|
||
|
- action: replace
|
||
|
source_labels:
|
||
|
- __meta_kubernetes_namespace
|
||
|
target_label: namespace
|
||
|
- action: replace
|
||
|
source_labels:
|
||
|
- __meta_kubernetes_pod_name
|
||
|
target_label: pod
|
||
|
- action: drop
|
||
|
regex: Pending|Succeeded|Failed|Completed
|
||
|
source_labels:
|
||
|
- __meta_kubernetes_pod_phase
|
||
|
scrape_interval: 5m
|
||
|
scrape_timeout: 30s
|
||
|
alerting:
|
||
|
alertmanagers:
|
||
|
- kubernetes_sd_configs:
|
||
|
- role: pod
|
||
|
tls_config:
|
||
|
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
|
||
|
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
|
||
|
relabel_configs:
|
||
|
- source_labels: [__meta_kubernetes_namespace]
|
||
|
regex: prometheus
|
||
|
action: keep
|
||
|
- source_labels: [__meta_kubernetes_pod_label_app_kubernetes_io_instance]
|
||
|
regex: prometheus
|
||
|
action: keep
|
||
|
- source_labels: [__meta_kubernetes_pod_label_app_kubernetes_io_name]
|
||
|
regex: alertmanager
|
||
|
action: keep
|
||
|
- source_labels: [__meta_kubernetes_pod_container_port_number]
|
||
|
regex: "9093"
|
||
|
action: keep
|
||
|
recording_rules.yml: |
|
||
|
{}
|
||
|
rules: |
|
||
|
{}
|