基于Prometheus+Grafana的应用监控系统建设(一)

本文涉及的产品
可观测监控 Prometheus 版,每月50GB免费额度
可观测可视化 Grafana 版,10个用户账号 1个月
简介: - 主流监控方案比较- Prometheus + Grafana 优缺点- 智能运维- 自动化部署- 样例

Prometheus + Grafana 应用级监控方案(1)-概述

主流监控方案比较

比较项 Prometheus+Grafana Zabbix BKCE
整体方案 Prometheus更像一个“监控引擎”,文本配置,UI极简,适用于应用级监控,配合Grafana配置界面,UI够漂亮 传统监控,以IP为监控主目标,更适合于主机、网络监控,对SNMP支持很好,带PHP界面,可自行扩展但整体界面不够“靓” 腾讯蓝鲸社区版,运维及CMDB功能非常强大,PaaS,DevOps,社区版的监控是PaaS之上的APP,专业性、扩展性均一般(据说企业版很强大),开源生态较一般
监控目标 exporter-Pull模型,更安全,性能影响小 Agent-Push方式,部署复杂 Agent-重点在于下发指令及文件传输(BT),监控只是顺带功能,支持自动远程部署
支持 数据库/中间件/应用/硬件,开源生态圈丰富 对SNMP支持特别好,偏硬件、网络、服务器,对应用级监控支持一般 支持常用的监控项,要扩展不是一般的麻烦
存贮 自带TDB及外部数据库,建议使用外部InfluxDB Mysql/PostgreSQL,对时序类的支持不好 InfluxDB+Mysql
UI 建议使用Grafana配置方式 PHP,自定义扩展,界面一般 有限几种展示,扩展就别想了(社区版)
性能 10万数据/秒,GO语言的程序,性能值得信赖 一般,个人认为Mysql不适合用于存监控数据 BKCE自身较占资源,必竟它的使用场景是“上万台服务器下的自动运维、监控”,小场景下无优势
告警 类SQL方式脚本化配置,建议将告警放到Grafana,告警时能带图片+链接,很友好 事件+条件+操作,较完整的告警体系 告警规则较死板,通过BKCE的消息通道推送,支持微信、短信等(自家产品)

参考资料

其它方案

  • Elastic stack

    • 以ElasticSearch为核心件,Beats为其监控扩展插件,Kibana为UI展示端的“全家桶”方案
    • Filebeat + ES + Kibana 组成的日志分析型监控,无出其右者!
    • 支持常用的OS、数据库、中间件等多种Beat,UI界面友好
    • 扩展性一般、第三方扩展资源较少
    • 企业级应用需要用到权限、远程同步等安全及高级功能,则需要购买xpack许可,可不便宜

Prometheus + Grafana 方案小结

  • 引擎 + UI ,较好地体现了“Unix哲学”之一: 让程序只做一件事并把它做好,Unix最伟大的功能之一”管道“就是这个体现," ls |grep | sort |wc " 这种操作,相信作为运维人员是很熟悉的
  • yml配置文件而非界面配置:开发人员写文档更喜欢 markdown而非Word/Notepad,编辑配置同理
  • export设计简洁:Don't call me,I will call you!
  • TDB及RDB-InfluxDB: 非时序型数据库的监控方案不应该被采用,除非数据量很小
  • Prometheus 这个名字太美,就像Eclipse的名字一样美妙--自行体会吧

方案不足之处

  • Prometheus自身的扩展不方便,Go语言写的代码,到处是协程、管道,要读懂处理过程还是比较麻烦的
  • 吐槽一下:Golang由于众所周知的原因,编译时下载依赖包及编译环境初始化有些障碍,这不是事,我从没见过一个程序编译需要8CPU全跑满,几分钟后告诉你”XX变量申明但没有使用,编译失败!“这种体验!
  • 关于告警:Prometheus的告警方案体验一般,Grafana的告警方案不够灵活,两者都不太理想,能结合一下就完美
  • 自动部署:BKCE的监控模块有一大优点是能通过它自己的NodeMan远程自动部署,”能让机器完成的事,不浪费程序员一秒钟“,在本方案中均需要手工配置完成监控系统、exports、view、Alert等工作

智慧运维之监控系统

  • 增加自动部署子系统,完成大部分监控对象的批量自动化部署,极大提升监控开发、部署的效率
  • 修改自动化部署配置文件 --> 一键部署,完成监控数据采集、监控展示界面、监控告警输出等过程
  • 扩展Prometheus 的 UI部分,集成自动部署工具及Grafana的扩展界面(如:交换机状态图、运维窗口设置等)
  • 扩展Grafana,增加几个有用的显示插件
  • 通过Grafana的 webhook增加告警输出处理(如优化钉钉推送,告警信息反向推送至Granfna界面等)

自动化部署方案

自动化部署示例

监控及告警示例

如对我们的产品有兴趣,请联系: tianhc@tythin.com

相关实践学习
通过可观测可视化Grafana版进行数据可视化展示与分析
使用可观测可视化Grafana版进行数据可视化展示与分析。
相关文章
|
2月前
|
存储 数据采集 Prometheus
Grafana Prometheus Altermanager 监控系统
Grafana、Prometheus 和 Alertmanager 是一套强大的开源监控系统组合。Prometheus 负责数据采集与存储,Alertmanager 处理告警通知,Grafana 提供可视化界面。本文简要介绍了这套系统的安装配置流程,包括各组件的下载、安装、服务配置及开机自启设置,并提供了访问地址和重启命令。适用于希望快速搭建高效监控平台的用户。
123 20
|
2月前
|
Prometheus 监控 Cloud Native
Prometheus+Grafana监控Linux主机
通过本文的步骤,我们成功地在 Linux 主机上使用 Prometheus 和 Grafana 进行了监控配置。具体包括安装 Prometheus 和 Node Exporter,配置 Grafana 数据源,并导入预设的仪表盘来展示监控数据。通过这种方式,可以轻松实现对 Linux 主机的系统指标监控,帮助及时发现和处理潜在问题。
167 7
|
2月前
|
Prometheus 监控 前端开发
Grafana 安装配置教程,让你的 Prometheus 监控数据变得更美观
《Grafana安装配置教程,让你的Prometheus监控数据变得更美观》简介: Grafana是一个开源的度量分析与可视化工具,支持多种数据源(如Prometheus),提供丰富的可视化功能和警报机制。本文详细介绍了Grafana的安装、汉化方法及模板使用,帮助用户轻松创建美观、灵活的数据面板,并实现数据的协作与共享。通过Docker镜像、配置文件修改或替换前端页面等方式实现汉化,让用户更便捷地使用中文界面。此外,还提供了导入JSON格式模板的具体步骤,方便快速搭建仪表盘。
81 2
|
2月前
|
Prometheus 监控 Cloud Native
无痛入门Prometheus:一个强大的开源监控和告警系统,如何快速安装和使用?
Prometheus 是一个完全开源的系统监控和告警工具包,受 Google 内部 BorgMon 系统启发,自2012年由前 Google 工程师在 SoundCloud 开发以来,已被众多公司采用。它拥有活跃的开发者和用户社区,现为独立开源项目,并于2016年加入云原生计算基金会(CNCF)。Prometheus 的主要特点包括多维数据模型、灵活的查询语言 PromQL、不依赖分布式存储、通过 HTTP 拉取时间序列数据等。其架构简单且功能强大,支持多种图形和仪表盘展示模式。安装和使用 Prometheus 非常简便,可以通过 Docker 快速部署,并与 Grafana 等可
251 2
|
3月前
|
Prometheus 运维 监控
智能运维实战:Prometheus与Grafana的监控与告警体系
【10月更文挑战第26天】Prometheus与Grafana是智能运维中的强大组合,前者是开源的系统监控和警报工具,后者是数据可视化平台。Prometheus具备时间序列数据库、多维数据模型、PromQL查询语言等特性,而Grafana支持多数据源、丰富的可视化选项和告警功能。两者结合可实现实时监控、灵活告警和高度定制化的仪表板,广泛应用于服务器、应用和数据库的监控。
385 3
|
2月前
|
Prometheus 运维 监控
Prometheus+Grafana+NodeExporter:构建出色的Linux监控解决方案,让你的运维更轻松
本文介绍如何使用 Prometheus + Grafana + Node Exporter 搭建 Linux 主机监控系统。Prometheus 负责收集和存储指标数据,Grafana 用于可视化展示,Node Exporter 则采集主机的性能数据。通过 Docker 容器化部署,简化安装配置过程。完成安装后,配置 Prometheus 抓取节点数据,并在 Grafana 中添加数据源及导入仪表盘模板,实现对 Linux 主机的全面监控。整个过程简单易行,帮助运维人员轻松掌握系统状态。
258 3
|
2月前
|
Prometheus Cloud Native Linux
Prometheus+Grafana新手友好教程:从零开始搭建轻松掌握强大的警报系统
本文介绍了使用 Prometheus 和 Grafana 实现邮件报警的方案,包括三种主要方法:1) 使用 Prometheus 的 Alertmanager 组件;2) 使用 Grafana 的内置告警通知功能;3) 使用第三方告警组件如 OneAlert。同时,详细描述了环境准备、Grafana 安装配置及预警设置的步骤,确保用户能够成功搭建并测试邮件报警功能。通过这些配置,用户可以在系统或应用出现异常时及时收到邮件通知,保障系统的稳定运行。
144 1
|
3月前
|
Prometheus 监控 Cloud Native
基于Docker安装Grafana和Prometheus
Grafana 是一款用 Go 语言开发的开源数据可视化工具,支持数据监控和统计,并具备告警功能。通过 Docker 部署 Grafana 和 Prometheus,可实现系统数据的采集、展示和告警。默认登录用户名和密码均为 admin。配置 Prometheus 数据源后,可导入主机监控模板(ID 8919)进行数据展示。
146 2
|
3月前
|
Prometheus 运维 监控
智能运维实战:Prometheus与Grafana的监控与告警体系
【10月更文挑战第27天】在智能运维中,Prometheus和Grafana的组合已成为监控和告警体系的事实标准。Prometheus负责数据收集和存储,支持灵活的查询语言PromQL;Grafana提供数据的可视化展示和告警功能。本文介绍如何配置Prometheus监控目标、Grafana数据源及告警规则,帮助运维团队实时监控系统状态,确保稳定性和可靠性。
360 0
|
6月前
|
Prometheus 监控 Cloud Native
prometheus学习笔记之Grafana安装与配置
prometheus学习笔记之Grafana安装与配置