prometheus介绍与安装

举报
琴岛蛏子 发表于 2022/03/21 00:34:04 2022/03/21
【摘要】 1.prometheus 1.1什么是prometheus?     Prometheus 是由 SoundCloud 开源监控告警解决方案,从 2012 年开始编写代码,再到 2015 年 github 上开源以来,已经吸引了 31.5k+ 关注,以及很多大公司的使用;2016 年 Prometheus 成为继 k8s 后,第二名 CNCF(Cloud Native Computing ...

1.prometheus

1.1什么是prometheus?

     Prometheus 是由 SoundCloud 开源监控告警解决方案,从 2012 年开始编写代码,再到 2015 年 github 上开源以来,已经吸引了 31.5k+ 关注,以及很多大公司的使用;2016 年 Prometheus 成为继 k8s 后,第二名 CNCF(Cloud Native Computing Foundation) 成员。

1.2主要功能

  • 多维 数据模型(时序由 metric 名字和 k/v 的 labels 构成)。
  • 灵活的查询语句(PromQL)。
  • 无依赖存储,支持 local 和 remote 不同模型。
  • 采用 http 协议,使用 pull 模式,拉取数据,简单易懂。
  • 监控目标,可以采用服务发现或静态配置的方式。
  • 支持多种统计数据模型,图形化友好。

1.3磁盘容量估算

  • 平均而言,普罗米修斯每个样本仅使用大约1-2个字节
  • 1GB = 1073741824字节 ≈ 536870912条样本数据(每个样本2个字节)

1.4基础架构

image-prometheus.png

下载后解压 https://prometheus.io/download/

mac: prometheus-2.29.0-rc.0.darwin-amd64.tar.gz

tar xvfz prometheus-.tar.gz cd prometheus-

xx_exporter 提供了监控各应用端
mysqld_exporter 监控mysql
node_exporter 监控linux机器
consul_exporter 基于consul注册中心的监控

修改配置文件prometheus.yml
job_name: 作业名称
scrape_interval: 间隔
targets: 监控的目标机器

global:
  scrape_interval:     15s # By default, scrape targets every 15 seconds.

  # Attach these labels to any time series or alerts when communicating with
  # external systems (federation, remote storage, Alertmanager).
  external_labels:
    monitor: 'codelab-monitor'

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: 'prometheus'

    # Override the global default and scrape targets from this job every 5 seconds.
    scrape_interval: 5s

    static_configs:
      - targets: ['localhost:9090']

启动prometheus

二进制数据保存在./data文件下

Start Prometheus. # By default, Prometheus stores its database in ./data (flag --storage.tsdb.path).

./prometheus --config.file=prometheus.yml

可以给监控job指定labels

让我们将所有三个端点分组到一个名为node. 我们将想象前两个端点是生产目标,而第三个端点代表金丝雀实例。为了在 Prometheus 中对此进行建模,我们可以向单个作业添加多组端点,为每组目标添加额外的标签。在本例中,我们将group="production"标签添加到第一组目标,同时添加group="canary"到第二组。

scrape_configs:
  - job_name:       'node'

    # Override the global default and scrape targets from this job every 5 seconds.
    scrape_interval: 5s

    static_configs:
      - targets: ['localhost:8080', 'localhost:8081']
        labels:
          group: 'production'

      - targets: ['localhost:8082']
        labels:
          group: 'canary'

prometheus 再带了一些简单的视图

访问 http://localhost:9090/graph

image-pro2.png

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。