热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

promtheus配置文件

全局配置global属于全局的默认配置,它主要包含4个属性,scrape_interval:拉取targets的默认时间间隔。scrape_timeou

全局配置

global 属于全局的默认配置,它主要包含 4 个属性,

  • scrape_interval: 拉取 targets 的默认时间间隔。
  • scrape_timeout: 拉取一个 target 的超时时间。
  • evaluation_interval: 执行 rules 的时间间隔。
  • external_labels: 额外的属性,会添加到拉取的数据并存到数据库中。
  • global:scrape_interval: 15s # By default, scrape targets every 15 seconds.evaluation_interval: 15s # By default, scrape targets every 15 seconds.scrape_timeout: 10s # is set to the global default (10s).# Attach these labels to any time series or alerts when communicating with# external systems (federation, remote storage, Alertmanager).external_labels:monitor: 'codelab-monitor'

告警配置

通常我们可以使用运行参数 -alertmanager.xxx 来配置 Alertmanager, 但是这样不够灵活,没有办法做到动态更新加载,以及动态定义告警属性。

所以 alerting 配置主要用来解决这个问题,它能够更好的管理 Alertmanager, 主要包含 2 个参数:

  • alert_relabel_configs: 动态修改 alert 属性的规则配置。
  • alertmanagers: 用于动态发现 Alertmanager 的配置。

其代码结构体定义为:

// AlertingConfig configures alerting and alertmanager related configs.
type AlertingConfig struct {AlertRelabelConfigs []*RelabelConfig `yaml:"alert_relabel_configs,omitempty"`AlertmanagerConfigs []*AlertmanagerConfig `yaml:"alertmanagers,omitempty"`// Catches all undefined fields and must be empty after parsing.XXX map[string]interface{} `yaml:",inline"`
}

配置文件结构大概为:

# Alerting specifies settings related to the Alertmanager.
alerting:alert_relabel_configs:[ - ... ]alertmanagers:[ - ... ]

其中 alertmanagers 为 alertmanager_config 数组

 

规则配置

rule_files 主要用于配置 rules 文件,它支持多个文件以及文件目录。

其代码结构定义为:

RuleFiles []string `yaml:"rule_files,omitempty"`

配置文件结构大致为:

rule_files:- "rules/node.rules"- "rules2/*.rules"


数据拉取配置

scrape_configs 主要用于配置拉取数据节点,每一个拉取配置主要包含以下参数:

  • job_name:任务名称
  • honor_labels: 用于解决拉取数据标签有冲突,当设置为 true, 以拉取数据为准,否则以服务配置为准
  • params:数据拉取访问时带的请求参数
  • scrape_interval: 拉取时间间隔
  • scrape_timeout: 拉取超时时间
  • metrics_path: 拉取节点的 metric 路径
  • scheme: 拉取数据访问协议
  • sample_limit: 存储的数据标签个数限制,如果超过限制,该数据将被忽略,不入存储;默认值为0,表示没有限制
  • relabel_configs: 拉取数据重置标签配置
  • metric_relabel_configs:metric 重置标签配置

远程可写存储

remote_write 主要用于可写远程存储配置,主要包含以下参数:

  • url: 访问地址
  • remote_timeout: 请求超时时间
  • write_relabel_configs: 标签重置配置, 拉取到的数据,经过重置处理后,发送给远程存储

远程可读存储

remote_read 主要用于可读远程存储配置,主要包含以下参数:

  • url: 访问地址
  • remote_timeout: 请求超时时间

服务发现

在 Prometheus 的配置中,一个最重要的概念就是数据源 target,而数据源的配置主要分为静态配置和动态发现, 大致为以下几类:

  • static_configs: 静态服务发现
  • dns_sd_configs: DNS 服务发现
  • file_sd_configs: 文件服务发现
  • consul_sd_configs: Consul 服务发现
  • serverset_sd_configs: Serverset 服务发现
  • nerve_sd_configs: Nerve 服务发现
  • marathon_sd_configs: Marathon 服务发现
  • kubernetes_sd_configs: Kubernetes 服务发现
  • gce_sd_configs: GCE 服务发现
  • ec2_sd_configs: EC2 服务发现
  • openstack_sd_configs: OpenStack 服务发现
  • azure_sd_configs: Azure 服务发现
  • triton_sd_configs: Triton 服务发现

配置样例

Prometheus 的配置参数比较多,但是个人使用较多的是 global, rules, scrap_configs, statstic_config, rebel_config 等。

我平时使用的配置文件大致为这样:

global:scrape_interval: 15s # By default, scrape targets every 15 seconds.evaluation_interval: 15s # By default, scrape targets every 15 seconds.rule_files:- "rules/node.rules"scrape_configs:- job_name: 'prometheus'scrape_interval: 5sstatic_configs:- targets: ['localhost:9090']- job_name: 'node'scrape_interval: 8sstatic_configs:- targets: ['127.0.0.1:9100', '127.0.0.12:9100']- job_name: 'mysqld'static_configs:- targets: ['127.0.0.1:9104']- job_name: 'memcached'static_configs:- targets: ['127.0.0.1:9150']

 

转:https://www.cnblogs.com/guxiaobei/p/8547660.html



推荐阅读
author-avatar
杨子忧愁_347
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有