开源监控系统Prometheus基本介绍及应用展示

Prometheus是一个Google开源的服务监控系统,它通过HTTP协议收集服务数据并存储在本地的时序数据库上。

作为新一代的监控系统,Prometheus具有以下特点:

  1. 多维数据模型:时间序列由指标名称定义和键/值设置;

  2. PromSQL:一种灵活的查询语言,可以利用多维数据完成复杂的查询;

  3. 不依赖分布式存储,单节点即可运行;

  4. 基于HTTP的Pull方式采集时间序列数据;

  5. 通过中间网关支持推送时间序列

  6. 通过服务发现或静态配置发现目标

  7. 丰富的图形及仪表盘显示支持

Prometheus架构

Prometheus根据配置定时去拉取各个节点的数据,也可以使用中间网关Pushgateway的方式进行数据push,实际使用的过程通常使用exporter(如mysqld_exporter、redis_exporter等)将metrics时序数据暴露给普罗米修斯。Alertmanager用于告警,Web UI展示通常使用Grafana。

Prometheus数据模型

Prometheus采集到的监控数据均以metric指标)形式保存在时序数据库TSDB中。

metric格式:

<metric name>{<label name>=<label value>, ...}

示例:

api_http_requests_total{method="GET", handler="/index"}

指标是“api_http_requests_total”,表示通过GET方法请求首页API的总数。

安装方法

Prometheus

docker pull prom/prometheus
docker run --name prometheus -d -p 127.0.0.1:9090:9090 prom/prometheus

Grafana

docker pull grafana/grafana
docker run -d --name=grafana -p 3000:3000 grafana/grafana

Grafana将Prometheus作为数据来源,配合强大的Dashboard功能,就能为我们提供立体式的监控。

通过这套开源的系统,我们就能轻松完成对Nginx、MySQL、Redis等日常服务的监控。

扫码关注我的公众号,获取最新文章!

发布了86 篇原创文章 · 获赞 70 · 访问量 23万+

猜你喜欢

转载自blog.csdn.net/wuxing26jiayou/article/details/105303211