- Prometheus 安装/监控/告警/图表展示
- Promethues 监控服务安装
- Promethues 自动化监控
- Grafana 仪表盘
- Alertmanager 告警
1.0 各监控服务的安装
- 基于Linux 的 Promethues 各类服务安装搭建
| IP | OS | HostName | 备注 |
|---|---|---|---|
| 192.168.10.118 | Centos7.9 | ops-monitor | Prometheus相关服务 |
| 192.168.10.131 | Centos7.9 | ops-master01 | 绑定域名k8s-vip.ink8s.com |
| 192.168.10.132 | Centos7.9 | ops-node01 | - |
| 192.168.10.133 | Centos7.9 | ops-node02 | - |
| 192.168.10.134 | Centos7.9 | ops-node03 | - |
1.1 Prometheus Server 安装
- Prometheus Server 二进制下载和安装
- 启动项配置
1 | # wget https://github.com/prometheus/prometheus/releases/download/v3.5.4/prometheus-3.5.4.linux-amd64.tar.gz |
1 | # cat /usr/lib/systemd/system/prometheus.service |
1.2 Alertermanager 安装
- Alertermanager 二进制下载和安装
- 启动项配置
1 | wget https://github.com/prometheus/alertmanager/releases/download/v0.33.0/alertmanager-0.33.0.linux-amd64.tar.gz |
1 | # cat /usr/lib/systemd/system/alertermanager.service |
1.3 Exporter 安装
1.3.1 Node_exporter 安装
1 | # wget https://github.com/prometheus/node_exporter/releases/download/v1.11.1/node_exporter-1.11.1.linux-amd64.tar.gz |
1 | # cat /usr/lib/systemd/system/node_exporter.service |
1.4 Granfana 安装
- Granfana 二进制下载和安装
- 启动项配置
1 | # wget https://dl.grafana.com/grafana/release/13.1.0/grafana_13.1.0_28013217238_linux_amd64.tar.gz |
1 | # cat /usr/lib/systemd/system/grafana.service |
2.0 Promethues 自动化监控
- Prometheus 支持两种被监控方式:
- 静态配置: 手动配置
- 服务发现: 动态发现需要监控的 target 实例
- file_sd_configs
- consul_sd_configs
- kubernetes_sd_configs
2.1 基于文件服务发现
- file_sd_configs(基于文件服务发现)
1 | # cat /data/apps/monitor/prometheus/prometheus.yml |

2.2 基于 consul 服务发现
- consul_sd_configs(基于 consul 服务发现)

2.2.1 快速部署 consul
1 | # docker run --restart=always --name consul -d -p 8500:8500 harbor.inadm.com/ops_monitor/consul:1.15.4 |
2.2.2 consul 服务应用
- 通过在 consul 注册服务或注销服务(监控 targets)
- Prometheus 一直监视(watch)consul 服务,当发现 consul 中符合要求的服务有新变化是更新 Prometheus 监控对象
1 | // 使用 API 把这里的启动的 node_exporter 服务注册到 consul |

2.2.3 主配置文件修改
1 | # cat /data/apps/monitor/prometheus/prometheus.yml |

2.3 监控 kubernetes 集群
- kubernetes_sd_configs (监控 kubernetes): 集群外 Prometheus + 全部指标经 API Server 代理抓取
| 监控指标 | 具体实现 | 举例 |
|---|---|---|
| node 资源利用率 | node-exporter | 节点CPU,内存利用率 |
| pod 资源利用率 | cAdvisor | 容器CPU,内存利用率 |
| k8s 资源对象状态 | kube-state-metrics | pod/deploy/svc |

| 服务发现类型 | 描述 |
|---|---|
| service | 发现集群中的节点,默认地址为kubelet的HTTP端口 |
| pod | 容器CPU,内存利用率 |
| endpoints | 从service列表中的endpoint发现pod为目标 |
| ingress | 发现ingress路径为目标 |
2.3.1 RBAC 授权
1 | // kubectl api-resources # 版本号确认 |
2.3.2 准备ca与token
1 | // 在 Prometheus 监控主机上操作 |
2.3.3 监控k8s资源对象
- 部署 kube-state-metrics
1 | # cat kube-state-metrics-deploy.yaml |
1 | // prometheus 和 k8s 的集群 Pod 不是同一网段,则需要在 promethues 监控主机上添加路由 |
2.3.4 主配置文件配置
1 | # cat /data/apps/monitor/prometheus/prometheus.yml |

3.0 Grafana 仪表盘
3.1 Grafana 基础配置
3.1.1 数据源配置
- 连接 –> 数据源 –> Connection: (http://192.168.10.118:9090)

3.1.2 导入仪表板
- 左侧点击”仪表板” –> 右上角”新建” –> 选择”Import dashbaord”

3.1.3 仪表板ID清单
| 监控对象 | 仪表盘名称 | Grafana_ID | 说明 |
|---|---|---|---|
| node-exporter | Node Exporter Full | 1860 | 最全面的主机监控,CPU/内存/磁盘/网络 |
| cAdvisor | Kubernetes Pods Monitoring | 14282 | 容器/Pod 资源监控 |
| cAdvisor | Kubernetes Cluster Monitoring (cAdvisor) | 3119 | 集群级容器监控 |
| kube-state-metrics | Kubernetes Cluster (Prometheus) | 15757 | 资源对象状态,Deployment/Pod/Node 等 |
| kube-state-metrics | Kubernetes Stateful Metrics | 13105 | 另一个 kube-state-metrics 视图 |
| API Server | Kubernetes API Server | 17688 | API Server 性能指标 |
| K8S 总览 | Kubernetes All-in-One | 15661 | 综合视图,包含多个组件 |
3.2 图形面板
- Grafana 中所有的面板均以插件形式使用,Grafana 提供了各种可视化来支持不同的用例:
- Time series(时间序列) 默认的也是主要的图形可视化面板
- State timeline(状态时间表) 状态随时间变化
- Status history(状态历史记录)
- Bar chart(条形图)
- Histogram(直方图)
- Heatmap(热力图)
- Pie chart (饼状图)
- Stat(统计数据)
- Gauge、Bar gauge、Table(表格)
- Logs(日志)
- Node Graph(节点图)
- Dashboard list(仪表板列表)
- Alert list(报警列表)
- Text panel(文本面板、支持markdown和html)
- News Panel(新闻面板,可以显示RSS摘要)
- 其它面板信息获取
3.2.1 Time series 时间序列
- Time series(时间序列) 默认的也是主要的图形可视化面板
3.2.1.1 CPU使用率公式
- 准备好一个CPU使用率公式,用于下面创建时间序列图时使用
1 | // CPU 使用率 |
3.2.1.2 创建时间序列自定义图
- 点击左侧”仪表板” –> 点击右上角”新建” –> 选择”新建仪表板” –> 点击”+” –> 选择”配置可视化” –> 点击右侧”所有可视化” –> 单击”Time series”: 如图配置最后保存

3.2.1.3 配置自定义图设置
- 可针对这个自定义的仪表盘进行配置: 单击右侧齿轮”数据面板选项” –> 单击 “View all settings”
- 可以配置名称、标签、变量等


3.2.1.4 过滤节点IP地址




3.2.1.5 标签替换
- 针对单个图表将 “语句中的标签进行变量替换”,修改完成后保存
1 | // CPU使用率 添加 instance=~"$HOST_IP" 变量 |

4.0 Alertmanager
- 本文作者: [email protected]
- 本文链接: https://www.ink8s.com/2026/06/24/prometheus-监控/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!