Docker部署Prometheus

常用Grafana模板

名称 模板ID 说明
Node Exporter Full 1860 Kubernetes 集群监控
K3s Cluster Dashboard 14205,7249 K3s专属监控
kube-state-metrics 12740
MySQL Overview 7362
Nvidia GPU Metrics 14574 英伟达显卡监控
PostgreSQL Database 9628
Redis 12497
EMQX 17446
Docker-cAdvisor 13946

Alloy配置模板

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
// 基础设施指标收集组件一般都是prometheus.exporter.*的形式, 见官方文档https://grafana.com/docs/alloy/latest/reference/components/prometheus/
// 目标组件, 这里目标组件是Linux
prometheus.exporter.unix "node" {}

// 抓取目标组件指标
prometheus.scrape "node" {
// 源
targets = prometheus.exporter.unix.node.targets
// 指标转发
forward_to = [prometheus.relabel.node.receiver]
// 10s抓取一次指标
scrape_interval = "10s"
}

// 筛选指标
// prometheus.relabel 组件通常用于筛选 Prometheus 指标或标准化传递给一个或多个下游接收器的标签集
prometheus.relabel "node" {
// 将address或者instance替换成host
rule {
action = "replace"
source_labels = ["__address__", "instance"]
separator = "/"
target_label = "host"
}
// 处理完后转发到组件
forward_to = [prometheus.remote_write.metrics_service.receiver]
}


prometheus.exporter.redis "redis" {
redis_addr = "redis:6379"
redis_password = "123456"
}

prometheus.scrape "redis" {
targets = prometheus.exporter.redis.redis.targets
forward_to = [prometheus.remote_write.metrics_service.receiver]
}


// 指标发送到prometheus中
prometheus.remote_write "metrics_service" {
endpoint {
url = "http://prometheus:9090/api/v1/write"
}
}