当前位置: 首页 > 知识库问答 >
问题:

配置.yml 中的丢弃向导石墨指标报告程序无法解析

赵俊晤
2023-03-14

我试图在配置中配置dropwizard graphite metrics reporter。yml文件:

metrics:
  reporters:
     - type: graphite
       host: my.graphite.host.com
       port: 2003
       prefix: my.prefix

我在我的pom.xml.中有dropwizard-metrics和metrics-Graite作为依赖项,我在Application类或Configuration类中没有任何关于报告器的内容。我的印象是DropWizard负责Metric注册表和报告器的所有初始化和启动。然而,当我运行我的应用程序时,我收到以下错误:

config.yml has an error:

  * Failed to parse configuration at: metrics.reporters; 
Could not resolve type id 'graphite' into a subtype of [simple type, 
class io.dropwizard.metrics.ReporterFactory]: 
known type ids = [ReporterFactory, console, csv, log] 
at [Source: N/A; line: -1, column: -1] 
(through reference chain: com.example.MyConfiguration["metrics"]-  
>io.dropwizard.metrics.MetricsFactory["reporters"])

为什么“石墨”没有被选为可接受的类型?我错过了什么?

共有2个答案

葛浩阔
2023-03-14

我在使用Gradle和Shadow插件构建胖jar时也遇到了同样的问题。原因是默认情况下,宣传动态加载JavaSPI的服务描述符文件没有被正确合并并包含到最终jar中。这就是为什么Graphite报告插件没有注册它正在实现的服务。

从Gradle文档中,可以通过以下方式强制合并:

shadowJar {
    mergeServiceFiles()
}

一旦我将它添加到我的< code>build.gradle中,配置就可以被解析了,因为< code>graphite已经被正确地注册为子类型。

杨利
2023-03-14

我相信你有答案-但我有同样的问题,所以想详细说明一下。你需要三个库,这在文档中并不清楚。

    <dependency>
        <groupId>io.dropwizard.metrics</groupId>
        <artifactId>metrics-core</artifactId>
        <version>${metrics.version}</version>
    </dependency>
    <dependency>
        <groupId>io.dropwizard</groupId>
        <artifactId>dropwizard-metrics-graphite</artifactId>
        <version>${dw.version}</version>
    </dependency>
    <dependency>
        <groupId>io.dropwizard.metrics</groupId>
        <artifactId>metrics-graphite</artifactId>
        <version>${metrics.version}</version>
    </dependency>
 类似资料:
  • 我无法使用 SSL 配置投递向导。 创建密钥/证书如下: 我已经将生成的keystore.jks与我的配置文件(yml)放在一起…我的配置文件具有超文本传输协议条目,如下所示: 已启动服务器..面临异常: 有人可以帮我吗?

  • 我已经为dropwizard (codehale)度量注册表配置了一个基本的sl4j reporter。这是报告器配置: 我正在接收的日志不是我所期望的(期望使用metricRegistry注册的计时器、计数器的可解析输出)。这是我每30秒实际看到的内容(与报告器配置相匹配): …… java: 55)org.slf4j.helpers.FormattingTuple@39fda09e 无论如何,

  • 我正在尝试从application.yml的XML导入目标配置中配置我的回退。 当我在XML中设置静态目标时,一切都很好,但如果不是,我在启动时会出现这个异常: 我的依赖关系: Spring启动:“1.5.4.发布” net.logstash.logback:logstash-logback-encoder:4.9 logback-spring.xml applicaiton.yml 我试图避免将

  • 我对whipser保存的stats_counts指标有问题。 在我的应用程序中,我同时使用了两种指标:计数器递增时间。当我比较具体的指标图:stats _ counts“count”的计时器时,我得到了大约4小时的相同结果,但是当查看更长的时间时,比如12小时,我可以看到很大的差异。 我发现了这篇文章:使用StatsD(通过etsy)和Graphite跟踪指标,Graphite graph似乎无法

  • 我正在尝试使用神经节监视我的dropwizard Web服务。我在本地机器上运行了gmond和gmetad。我能够在神经节网络上看到基本指标(eg.cpu、内存使用情况)。 根据这个,我还在我的服务中添加了神经节记者。但是我的神经节网上什么也没有显示。

  • 现在,这个脚本输出了乍一看应该输出的内容。输出的格式为,但是没有绘制图形。它们出现在石墨仪表板上,但它们是空的。我已经用Wireshark检查了发送到graphite服务器的输出。与只有LF的linux相反,在windows中,消息被附加了CRLF。我手工添加了,在一小段时间内,它确实发挥了作用,但现在它停止工作了。 我的问题是,我在传输中做错了什么,因为我一直在分析trafic,来自linux机