简介
Prometheus是最初在SoundCloud上构建的开源系统监视和警报工具包 。自2012年成立以来,许多公司和组织都采用了Prometheus,该项目拥有非常活跃的开发人员和用户社区。现在,它是一个独立的开源项目,并且独立于任何公司进行维护。为了强调这一点并阐明项目的治理结构,Prometheus 在2016年加入了 Cloud Native Computing Foundation,这是继Kubernetes之后的第二个托管项目。
- 强大的多维度数据模型。
- 时间序列数据通过 metric 名和键值对来区分。
- 所有的 metrics 都可以设置任意的多维标签。
- 数据模型更随意,不需要刻意设置为以点分隔的字符串。
- 可以对数据模型进行聚合,切割和切片操作。
- 支持双精度浮点类型,标签可以设为全 unicode。
- 灵活而强大的查询语句(PromQL):在同一个查询语句,可以对多个 metrics 进行乘法、加法、连接、取分数位等操作。
- 易于管理:Prometheus server 是一个单独的二进制文件,可直接在本地工作,不依赖于分布式存储。
- 高效:平均每个采样点仅占 3.5 bytes,且一个 Prometheus server 可以处理数百万的 metrics。
- 使用 pull 模式采集时间序列数据,这样不仅有利于本机测试而且可以避免有问题的服务器推送坏的 metrics。
- 可以采用 push gateway 的方式把时间序列数据推送至 Prometheus server 端。
- 可以通过服务发现或者静态配置去获取监控的 targets。
- 有多种可视化图形界面。
- 易于伸缩。
Prometheus架构图
各组件下载地址
环境/组件 | 版本 | 下载地址 |
---|---|---|
操作系统 | centOS7.9 | |
Prometheus | 2.30.3 | Prometheus下载地址 |
Grafana | 8.3.1 | Granfana下载地址 |
node_exporter | 1.3.1 | node_exporter下载地址 |
Grafana dashboard | Grafana dashboard地址 |
安装Prometheus
安装
tar zxf prometheus-2.30.3.linux-amd64.tar.gz -C /opt
mv /opt/prometheus-2.30.3.linux-amd64 /opt/prometheus
配置服务
$ vim /usr/lib/systemd/system/prometheus.service
# 配置prometheus服务,用于自启动
[Unit]
Description=prometheus service
[Service]
User=root
ExecStart=/opt/prometheus/prometheus --config.file=/opt/prometheus/prometheus.yml --storage.tsdb.path=/opt/prometheus/data
TimeoutStopSec=10
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
配置开机自启动
$ systemctl daemon-reload
$ systemctl enable prometheus
$ systemctl start prometheus
$ systemctl status prometheus
验证
浏览器打开IP:9090端口即可打开 prometheus 自带的监控页面: