Flink 允许向外部系统报告指标。有关 Flink 公制系统的更多信息,请访问 公制系统文档。
Reporter
通过在 conf/flink-conf.yaml 中配置一个或多个报告器,可以向外部系统公开指标。这些报告器将在启动时在每个作业和任务管理器上实例化。
- metrics.reporter..:通用设置报告器命名。
- metrics.reporter..class:用于报告器的跟踪器类,命名为
- metrics.reporter..factory.class:报告方工厂类使用,为报告器命名
- metrics.reporter..interval: 用于名为的报告器的报告器间隔
- metrics.reporter..scope.delimiter:用于名为 的报告器的标识符(默认值使用 metrics.scope.delimiter)的分隔符。
- metrics.reporter..scope.variables.excludes:(可选)分号 (;)基于标签的报告者应该忽略的变量的单独列表(例如,Prometheus,InfluxDB)。
- metrics.reporters: (可选)以逗号分隔的包含报告者姓名列表。默认情况下,将使用所有已配置的报告器。
- metrics.reporter..scope.variables.additional: (可选)变量及其值的逗号分隔映射,由冒号 (😃 分隔。这些映射由基于标签的报告器(例如Prometheux,InfluxDB)添加到变量映射中。
所有报告者必须至少具有类或工厂.class属性。可以/应该使用哪个属性取决于报告器实现。有关详细信息,请参阅各个报告器配置部分。某些报告器(称为“计划”)允许指定报告间隔。下面将列出特定于每个报告器的更多设置。
指定多个报告器的示例报告器配置
metrics.reporters: my_jmx_reporter,my_other_reporter
metrics.reporter.my_jmx_reporter.factory.class: org.apache.flink.metrics.jmx.JMXReporterFactory
metrics.reporter.my_jmx_reporter.port: 9020-9040
metrics.reporter.my_jmx_reporter.scope.variables.excludes: job_id;task_attempt_num
metrics.reporter.my_jmx_reporter.scope.variables.additional: cluster_name:my_test_cluster,tag_name:tag_value
metrics.reporter.my_other_reporter.class: org.apache.flink.metrics.graphite.GraphiteReporter
metrics.reporter.my_other_reporter.host: 192.168.1.1
metrics.reporter.my_other_reporter.port: 10000
要点:当Flink启动时,包含reporter程序的jar必须是可访问的。支持factory.class属性的记者可以作为插件加载。否则jar必须放在/lib文件夹中。默认情况下,Flink附带的reporter(即本页记录的所有reporter)是可用的。
您可以通过实现org.apache.flink.metrics.reporter.MetricReporter接口来编写自己的Reporter。如果Reporter应该定期发送报告,那么您也必须实现Scheduled接口。通过另外实现MetricReporterFactory,您的reporter也可以作为插件加载。
以下部分列出了支持的reporter。
JMX
(org.apache.flink.metrics.jmx.JMXReporter)
您不必包含额外的依赖项,因为JM

本文档详细介绍了Apache Flink如何通过配置不同的报告器(如JMX、Graphite、InfluxDB、Prometheus等)将指标暴露给外部系统。每个报告器都有其特定的参数和配置示例,允许用户自定义端口、主机、协议等。报告器的配置在flink-conf.yaml文件中进行,且必须在Flink启动时提供相应的jar包。此外,还提供了如何创建自定义报告器的信息。

被折叠的 条评论
为什么被折叠?



