下载
wget https://github.com/prometheus/prometheus/releases/download/v2.36.0/prometheus-2.36.0.linux-amd64.tar.gz
解压
解压到当前目录:
tar xvfz prometheus-2.36.0.linux-amd64.tar.gz
进入prometheus目录:
cd prometheus-2.36.0.linux-amd64
查看监控配置(默认开启监控当前机器)
vim prometheus.yml
默认配置项:
# my global config
global:
scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
# scrape_timeout is set to the global default (10s).
# Alertmanager configuration
alerting:
alertmanagers:
- static_configs:
- targets:
# - alertmanager:9093
# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
# - "first_rules.yml"
# - "second_rules.yml"
# 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"
# metrics_path defaults to '/metrics'
# scheme defaults to 'http'.
static_configs:
- targets: ["localhost:9090"]
在默认配置中,只有一个名为 prometheus 的作业,它会抓取 Prometheus 服务器公开的时间序列数据。
该作业包含一个静态配置的目标,即端口 9090 上的 localhost
运行普罗米修斯
# Start Prometheus.
# By default, Prometheus stores its database in ./data (flag --storage.tsdb.path).
./prometheus --config.file=prometheus.yml
后台运行
nohup ./prometheus --config.file=prometheus.yml &
普罗米修斯应该启动了,你可以通过浏览器访问localhost:9090
查看状态页。等待几十秒钟从它自身的http测度端点收集数据
你也可以确认普罗米修斯正在提供自身测度的服务访问:localhost:9090/metrics
使用表达式浏览器
让我们浏览普罗米修斯收集的数据。使用普罗米修内建的表达式浏览器,导航到http://localhost:9090/graph
然后Graph
标签页的Table
视图。
就像你从localhost:9090/metrics
收集到的,普罗米修斯上报一个名叫prometheus_target_interval_length_seconds
(实际从目标抓取的时间间隔)的测度。输入以下内容到表达式控制台并点击Execute
:
prometheus_target_interval_length_seconds
返回一组不同的时间序列(与最近的数值记录一起),每个都有相同的测度名称prometheus_target_interval_length_seconds
,但是有不同的标签。这些标签指明不同的延迟百分比和目标组间隔。
如果我们只对第99百分比延迟感兴趣,我们可以使用以下查询:
prometheus_target_interval_length_seconds{quantile="0.99"}
想统计时间序列的总数,可以编写以下表达式:
count(prometheus_target_interval_length_seconds)
更多关于表达式语法, 查看表达式语法文档
使用图形化接口
使用图形化表达式,导航到http://localhost:9090/graph
使用Graph
标签页。
示例,输入以下表达式展示图形:抓取普罗米修斯自身每秒的文件创建速率:
rate(prometheus_tsdb_head_chunks_created_total[1m])
实验图形化区间参数和其它设置