1. 首页 > Rancher教程 > 正文

Rancher教程FG011-Rancher集群监控与告警规则配置实战

本文档风哥主要介绍Rancher集群监控与告警规则配置实战,包括Rancher数据库监控概念、Rancher数据库Prometheus概念、Rancher数据库告警概念、Rancher数据库监控准备、Rancher数据库监控要求、Rancher数据库监控规划、Rancher数据库安装监控、Rancher数据库配置告警、Rancher数据库配置仪表板、Rancher数据库管理监控、Rancher数据库测试告警、Rancher数据库优化监控等内容,风哥教程参考Rancher官方文档监控、告警、Prometheus等内容,适合运维人员在学习和测试中使用,如果要应用于生产环境则需要自行确认。

Part01-基础概念与理论知识

1.1 Rancher数据库监控概念

Rancher数据库监控是指对Rancher集群和应用程序进行实时监控,收集和分析各种指标数据,如CPU使用率、内存使用率、磁盘使用率、网络流量等。Rancher集成了Prometheus和Grafana,提供了强大的监控和可视化功能。监控可以帮助运维人员及时发现和处理问题,提高系统的稳定性和可靠性。更多视频教程www.fgedu.net.cn

Rancher数据库监控特点:

  • 实时监控:实时收集和分析指标
  • 可视化展示:通过Grafana展示数据
  • 告警通知:支持多种告警方式
  • 历史数据:保存历史监控数据
  • 自定义指标:支持自定义监控指标

1.2 Rancher数据库Prometheus概念

Rancher数据库Prometheus是一个开源的监控和告警系统,用于收集和存储时间序列数据。Prometheus通过Pull模式从目标(如Kubernetes集群、应用程序)收集指标数据,支持多种数据格式和协议。Prometheus提供了强大的查询语言PromQL,可以灵活地查询和分析监控数据。学习交流加群风哥微信: itpux-com

Rancher数据库Prometheus特点:

  • Pull模式:主动从目标收集数据
  • 时间序列:存储时间序列数据
  • 查询语言:支持PromQL查询
  • 告警规则:支持告警规则配置
  • 多维度:支持多维度数据

1.3 Rancher数据库告警概念

Rancher数据库告警是指根据监控指标配置告警规则,当指标达到阈值时触发告警。Rancher支持多种告警方式,如邮件、短信、Webhook、Slack等。告警规则可以配置告警级别、告警持续时间、告警间隔等参数。告警可以帮助运维人员及时发现和处理问题,减少故障影响时间。学习交流加群风哥QQ113257174

Rancher数据库告警特点:

  • 规则配置:灵活配置告警规则
  • 多种方式:支持多种告警方式
  • 告警级别:支持不同告警级别
  • 告警抑制:支持告警抑制
  • 告警聚合:支持告警聚合
风哥提示:Rancher监控可以帮助运维人员及时发现和处理问题,提高系统的稳定性和可靠性。建议配置告警规则,及时通知运维人员。学习交流加群风哥QQ113257174

Part02-生产环境规划与建议

2.1 Rancher数据库监控准备

Rancher数据库监控准备:

# Rancher数据库监控准备清单

# 1. Rancher Server准备
– Rancher Server已部署
– Rancher Server可访问
– Rancher Server配置正确

# 2. 监控需求分析
– 确定监控对象
– 确定监控指标
– 确定监控频率
– 确定监控保留时间

# 3. 告警需求分析
– 确定告警对象
– 确定告警指标
– 确定告警阈值
– 确定告警方式

# 4. 存储准备
– Prometheus存储:>= 50GB
– Grafana存储:>= 10GB
– 告警存储:>= 5GB

# 5. 网络准备
– 网络带宽:>= 100Mbps
– 网络延迟:< 100ms - 端口开放:9090、3000等

2.2 Rancher数据库监控要求

Rancher数据库监控要求:

# Rancher数据库监控要求

# Prometheus要求
– 版本:>= v2.45.0
– 存储:>= 50GB
– 内存:>= 4GB
– CPU:>= 2核

# Grafana要求
– 版本:>= v9.0.0
– 存储:>= 10GB
– 内存:>= 2GB
– CPU:>= 1核

# 告警要求
– 告警方式:邮件、短信、Webhook、Slack等
– 告警频率:根据业务需求
– 告警级别:Critical、Warning、Info等
– 告警抑制:支持告警抑制

# 监控指标要求
– 集群指标:CPU、内存、磁盘、网络等
– 节点指标:CPU、内存、磁盘、网络等
– Pod指标:CPU、内存、磁盘、网络等
– 应用指标:自定义应用指标

# 监控保留要求
– Prometheus数据保留:15天
– Grafana数据保留:30天
– 告警数据保留:90天

2.3 Rancher数据库监控规划

Rancher数据库监控规划:

# Rancher数据库监控规划

# 监控对象规划
集群监控:fgedu-rke2-cluster
节点监控:所有节点
Pod监控:所有Pod
应用监控:Nginx、MySQL、Redis等

# 监控指标规划
集群指标:
– CPU使用率
– 内存使用率
– 磁盘使用率
– 网络流量
节点指标:
– CPU使用率
– 内存使用率
– 磁盘使用率
– 网络流量
Pod指标:
– CPU使用率
– 内存使用率
– 磁盘使用率
– 网络流量

# 告警规则规划
集群告警:
– CPU使用率 > 80%
– 内存使用率 > 80%
– 磁盘使用率 > 80%
节点告警:
– CPU使用率 > 80%
– 内存使用率 > 80%
– 磁盘使用率 > 80%
Pod告警:
– CPU使用率 > 80%
– 内存使用率 > 80%
– Pod重启次数 > 5次

# 告警方式规划
邮件告警:fgedu@fgedu.net.cn
短信告警:13800138000
Webhook告警:http://alert.fgedu.net.cn/webhook
Slack告警:#fgedu-alerts

生产环境建议:Rancher数据库监控建议根据业务需求配置监控指标和告警规则。定期检查监控数据,及时发现和处理问题。更多学习教程公众号风哥教程itpux_com

Part03-生产环境项目实施方案

3.1 Rancher数据库安装监控

3.1.1 Rancher数据库通过Web界面安装监控

# 通过Web界面安装监控
# 步骤1:登录Rancher管理界面
# 步骤2:点击”集群” – 选择集群 – 点击”工具” – “监控”
# 步骤3:点击”启用”按钮
# 步骤4:选择监控版本:v0.45.0
# 步骤5:配置监控参数:
# Prometheus存储:50Gi
# Grafana存储:10Gi
# 告警规则:启用
# 步骤6:点击”安装”按钮

# 通过Helm安装监控
[root@rancher ~]# helm repo add rancher-monitoring https://charts.rancher.io
“rancher-monitoring” has been added to your repositories

[root@rancher ~]# helm repo update
Hang tight while we grab the latest from your chart repositories…
…Successfully got an update from the “rancher-monitoring” chart repository
Update Complete. ⎈Happy Helming!⎈

[root@rancher ~]# helm install rancher-monitoring rancher-monitoring/rancher-monitoring \
–namespace cattle-monitoring-system \
–set prometheus.prometheusSpec.retention=15d \
–set prometheus.prometheusSpec.storageSpec.volumeClaimTemplate.spec.storageClassName=gp2 \
–set prometheus.prometheusSpec.storageSpec.volumeClaimTemplate.spec.resources.requests.storage=50Gi \
–set grafana.persistence.enabled=true \
–set grafana.persistence.size=10Gi \
–set grafana.persistence.storageClassName=gp2

NAME: rancher-monitoring
LAST DEPLOYED: Fri Apr 10 10:00:00 2026
NAMESPACE: cattle-monitoring-system
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
The Rancher Monitoring Stack has been installed successfully!

Access Grafana:
kubectl -n cattle-monitoring-system port-forward svc/rancher-monitoring-grafana 3000:80

Access Prometheus:
kubectl -n cattle-monitoring-system port-forward svc/rancher-monitoring-prometheus 9090:9090

# 查看监控组件状态
[root@rancher ~]# kubectl get pods -n cattle-monitoring-system
NAME READY STATUS RESTARTS AGE
rancher-monitoring-operator-1234567890-abcde 1/1 Running 0 2m
rancher-monitoring-prometheus-0 2/2 Running 0 2m
rancher-monitoring-grafana-1234567890-abcde 1/1 Running 0 2m
rancher-monitoring-alertmanager-0 1/1 Running 0 2m

3.2 Rancher数据库配置告警

3.2.1 Rancher数据库配置告警规则

# 通过Web界面配置告警规则
# 步骤1:登录Rancher管理界面
# 步骤2:点击”集群” – 选择集群 – 点击”监控” – “告警”
# 步骤3:点击”创建告警规则”按钮
# 步骤4:填写告警规则信息:
# 规则名称:fgedu-cpu-alert
# 规则描述:Rancher数据库CPU使用率告警
# 指标:CPU使用率
# 阈值:> 80%
# 持续时间:5分钟
# 步骤5:配置告警方式:
# 邮件:fgedu@fgedu.net.cn
# 短信:13800138000
# 步骤6:点击”创建”按钮

# 通过kubectl配置告警规则
[root@rancher ~]# cat < 80
for: 5m
labels:
severity: warning
annotations:
summary: “High CPU usage detected”
description: “Pod {{ $labels.pod }} has CPU usage above 80% for more than 5 minutes.”
EOF

prometheusrule.monitoring.coreos.com/fgedu-cpu-alert created

# 查看告警规则
[root@rancher ~]# kubectl get prometheusrules -n cattle-monitoring-system
NAME AGE
fgedu-cpu-alert 1m

# 查看告警规则详情
[root@rancher ~]# kubectl describe prometheusrule fgedu-cpu-alert -n cattle-monitoring-system
Name: fgedu-cpu-alert
Namespace: cattle-monitoring-system
Labels:
Annotations:
API Version: monitoring.coreos.com/v1
Kind: PrometheusRule
Metadata:
Creation Timestamp: 2026-04-10T10:00:00Z
Generation: 1
Resource Version: 1234567890
UID: 12345678-90ab-cdef-1234-567890abcdef
Spec:
Groups:
Name: fgedu-cpu-alerts
Rules:
Alert: HighCPUUsage
Annotations:
Description: Pod {{ $labels.pod }} has CPU usage above 80% for more than 5 minutes.
Summary: High CPU usage detected
Expr: sum(rate(container_cpu_usage_seconds_total{image!=””}[5m])) by (pod) / sum(kube_pod_container_resource_limits{resource=”cpu”}) by (pod) * 100 > 80
For: 5m
Labels:
Severity: warning

# 配置告警通知
[root@rancher ~]# cat <

3.3 Rancher数据库配置仪表板

3.3.1 Rancher数据库配置Grafana仪表板

# 端口转发访问Grafana
[root@rancher ~]# kubectl -n cattle-monitoring-system port-forward svc/rancher-monitoring-grafana 3000:80 &
Forwarding from 127.0.0.1:3000 -> 3000
Forwarding from [::1]:3000 -> 3000

# 访问Grafana
# URL: http://localhost:3000
# 用户名:admin
# 密码:prom-operator

# 通过Web界面配置仪表板
# 步骤1:登录Grafana界面
# 步骤2:点击”+” – “Import”
# 步骤3:填写仪表板信息:
# 仪表板名称:fgedu-cluster-dashboard
# 仪表板描述:Rancher数据库集群监控仪表板
# 步骤4:上传仪表板JSON文件
# 步骤5:点击”Load”按钮
# 步骤6:选择数据源:Prometheus
# 步骤7:点击”Import”按钮

# 通过API配置仪表板
[root@rancher ~]# cat < fgedu-cluster-dashboard.json
{
“dashboard”: {
“title”: “fgedu-cluster-dashboard”,
“description”: “Rancher数据库集群监控仪表板”,
“tags”: [“rancher”, “cluster”],
“timezone”: “browser”,
“panels”: [
{
“id”: 1,
“title”: “CPU使用率”,
“type”: “graph”,
“targets”: [
{
“expr”: “sum(rate(container_cpu_usage_seconds_total{image!=\”\”}[5m])) by (pod) / sum(kube_pod_container_resource_limits{resource=\”cpu\”}) by (pod) * 100″,
“legendFormat”: “{{pod}}”
}
]
},
{
“id”: 2,
“title”: “内存使用率”,
“type”: “graph”,
“targets”: [
{
“expr”: “sum(container_memory_working_set_bytes{image!=\”\”}) by (pod) / sum(kube_pod_container_resource_limits{resource=\”memory\”}) by (pod) * 100″,
“legendFormat”: “{{pod}}”
}
]
}
]
}
}
EOF

# 通过Grafana API导入仪表板
[root@rancher ~]# curl -X POST \
-H “Content-Type: application/json” \
-u “admin:prom-operator” \
http://localhost:3000/api/dashboards/db \
-d @fgedu-cluster-dashboard.json

{
“id”: 123,
“slug”: “fgedu-cluster-dashboard”,
“status”: “success”,
“uid”: “1234567890abcdef”,
“url”: “/d/1234567890abcdef/fgedu-cluster-dashboard”,
“version”: 1
}

# 查看仪表板列表
[root@rancher ~]# curl -u “admin:prom-operator” \
http://localhost:3000/api/search?query=fgedu

[
{
“id”: 123,
“title”: “fgedu-cluster-dashboard”,
“uri”: “db/fgedu-cluster-dashboard”,
“type”: “dash-db”,
“tags”: [“rancher”, “cluster”],
“isStarred”: false
}
]

风哥提示:Rancher监控可以帮助运维人员及时发现和处理问题,提高系统的稳定性和可靠性。建议配置告警规则,及时通知运维人员。from Rancher视频:www.itpux.com

Part04-生产案例与实战讲解

4.1 Rancher数据库管理监控

4.1.1 Rancher数据库查看监控数据

# 通过Web界面查看监控数据
# 步骤1:登录Rancher管理界面
# 步骤2:点击”集群” – 选择集群 – 点击”监控”
# 步骤3:查看Grafana仪表板
# 步骤4:查看Prometheus数据
# 步骤5:查看告警规则

# 通过Prometheus查询监控数据
[root@rancher ~]# kubectl -n cattle-monitoring-system port-forward svc/rancher-monitoring-prometheus 9090:9090 &
Forwarding from 127.0.0.1:9090 -> 9090
Forwarding from [::1]:9090 -> 9090

# 查询CPU使用率
[root@rancher ~]# curl -G http://localhost:9090/api/v1/query \
–data-urlencode ‘query=sum(rate(container_cpu_usage_seconds_total{image!=””}[5m])) by (pod) / sum(kube_pod_container_resource_limits{resource=”cpu”}) by (pod) * 100’

{
“status”: “success”,
“data”: {
“resultType”: “vector”,
“result”: [
{
“metric”: {
“pod”: “fgedu-nginx-1234567890-abcde”
},
“value”: [1712712000, “45.23”]
},
{
“metric”: {
“pod”: “fgedu-nginx-1234567890-fghij”
},
“value”: [1712712000, “52.34”]
}
]
}
}

# 查询内存使用率
[root@rancher ~]# curl -G http://localhost:9090/api/v1/query \
–data-urlencode ‘query=sum(container_memory_working_set_bytes{image!=””}) by (pod) / sum(kube_pod_container_resource_limits{resource=”memory”}) by (pod) * 100’

{
“status”: “success”,
“data”: {
“resultType”: “vector”,
“result”: [
{
“metric”: {
“pod”: “fgedu-nginx-1234567890-abcde”
},
“value”: [1712712000, “35.67”]
},
{
“metric”: {
“pod”: “fgedu-nginx-1234567890-fghij”
},
“value”: [1712712000, “42.89”]
}
]
}
}

4.2 Rancher数据库测试告警

4.2.1 Rancher数据库测试告警规则

# 通过Prometheus查看告警状态
[root@rancher ~]# curl http://localhost:9090/api/v1/alerts

{
“status”: “success”,
“data”: {
“alerts”: [
{
“labels”: {
“alertname”: “HighCPUUsage”,
“pod”: “fgedu-nginx-1234567890-abcde”,
“severity”: “warning”
},
“annotations”: {
“description”: “Pod fgedu-nginx-1234567890-abcde has CPU usage above 80% for more than 5 minutes.”,
“summary”: “High CPU usage detected”
},
“state”: “firing”,
“activeAt”: “2026-04-10T10:00:00Z”,
“value”: “85.23”
}
]
}
}

# 查看告警历史
[root@rancher ~]# curl http://localhost:9090/api/v1/query \
–data-urlencode ‘query=ALERTS{alertname=”HighCPUUsage”}’

{
“status”: “success”,
“data”: {
“resultType”: “vector”,
“result”: [
{
“metric”: {
“alertname”: “HighCPUUsage”,
“pod”: “fgedu-nginx-1234567890-abcde”,
“severity”: “warning”
},
“value”: [1712712000, “1”]
}
]
}
}

# 测试告警通知
# 步骤1:触发告警条件
# 步骤2:检查告警状态
# 步骤3:检查告警通知
# 步骤4:验证告警内容

4.3 Rancher数据库优化监控

4.3.1 Rancher数据库优化Prometheus性能

# 优化Prometheus配置
[root@rancher ~]# kubectl edit prometheus rancher-monitoring-prometheus -n cattle-monitoring-system

# 优化参数
spec:
prometheusSpec:
retention: 15d
retentionSize: 50GB
storageSpec:
volumeClaimTemplate:
spec:
storageClassName: gp2
resources:
requests:
storage: 50Gi
resources:
requests:
cpu: 2
memory: 4Gi
limits:
cpu: 4
memory: 8Gi

# 查看Prometheus性能
[root@rancher ~]# kubectl top pod -n cattle-monitoring-system rancher-monitoring-prometheus-0
NAME CPU(cores) MEMORY(bytes)
rancher-monitoring-prometheus-0 2.5 4.5Gi

# 查看Prometheus存储
[root@rancher ~]# kubectl exec -n cattle-monitoring-system rancher-monitoring-prometheus-0 — df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 50G 20G 30G 40% /prometheus

生产环境建议:Rancher数据库监控建议定期检查监控数据,优化Prometheus性能。配置合理的告警规则,及时通知运维人员。更多视频教程www.fgedu.net.cn

Part05-风哥经验总结与分享

5.1 Rancher数据库监控最佳实践

Rancher数据库监控最佳实践:

  • 合理规划:根据业务需求规划监控指标和告警规则
  • 告警配置:配置合理的告警阈值和告警方式
  • 性能优化:优化Prometheus性能,确保监控稳定
  • 定期检查:定期检查监控数据,及时发现和处理问题
  • 文档记录:记录监控配置和变更
  • 告警测试:定期测试告警规则,确保告警正常
  • 数据备份:定期备份监控数据,防止数据丢失

5.2 Rancher数据库监控问题排查

Rancher数据库监控问题排查:

# Rancher数据库监控常见问题及解决方案

# 问题1:Prometheus无法启动
# 现象:Prometheus Pod状态为CrashLoopBackOff
# 原因:配置错误、存储不足、资源不足
# 解决:
[root@rancher ~]# kubectl get pods -n cattle-monitoring-system
[root@rancher ~]# kubectl describe pod rancher-monitoring-prometheus-0 -n cattle-monitoring-system
[root@rancher ~]# kubectl logs rancher-monitoring-prometheus-0 -n cattle-monitoring-system
[root@rancher ~]# kubectl exec -n cattle-monitoring-system rancher-monitoring-prometheus-0 — df -h

# 问题2:告警不触发
# 现象:告警规则配置后不触发告警
# 原因:规则配置错误、指标不存在、阈值设置不当
# 解决:
[root@rancher ~]# kubectl get prometheusrules -n cattle-monitoring-system
[root@rancher ~]# kubectl describe prometheusrule fgedu-cpu-alert -n cattle-monitoring-system
[root@rancher ~]# curl http://localhost:9090/api/v1/query \
–data-urlencode ‘query=sum(rate(container_cpu_usage_seconds_total{image!=””}[5m])) by (pod) / sum(kube_pod_container_resource_limits{resource=”cpu”}) by (pod) * 100’

# 问题3:告警通知失败
# 现象:告警触发后未收到通知
# 原因:通知配置错误、网络不通、认证失败
# 解决:
[root@rancher ~]# kubectl get alertmanagerconfigs -n cattle-monitoring-system
[root@rancher ~]# kubectl describe alertmanagerconfig fgedu-alertmanager -n cattle-monitoring-system
[root@rancher ~]# kubectl logs -n cattle-monitoring-system rancher-monitoring-alertmanager-0
[root@rancher ~]# curl -X POST http://alert.fgedu.net.cn/webhook -d ‘{“test”:”test”}’

# 问题4:Grafana无法访问
# 现象:无法访问Grafana界面
# 原因:网络不通、端口未开放、认证失败
# 解决:
[root@rancher ~]# kubectl get svc -n cattle-monitoring-system rancher-monitoring-grafana
[root@rancher ~]# kubectl port-forward -n cattle-monitoring-system svc/rancher-monitoring-grafana 3000:80
[root@rancher ~]# curl http://localhost:3000
[root@rancher ~]# kubectl logs -n cattle-monitoring-system rancher-monitoring-grafana-1234567890-abcde

5.3 Rancher数据库监控维护

Rancher数据库监控维护:

# Rancher数据库监控维护建议

# 1. 定期检查
– 检查Prometheus状态
– 检查Grafana状态
– 检查告警规则
– 检查告警通知

# 2. 定期优化
– 优化Prometheus配置
– 优化告警规则
– 优化仪表板
– 优化存储

# 3. 定期备份
– 备份Prometheus数据
– 备份Grafana配置
– 备份告警规则
– 备份仪表板

# 4. 定期清理
– 清理过期监控数据
– 清理无用告警规则
– 清理无用仪表板
– 清理过期日志

# 5. 定期审计
– 审计监控配置
– 审计告警规则
– 审计告警通知
– 审计操作日志

风哥提示:Rancher监控可以帮助运维人员及时发现和处理问题,提高系统的稳定性和可靠性。建议配置告警规则,及时通知运维人员。定期检查监控数据,优化Prometheus性能。学习交流加群风哥微信: itpux-com

本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html

联系我们

在线咨询:点击这里给我发消息

微信号:itpux-com

工作日:9:30-18:30,节假日休息