1. 首页 > Linux教程 > 正文

Linux教程FG369-监控告警Prometheus+Grafana实战

内容简介:本文风哥教程参考Linux官方文档、Red Hat Enterprise Linux官方文档、Ansible Automation Platform官方文档、Docker官方文档、Kubernetes官方文档和Podman官方文档等内容,详细介绍了相关技术的配置和使用方法。

本文档风哥主要介绍Prometheus+Grafana监控告警系统的部署和使用方法,包括监控配置、告警规则、可视化等内容。

Part01-基础概念与理论知识

1.1 Prometheus架构

# 核心组件
Prometheus Server:数据采集和存储
Exporters:数据导出器
Alertmanager:告警管理
Grafana:可视化展示

# 数据模型
指标名称{标签名=标签值} 值
http_requests_total{method=”GET”,status=”200″} 100

Part02-生产环境规划与建议

2.1 监控架构设计

# 监控层次
基础设施监控:CPU、内存、磁盘、网络
应用监控:服务状态、性能指标
业务监控:业务指标、用户行为

# 告警策略
分级告警:Critical、Warning、Info
告警聚合:避免告警风暴
告警升级:未处理自动升级

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

3.1 Prometheus部署

# 安装Prometheus
$ sudo useradd -r -s /bin/false prometheus
$ sudo mkdir /etc/prometheus /var/lib/prometheus
$ wget https://github.com/prometheus/prometheus/rel学习交流加群风哥QQ113257174eases/download/v2.48.0/prometheus-2.48.0.linux-amd64.tar.gz
$ tar xzf prometheus-2.48.0.lifrom PG视频:www.itpux.comnux-amd64.tar.gz
$ sudo cp prometheus-2.48.0.linux-amd64/{prometheus,promtool} /usr/local/bin/

# 配置Prometheus
$ sudo vi /etc/prometheus/prometheus.yml
global:
scrape_interval: 15s

scrape_configs:
– job_name: ‘prometheus’
static_configs:
– targets: [‘localhost:9090’]

– job_name: ‘node’
static_configs:
– targets: [‘192.168.1.10:9100’, ‘192.168.1.11:9100’]

# 启动Prometheus
$ sudo -u prometheus /usr/local/bin/prometheus \
–config.更多视频教程www.fgedu.net.cnfile=/etc/prometheus/prometheus.yml \
–storage.tsdb.path=/var/lib/prometheus/

# 访问Web界面
http://localhost:9090

3.2 Node Exporter部署

# 安装Node Exporter
$ wget https://github.com/promet更多学习教程公众号风哥教程itpux_comheus/node_exporter/releases/download/v1.7.0/node_exporter-1.7.0.linux-amd64.tar.gz
$ tar xzf node_exporter-1.7.0.linux-amd64.tar.gz
$ sudo cp node_exporter-1.7.0.linux-amd64/node_exporter /usr/local/bin/

# 创建systemd服务
$ sudo cat > /etc/systemd/system/node_exporter.service << 'EOF' [Unit] Description=Node Exporter After=network.target [Service] User=prometheus ExecStart=/usr/local/bin/node_exporter [Install] WantedBy=multi-user.target EOF # 启动服务 $ sudo systemctl daemon-reload $ sudo systemctl start node_exporter $ sudo systemctl enable node_exporter # 验证 $ curl http://localhost:9100/metrics

3.3 Grafana部署

# 安装Grafana
$ sudo dnf install grafana -y

# 启动服务
$ sudo systemctl start grafana-server
$ sudo systemctl enable grafana-server

# 访问Web界面
http://localhost:3000
默认账号:admin/admin

# 添加数据源
Configuration -> Data Sources -> Add data source -> Prometheus
URL: http://localhost:9090

# 导入Dashboard
+ -> Import -> 输入Dashboard ID: 1860 (Node Exporter Full)

Part04-生产案例与实战讲解

4.1 案例:配置告警规则

# 场景:配置服务器资源告警

# 1. 创建告警规则
$ sudo vi /etc/prometheus/alert.rules.yml
groups:
– name: node_alerts
rules:
– alert: HighCPU
expr: 100 – (avg by(instance) (irate(node_cpu_seconds_total{mode=”idle”}[5m])) * 100) > 80
for: 5m
labels:
severity: warning
annotations:
summary: “High CPU usage on {{ $labels.instance }}”
description: “CPU usage is {{ $value }}%”

– alert: HighMemory
expr: (1 – (node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes)) * 100 > 90
for: 5m
labels:
severity: critical
annotations:
summary: “High memory usage on {{ $labels.instance }}”

# 2. 在prometheus.yml中引用规则文件
$ sudo vi /etc/prometheus/prometheus.yml
rule_files:
– /etc/prometheus/alert.rules.yml

# 3. 配置Alertmanager
$ sudo vi /etc/prometheus/alertmanager.yml
global:
smtp_smarthost: ‘smtp.fgedu.net.cn:587’
smtp_from: ‘alert@fgedu.net.cn’

route:
receiver: ’email’

receivers:
– name: ’email’
email_configs:
– to: ‘admin@fgedu.net.cn’

# 4. 重启Prometheus
$ sudo systemctl restart prometheus

风哥提示:

Part05-风哥经验总结与分享

Prometheus+Grafana是云原生监控的标准方案,建议根据业务特点设计合理的监控指标和告警规则,避免告警过多或过少。

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

联系我们

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

微信号:itpux-com

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