我无法看到从flink发送到statsd的统计信息。已经在JM和TMs / lib文件夹中放置了flink-metrics-statsd-1.4.1.jar。 使用下面的代码,我希望看到“myCounter”作为一个潮流数据库系列。但是涌入数据库中没有任何内容,因此格拉法纳没有任何表现。有什么建议?谢谢!
public class StatsdCounter extends RichMapFunction<String, String> {
private transient Counter counter;
@Override
public void open(Configuration config) {
this.counter = getRuntimeContext()
.getMetricGroup()
.counter("myCounter");
}
@Override
public String map(String value) throws Exception {
this.counter.inc();
return value;
}
在flink-conf.yaml中,
metrics.scope.jm: <host>.jobmanager
metrics.scope.jm.job: <host>.jobmanager.<job_name>
metrics.scope.tm: <host>.taskmanager.<tm_id>
metrics.scope.tm.job: <host>.taskmanager.<tm_id>.<job_name>
metrics.scope.task: <host>.taskmanager.<tm_id>.<job_name>.<task_name>.<subtask_index>
metrics.scope.operator: <host>.taskmanager.<tm_id>.<job_name>.<operator_name>.<subtask_index>
metrics.reporters: stsd
metrics.reporter.stsd.class: org.apache.flink.metrics.statsd.StatsDReporter
metrics.reporter.stsd.host: 192.168.56.10
metrics.reporter.stsd.port: 8127
metrics.reporter.stsd.interval: 1 SECONDS
但如果我们在代码中手动设置statsd,它将会起作用,
public void open(Configuration configuration) throws Exception {
super.open(configuration);
counter = new AtomicInteger();
stats = new NonBlockingStatsDClient(xxx);
}
@Override
public String map(String value) throws Exception {
stats.increment(statsdAspect);
return value;
}