prometheus 介绍与安装
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 基础架构
下载后解压 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.ymljob_name: 作业名称 scrape_interval: 间隔 targets: 监控的目标机器
启动 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"到第二组。
prometheus 再带了一些简单的视图
访问 http://localhost:9090/graph
评论