- job_name:
static_configs:
- targets: ['target1', 'target2', ...]
labels:
label1: 'value1'
label2: 'value2'
metrics_path: '/metrics'
scheme: 'http'
params:
param1: ['value1', 'value2', ...]
basic_auth:
username: 'username'
password: 'password'
bearer_token: 'token'
scrape_interval: <interval>
scrape_timeout: <timeout>
scrape_interval_seconds: <interval>
scrape_timeout_seconds: <timeout>
proxy_url: 'http://proxy:port'
honor_timestamps: true
honor_labels: true
tls_config:
ca_file: 'ca.crt'
cert_file: 'client.crt'
key_file: 'client.key'
server_name: 'server_name'
insecure_skip_verify: false
relabel_configs:
- source_labels: ['source_label1']
target_label: 'target_label1'
action: <action>
regex: <regex>
- source_labels: ['source_label2']
target_label: 'target_label2'
action: <action>
regex: <regex>
以下是每个参数的详细解释:
-
job_name
:定义数据收集任务的名称,唯一标识该任务。 -
static_configs
:定义静态目标的列表,包含要监控的目标地址。 targets
:定义目标的地址列表,可以是IP地址或域名。labels
:为目标定义自定义标签,用于进一步区分和标识目标。metrics_path
:指定目标的指标路径,用于获取指标数据。scheme
:定义访问目标的协议,可以是http
或https
。-
params
:定义请求参数,可用于过滤和限定指标数据。 -
basic_auth
:定义基本身份验证的用户名和密码,用于访问目标。 -
bearer_token
:定义使用Bearer令牌进行身份验证的token。 scrape_interval
或scrape_interval_seconds
:定义数据收集的时间间隔,默认为15秒。scrape_timeout
或scrape_timeout_seconds
:定义每个目标的数据收集超时时间,默认为10秒。-
proxy_url
:定义代理服务器的地址和端口,用于通过代理访问目标。 -
honor_timestamps
:确定是否在接收指标时保留时间戳。 -
honor_labels
:确定是否在接收指标时保留标签。 -
tls_config
:定义TLS/SSL连接的配置参数。 -
ca_file
:指定根证书的路径。 -
cert_file
:指定客户端证书的路径。 -
key_file
:指定客户端证书的私钥路径。 -
server_name
:定义TLS握手过程中要验证的服务器名称。 -
insecure_skip_verify
:确定是否跳过对服务器证书的验证。 -
relabel_configs
:定义对目标地址的标签重写和修改规则。
通过配置这些参数,Prometheus可以定期从目标地址收集指标数据,并应用标签重写和修改规则来调整数据的格式和内容。这些参数可以根据不同的监控场景和需求进行定制。
Prometheus是一个广泛使用的开源监控系统,被许多知名产品和项目使用,如Kubernetes、Docker、Elasticsearch、Apache Kafka等。它提供了强大的数据收集和查询能力,使得监控和运维工作更加高效和可靠。
- job_name:
static_configs:
- targets: ['target1', 'target2', ...]
metrics_path: '/metrics'
scheme: 'http'
params:
param1: ['value1', 'value2', ...]
relabel_configs:
- source_labels: ['source_label1']
target_label: 'target_label1'
action: <action>
regex: <regex>
- source_labels: ['source_label2']
target_label: 'target_label2'
action: <action>
regex: <regex>
scrape_interval: <interval>
scrape_timeout: <timeout>
labels:
label1: 'value1'
label2: 'value2'
honor_labels: true
relabel_configs
详细解释如下:
relabel_configs
:这是一个列表,包含了一系列规则,用于修改和重写目标地址的标签。每个规则都由以下属性组成:
-
source_labels
:指定要使用的源标签列表,可以使用多个源标签进行匹配和操作。 -
target_label
:指定目标标签,将操作的结果写入该标签中。 action
:指定操作类型,可以是如下之一:
-
replace
:替换目标标签的值。 -
keep
:保留目标标签的值,忽略源标签的值。 -
drop
:丢弃目标标签。 -
hashmod
:将源标签的值应用哈希函数,并将结果写入目标标签。 -
labelmap
:根据源标签的值进行映射,并将结果写入目标标签。 - 更多其他操作类型。
-
regex
:可选属性,用于指定源标签值的正则表达式模式,用于匹配和操作。
scrape_interval
:指定Prometheus对目标进行数据收集的时间间隔,默认为15秒。例如:scrape_interval: 30s
表示每30秒收集一次数据。scrape_timeout
:指定Prometheus在数据收集时等待每个目标的超时时间,默认为10秒。如果超时,则会中断数据收集。例如:scrape_timeout: 5s
表示每个目标的数据收集超时时间为5秒。
通过使用relabel_configs
,可以对目标地址的标签进行过滤、修改、映射等操作,以适应不同的数据收集需求。而scrape_interval
和scrape_timeout
参数用于控制数据收集的频率和超时。