活学活用Prometheus(二):Prometheus安装方法

欢迎来到Prometheus教程的安装篇!

Prometheus 通过在目标节点的 HTTP 端口上采集 metrics(遥测专用词,度量指标)来监控目标节点,本文教你怎么安装、配置和使用Prometheus。你可以在本地下载并运行 Prometheus,配置采集自身和示例应用的运行数据,然后使用查询语句、规则和图形工具来使用收集到的时间序列数据。

下载Prometheus

下载适合你所使用系统的最新版本的(下载地址:

https://prometheus.io/download)Prometheus,执行以下命令解压:

tar xvfz prometheus-*.tar.gz
cd prometheus-*

Prometheus服务是一个名为prometheus(或Microsoft Windows上的prometheus.exe)的二进制文件。可以通过传 --help 参数来运行二进制文件查看帮助内容

./prometheus --help
usage: prometheus [<flags>]

The Prometheus monitoring server

. . .

在启动Prometheus之前,先做一些配置。

配置Prometheus

Prometheus的配置文件是YAML格式的,下载的Prometheus文件包里面有一个示例配置文件,文件名称是prometheus.yml,可以参考这个示例文件进行配置。

如下的例子是已经删除了大多数注释后的,以使其更加简洁(注释是以#为前缀的行)。

global:
  scrape_interval:     15sevaluation_interval: 15srule_files:
  # - "first.rules"
  # - "second.rules"scrape_configs:
  - job_name: prometheus
    static_configs:
      - targets: ['localhost:9090']

在示例配置文件中有三个配置块:global、rule_files和scrape_configs。

global配置块用来控制Prometheus服务的全局配置。global有两个配置项,第一个是scrape_interval,控制Prometheus抓取目标数据的频率。可以针对每个目标单独配置来覆盖这里的配置。在本例中,全局设置是每15秒抓取一次。evaluation_interval配置项作用是控制Prometheus评估规则的频率。Prometheus使用规则来创建新的时间序列并生成警报。

rule_files配置块用来指定我们希望Prometheus服务加载规则的位置。本例中没有规则。

scrape_configs配置块用来控制Prometheus监控的资源。由于Prometheus可以将自己的数据在HTTP端口上公开,因此它也可以抓取和监控自己的运行状况。在默认配置中,有一个名称为prometheus的job,它抓取由prometheus服务公开的时间序列数据。该job包含一个静态配置的目标,即localhost的9090端口。Prometheus默认通过/metrics路径收集metrics。因此这个默认job是通过

http://localhost:9090/metrics 这个URL进行抓取。

返回的时间序列数据可以详细监控到Prometheus服务器的状态和性能。

完整配置选项说明请查看配置文档

https://prometheus.io/docs/introduction/first_steps/

启动Prometheus

1、使用二进制文件启动Prometheus

切换到Prometheus二进制文件所在路径,执行如下命令来使用上一步刚创建的配置文件启动Prometheus

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

2、使用docker启动Prometheus

第一种是和宿主机共享配置文件 prometheus.yml:

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

第二种是和宿主机共享包含 prometheus.yml 的文件夹

dockerrun \
    -p 9090:9090 \
    -v /path/to/config:/etc/prometheus \
    prom/prometheus

此时 Prometheus 应该已经启动了。可以通过浏览器打开 localhost:9090。稍等30秒左右 Prometheus 就可以从自己的 HTTP metrics 端点收集到自己的数据了。

可以访问 metrics 端点 localhost:9090/metrics 验证 Prometheus 是否正在提供 metrics 服务。

使用表达式浏览器

我们来看下 Prometheus 收集到的关于自己的 metrics 数据。为了使用 Prometheus 内置的表达式浏览器,访问

http://localhost:9090/graph 并选择"Graph" 标签页中的 “Table” 视图。

正如可以从 localhost:9090/metrics 收集 metrics,Prometheus 暴露的一个度量指标称为

promhttp_metric_handler_requests_total(Prometheus服务的/metrics接口请求量)。继续在表达式控制台输入:

promhttp_metric_handler_requests_total

会返回许多不同的时间序列(以及为每个时间序列记录的最新值),它们都使用度量名称

promhttp_metric_handler_requests_total,但是使用了不同的标签。这些标签表示不同的请求状态。

如果只想查HTTP状态码为200的请求,可以使用如下语句查询:

promhttp_metric_handler_requests_total{code="200"}

要计算时间序列数据的总量,可以这样写:

count(promhttp_metric_handler_requests_total)

更多表达式语言,请查看文档

https://prometheus.io/docs/querying/basics/

使用绘图接口

访问

http://localhost:9090/graph 并选择"Graph" 标签页,打开图形绘制界面

例如,输入以下表达式来绘制 Prometheus 自我采集http状态码为200的速率:

rate(promhttp_metric_handler_requests_total{code="200"}[1m])

你也可以自己尝试使用图形范围参数和其他设置看下效果。

监控其他目标

Prometheus不仅仅只能收集自身的metrics。为了更好地了解Prometheus可以做什么,建议多查看关于其他exporters的文档。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

路多辛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值