本文主要讲解两个常用配置,prometheus.yml、rules.yml 分别可在 WebUI 上查看 Configuration 和 Rules,作用于配置 Exporter 采集和告警规则,对于 我们日常使用很有帮助。
prometheus.yml
一个 Exporter 启动之后,如何配置让 server 拉取它的数据,就是在 prometheus-server 启动时,配置文件 prometheus.yml 中填写要抓取数据的 Exporter 的地址。
启动 server 时加载配置文件
./prometheus --config.file=prometheus.yml
可以按照需要增加 scrape_configs 中的 job,涉及到参数详细如下:
• scrape_interval: 抓取间隔,默认继承 global 值。(常用)
• scrape_timeout: 抓取超时时间,默认继承 global 值。(常用)
• metric_path: 抓取路径, 默认是/metrics。(常用)
• scheme: 指定采集使用的协议,http 或者 https。(常用)
• params: 指定 url 参数。
• static_configs: 静态指定服务 job。
• targets:Exporter 的地址,可以写多个。(必填)
• relabel_config: relabel 设置。 除了 scrape_configs 外,上部还有 global 和 rule_files 部分, 其中 global 中 是 全 局 参 数 , scrape_interval 指 定 全 局 默 认 的 时 间 间 隔 , evaluation_interval 指定告警规则校验的时间间隔,rule_files 指定了告警规 则文件的位置名称。下一篇介绍有关告警规则的编写。
rules.yml
模板标准:
示例:
• name: 规则组名称,必须唯一
• alert:告警的名称
• expr:告警表达式
• for:持续时间
• labels(标签):语句允许指定一组标签附加警报上。将覆盖现有冲突 的任何标签,标签值也可以被模板化
• annotations(注释):它们被用于存储更长的其他信息,例如警报描述 或者链接,注释值也可以被模板化。
• Rules 文件生效后,如果有触发规则的告警,会在 Prometheus-alerts 页面显示。红色说明有告警。