前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Prometheus】2. 概述及部署

【Prometheus】2. 概述及部署

原创
作者头像
历久尝新
发布2021-05-01 17:01:03
5120
发布2021-05-01 17:01:03
举报
文章被收录于专栏:学而时习之学而时习之

概述

1. Prometheus是什么

简介

Prometheus 是由 SoundCloud 开源监控告警解决方案。2012年成为在社区开源,拥有非常活跃的开发人员和用户社区,Prometheus于2016年加入云原生计算基金会(CNCF),成为继k8s之后的第二个托管项目。

https://prometheus.io/

https://github.com/prometheus

特点

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

2. Prometheus组成以及架构

  • 数据采集:
    • Push gateway:短期存储指标数据,主要用于临时性任务
    • jobs/exporters:采集已有的第三方服务监控指标并暴露metrics,类似sql/http任务,通过jobs(类似http会暴露metrics接口供Prometheus抓取) 或者 exporters(监控agent,获取不同的数据源,再通过Prometheus serve抓取)
  • Prometheus Server:收集并存储时间序列数据库,并提供查询接口
  • Service discovery:服务发现与监控原生支持k8s全方位监控
  • WEB UI:通过PromQL查看数据,Prometheus web UI(简单的web控制台),grafana,API clients
  • Alertmanager:监控告警组件,支持email/wechat
  • ClientLibray:客户端库,支持python java golang等,支持暴露metrics

3. 数据模型

  • Prometheus 将所有数据存储为时间序列,具有相同度量名称以及标签属于同一个指标;
  • 每一个时间序列都有度量标准名称和一组的键值对(也称为标签)
  • 时间序列格式: <metric name>{<label name>=<label value>, ...}

示例:api_http_requests_total{method="POST", handler="/messages"}

4. 指标类型

  • counter:递增的计数器
  • gauge:可以任意变化的数值
  • histogram:对一段时间范围内数据进行采样,并对所有数据数值求和与统计数量
  • summary:与histogram类似

5. 作业和实例

实例:可以抓取的目标成为实例(Instances)

作业:具有相同目标的实例集合称为作业(jobs)

部署

1. 二进制部署

  • 下载二进制包:prometheus.io
  • 解压prometheus:tar -zxvf prometheus-2.26.0.linux-amd64.tar.gz
  • 修改工作目录:mv prometheus-2.26.0.linux-amd64 /usr/local/prometheus
  • 进入工作目录:cd /usr/local/prometheus
  • 查看参数说明:./prometheus --help
  • 配置服务:
    • cd /usr/lib/systemd/system
    • vim prometheus.service
    • systemctl daemon-reload
vim prometheus.service
vim prometheus.service
  • 启动服务:systemctl start prometheus
  • 停止服务:systemctl stop prometheus

2. docker部署

docker run \ -p 9090:9090 \ -v /path/to/prometheus.yml:/etc/prometheus/prometheus.yml \ prom/prometheus

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 概述
    • 1. Prometheus是什么
      • 简介
      • 特点
    • 2. Prometheus组成以及架构
      • 3. 数据模型
        • 4. 指标类型
          • 5. 作业和实例
          • 部署
            • 1. 二进制部署
              • 2. docker部署
              相关产品与服务
              前端性能监控
              前端性能监控(Real User Monitoring,RUM)是一站式前端监控解决方案,专注于 Web、小程序等场景监控。前端性能监控聚焦用户页面性能(页面测速,接口测速,CDN 测速等)和质量(JS 错误,Ajax 错误等),并且联动腾讯云应用性能监控实现前后端一体化监控。用户只需要安装 SDK 到自己的项目中,通过简单配置化,即可实现对用户页面质量的全方位守护,真正做到低成本使用和无侵入监控。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档