Prometheus基本介绍和优点说明

1. 基本介绍

Prometheus是一个开源的完整监控解决方案,形成了基于中央化的规则计算、统一分析和告警的新模型

2. 优点

2.1 易于管理

  • Prometheus基于Pull模型的架构方式,可以在任何地方搭建我们的监控系统
  • Prometheus服务发现(Service Discovery)的能力,动态管理监控目标。比如Kubernetes启动了3个Nginx,后面访问并发变高,又动态启动了2个Nginx副本,Prometheus也能动态的发现新启动的2个Nginx

2.2 监控服务的内部运行状态

Prometheus提供了丰富的Client库,可以轻松的在应用程序中添加对Prometheus 的支持,从而让用户可以获取服务和应用内部真正的运行状态

2.3 强大的数据模型

所有采集的监控数据均以指标(metric)的形式保存在内置的时间序列数据库当中
(TSDB)。每一条时间序列由指标名称(Metrics Name)以及一组标签(Labels)唯一标识,并包含一系列按时间排列的指标值。基于Labels可以方便地对监控数据进行聚合、过滤、裁剪

2.4 强大的查询语言PromQL

Prometheus内置了一个强大的数据查询语言 PromQL。 通过 PromQL 可以实现对
监控数据的查询、聚合。同时PromQL也被应用于数据可视化(如Grafana)以及告警当中

2.5 可扩展

可以在每个数据中心运行独立的单个Prometheus Sevrer。当单个Prometheus
Server处理的任务量过大时,通过使用功能分区(sharding)+联邦集群(federation)形成一个逻辑集群

2.6 易于集成

目前支持多种编程语言的客户端SDK,可以快速让应用程序纳入到Prometheus的监控当中。同时Prometheus还支持与其他的监控系统进行集成,比如Graphite、Statsd、Collected、Scollector、muini、Nagios等。 Prometheus社区还提供了大量第三方实现的监控数据采集支持,比如JMX、CloudWatch、EC2、MySQL、PostgresSQL、Haskell、Bash、SNMP、Consul、Haproxy、Mesos、Bind、CouchDB、Django、Memcached、RabbitMQ、Redis、RethinkDB、Rsyslog等

2.7 可视化

Prometheus Server中自带的Prometheus UI,可以方便地直接对数据进行查询,并且支持直接以图形化的形式展示数据

同时Prometheus还提供了一个独立的基于Ruby On Rails的Dashboard解决方案 Promdash

最新的Grafana可视化工具也已经提供了完整的Prometheus支持,基于Grafana 可
以创建更加精美的监控图标

基于Prometheus提供的API还可以实现自己的监控可视化UI

猜你喜欢

转载自blog.csdn.net/yy8623977/article/details/125277010