抓取和发现
使用 Kapacitor 的发现和抓取功能,可以从远程目标的动态列表中拉取数据。将这些功能与 TICKscript 结合使用,以监控目标、处理数据并将数据写入 InfluxDB。目前,Kapacitor 仅支持 Prometheus 风格的目标。
注意:抓取和发现目前处于技术预览阶段。后续版本中配置和行为可能会发生更改。
内容
概述
下图概述了使用 Kapacitor 发现和抓取数据的基础设施。
图 1 – 抓取和发现工作流程

- 首先,Kapacitor 实现发现过程,以识别您基础设施中可用的目标。它定期请求该信息,并从权威机构接收该信息。在图中,权威机构告知 Kapacitor 三个目标:
A
、B
和C
。 - 接下来,Kapacitor 实现抓取过程,以从现有目标中拉取指标数据。它定期运行抓取过程。在这里,Kapacitor 从目标
A
、B
和C
请求指标。在A
、B
和C
上运行的应用程序在其 HTTP API 上公开一个/metrics
端点,该端点返回特定于应用程序的统计信息。 - 最后,Kapacitor 根据配置的 TICKscript 处理数据。使用 TICKscript 对指标数据进行过滤、转换和执行其他任务。此外,如果数据应存储,请配置 TICKscript 将其发送到 InfluxDB。
推送与拉取指标
通过将发现与抓取相结合,Kapacitor 使指标收集基础设施能够从目标拉取指标,而不是要求它们将指标推送到 InfluxDB。在目标可能具有短暂生命周期的动态环境中,拉取指标具有多个优势。
配置抓取器和发现器
单个抓取器从单个发现器抓取目标。配置抓取器和发现器归结为分别配置每个抓取器和发现器,然后告知抓取器关于发现器的信息。
以下是抓取器的所有配置选项。
示例 1 – 抓取器配置
[[scraper]]
enabled = false
name = "myscraper"
# ID of the discoverer to use
discoverer-id = ""
# The kind of discoverer to use
discoverer-service = ""
db = "mydb"
rp = "myrp"
type = "prometheus"
scheme = "http"
metrics-path = "/metrics"
scrape-interval = "1m0s"
scrape-timeout = "10s"
username = ""
password = ""
bearer-token = ""
ssl-ca = ""
ssl-cert = ""
ssl-key = ""
ssl-server-name = ""
insecure-skip-verify = false
可用发现器
Kapacitor 支持以下服务进行发现
名称 | 描述 |
---|---|
azure | 发现托管在 Azure 中的目标。 |
consul | 使用 Consul 服务发现发现目标。 |
dns | 通过 DNS 查询发现目标。 |
ec2 | 发现托管在 AWS EC2 中的目标。 |
file-discovery | 发现文件中列出的目标。 |
gce | 发现托管在 GCE 中的目标。 |
kubernetes | 发现托管在 Kubernetes 中的目标。 |
marathon | 使用 Marathon 服务发现发现目标。 |
nerve | 使用 Nerve 服务发现发现目标。 |
serverset | 使用 Serversets 服务发现发现目标。 |
static-discovery | 静态列出目标。 |
triton | 使用 Triton 服务发现发现目标。 |
有关配置每个发现器的详细信息,请参阅示例 配置文件。
此页是否对您有帮助?
感谢您的反馈!