当前位置: 首页 > news >正文

运维日志+监控告警方案

基于Prometheus的日志+监控告警系统

Prometheus+Grafana+Alertmanager+日志栈(Loki/ELK)

整体框架

日志采集:Filebeat/Fluent Bit/Promtail
指标采集:Exporters+NodeExporter+应用埋点
存储:Prometheus(时序指标)+Loki (日志)/Elasticsearch
告警:Alertmanager
可视化:Grafana
通知渠道:钉钉/企业微信/内网搭建流程平台

组件功能

1.Prometheus

  • 存储监控指标(CPU,内存,QPS,延迟,连接数)
  • 基于PromQL做查询,聚合,告警规则计算
  • 定时拉取各类exporter指标

2.Alertmanager

  • 接收Prometheus发来的告警
  • 做去重,分组,抑制,静默,升级

3.Loki(轻量日志方案)

  • 专为云原生设计,只索引标签,不全文检索日志内容
  • 日志查询语法类似于PromQL
  • 配合Promtail采集日志
  • 可和指标在Grafana同面板展示

4.Promtail/Filebeat

  • 采集容器/宿主机/应用日志
  • 给日志打标签(app,env,instance,level)
  • 发送到Loki/ES

5.Grafana

  • 统一看板:监控图表+日志面板
  • 日志搜索,日志上下文,关联指标
  • 大盘,权限,报表

典型告警

指标类告警(Prometheus)

  • 节点CPU>90%持续5分钟
  • 内存使用>85%
  • 磁盘使用率>85%
  • 服务端口不通
  • 进程不存在
  • 接口错误率>5%
  • 接口P99延迟>500ms
  • 数据库连接数过高
  • JVM内存OOM,GC频繁

日志类告警

  • 日志出现ERROR/FATAL
日志中出现ERROR/FATAL,下一行或者附近几行会包含Exception(异常)或Traceback(堆栈跟踪)所以通常来说,需要查日志中附近的日志
window Service服务器可以直接定位查找Linux系统如下
# 显示ERROR前后5行(最常用)
grep -B 5 -A 5 "ERROR" 日志文件.log# 显示FATAL前后10行
grep -B 10 -A 10 "FATAL" 日志文件.log# 同时显示前后5行(简写)
grep -C 5 "ERROR" 日志文件.log
  • 出现OOM,Connection refused,timeout
  • 关键业务日志缺失
  • 访问日志5xx突增

部署结构

prometheus 
alertmanager 
grafana 
loki 
promtail 
node-exporter 
cadvisor(容器监控)

告警配置示例

Prometheus告警规则(CPU高负载)

groups: 
- name: node-alert rules: - alert: NodeHighCPU expr: 100 - (avg by(instance) (irate(node_cpu_seconds_total{mode="idle"}[1m])) * 100) > 90 for: 5m 
labels: 
severity: critical 
annotations: 
summary: "服务器 {{ $labels.instance }} CPU 过高" description: "CPU 持续 5 分钟 > 90%,当前值:{{ $value }}%"

Alertmanager钉钉/企业微信路由


route: 
group_by: ['alertname'] 
group_wait: 10s 
group_interval: 10s 
repeat_interval: 1h 
receiver: 'dingtalk' receivers: 
- name: 'dingtalk' webhook_configs: 
- url: 'https://oapi.dingtalk.com/robot/send?access_token=xxx'
http://www.jsqmd.com/news/507214/

相关文章:

  • 踩坑实录:PageHelper 分页后筛选数据致总条数异常?原理 + 解决方案
  • LLVM项目贡献指南:如何参与开源编译器开发成为核心贡献者
  • 终极Odoo缓存优化指南:从ORM查询加速到Redis配置全攻略
  • Apache DataFusion算子实现终极指南:从零到一的完整教程
  • 2026年黑龙江值得推荐的变速箱配件销售公司,服务区域全涵盖 - mypinpai
  • 终极指南:macFUSE内核接口演进与IO Kit到DriverKit的完整迁移
  • 2026年河北地区聚氨酯异形件服务商排名,哪家口碑好值得选 - 工业品网
  • 在什么情况下,不推荐为数据库建立索引?
  • 分析2026年金昌橡塑性价比,金昌橡塑的财务状况稳定吗有答案 - 工业品网
  • Python实战:基于RealSense与JAKA机械臂的手眼标定全流程解析
  • 终极缓动函数指南:从命名规范到实战应用的完整教程
  • Lychee-Rerank模型微调实战:使用领域数据提升垂直搜索效果
  • 2026年雅思线上课程是如何高效提分的? - 品牌2025
  • 什么是 Write-Ahead Logging (WAL) 技术?它的优点是什么?MySQL 中是否用到了 WAL?
  • 深入理解LLVM类型系统:编译器类型检查的完整指南
  • 如何通过osxfuse实现macOS Server网络存储扩展:完整指南
  • 手办卖家看过来:如何用Nano Banana零成本生成‘开箱测评’级产品图?(避坑指南)
  • 告别HDR照片发灰!用Gain Map技术让你的iPhone 15 Pro照片在不同设备上都能正确显示
  • 告别USB线!用Runtime Inspector在真机上实时调试Unity UI,保姆级配置流程
  • Qwen-Image入门指南:Qwen-VL模型权重加载机制、缓存路径与首次冷启动优化技巧
  • 2026年聚氨酯异形件哪个品牌口碑佳又经验丰富 - 工业品牌热点
  • 终极指南:如何通过kube-bench与Kyverno集成实现Kubernetes策略执行与合规检测闭环
  • 如何搭建osxfuse跨版本兼容性测试框架:完整自动化测试指南
  • 2026自动流式加样系统公司实力排名|龙头企业盘点 - 品牌推荐大师1
  • 校园网多设备共享终极方案:UA2F插件+防火墙规则全配置指南
  • 神经声码器全解析:从WaveNet到产业未来,一文读懂AI语音合成的核心引擎
  • LVGL实战:从零构建自定义图标字体库,赋能嵌入式中文UI
  • 如何参与sebastian/diff社区讨论:新手必备的热点话题指南
  • VS2019实战:用Quirc库快速解析嵌入式设备中的二维码(附镜像处理技巧)
  • 多维解析:2026 智能咖啡机哪家服务好、质量好、牌子好? - 品牌2026