Prometheus 普罗米修斯,为什么要用监控

没啥别没钱,有啥别有病

我们人 体检,目的就是希望身体健康 会不会检测出对身体不好的疾病,如果有给予治疗。但是往往我们的一些突发疾病是最致命的,平时体检呢也可能会检测不出来。

机器也是如此,所以呢机器就需要一个 能够实时监控自身的仪器 – Prometheus

为什么要监控?

  • 对系统不间断实时监控
  • 实时反馈系统当前状态
  • 保证业务持续性运行

监控什么?

大概是这些的一个维度

硬件系统 温度,硬件故障
系统监控 CPU,内存,磁盘,网卡流量,TCP状态,进程数
应用监控 Nginx,Tomcat,PHP,MySQL,Redis 等
日志监控 系统日志,服务日志,访问日志,错误日志
安全监控 WAF,敏感文件监控
API监控 可用性,接口请求,响应时间
业务监控 例如电商网站,每分钟产生多少订单,注册多少用户,多少活跃用户,推广活动效果
流量分析 根据流量获取用户相关信息,例如用户地理位置,某页面访问状况,页面停留时间等

Prometheus?

Prometheus由Go语言编写而成,采用Pull方式获取监控信息,并提供了多维度的数据模型和灵活的查询接口。
Prometheus不仅可以通过静态文件配置监控对象,还支持自动发现机制,能通过Kubernetes、Consl、DNS等多种方式动态获取监控对象。
在数据采集方面,借助Go语音的高并发特性,单机Prometheus可以采取数百个节点的监控数据;在数据存储方面,随着本地时序数据库的不断优化,单机Prometheus每秒可以采集一千万个指标,如果需要存储大量的历史监控数据,则还支持远程存储。

  • 历史:

Prometheus(普罗米修斯)是一个最初在SoundCloud上构建的系统监控。自2012年成为社区开源项目,拥有非常活跃的开发人员和用户社区。为强调开源及独立维护,Prometheus于 2016年加入云原生云计算基金会(CNCF),成为继 Kubernetes之后的第二个托管项目。

  • 介绍:

我们知道zabbix在监控界占有不可撼动的地位,功能强大。但是对容器监控显得力不从心。为解决监控容器的问题,引入了prometheus技术。prometheus号称是下一代监控。接下来的文章打算围绕prometheus做一个系列的介绍,顺便帮自己理清知识点。

prometheus是由谷歌研发的一款开源的监控软件,目前已经被云计算本地基金会托管,是继k8s托管的第二个项目。

Prometheus 特点

  • 多维数据模型:由度量名称和键值对标识的时间序列数据
  • PromSQL:一种灵活的查询语言,可以利用多维数据完成复杂的查询
  • 不依赖分布式存储,单个服务器节点可直接工作
  • 基于 HTTP的 pull方式采集时间序列数据
  • 推送时间序列数据通过 PushGateway组件支持
  • 通过服务发现或静态配置发现目标
  • 多种图形模式及仪表盘支持(grafana)

经典架构图

在这里插入图片描述

Prometheus Server 收集指标和存储时间序列数据,并提供查询接口
ClientLibrary 客户端库
Short-lived jobs 短任务暂存
Push Gateway 短期存储指标数据。主要用于临时性的任务
Jobs / exporters 长任务(如:nginx,mysql),采集已有的第三方服务监控指标暴露 metrics
Service discovery 服务发现,自动的将机器进行监控。它的存在避免了 我们自行拉入监控和写脚本
Alertmanager 出问题的及时警告
Web UI 简单的Web控制台

详细解读 -->https://www.jianshu.com/p/93c840025f01
参考原址–> github

普罗米修斯的常用语

  • 实例:
    可以抓取的目标称为实例(Instances)
  • 作业:
    具有相同目标的实例集合称为作业(Job)
发布了91 篇原创文章 · 获赞 174 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/weixin_44685869/article/details/104973751