0

我已将 jmx_exporter 添加到 tomcat 并使用来自以下位置的示例配置文件:https ://github.com/prometheus/jmx_exporter/blob/master/example_configs/tomcat.yml ,但每次 prometheus 时我都会在 catalina.out 中遇到很多错误检索指标:

04-Apr-2021 22:29:31.349 SEVERE [prometheus-http-1-1] io.prometheus.jmx.shaded.io.prometheus.jmx.JmxCollector.collect JMX scrape failed: java.lang.IllegalArgumentException: Not an Attribute: javax.management.openmbean.TabularDataSupport(tabularType=javax.management.openmbean.TabularType(name=org.apache.ignite.spi.systemview.view.CacheView,rowType=javax.management.openmbean.CompositeType(name=org.apache.ignite.spi.systemview.view.CacheView,items=((itemName=affinity,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=affinityMapper,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=atomicityMode,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=backups,itemType=javax.management.openmbean.SimpleType(name=java.lang.Integer)),(itemName=cacheGroupId,itemType=javax.management.openmbean.SimpleType(name=java.lang.Integer)),(itemName=cacheGroupName,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=cacheId,itemType=javax.management.openmbean.SimpleType(name=java.lang.Integer)),(itemName=cacheLoaderFactory,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=cacheMode,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=cacheName,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=cacheStoreFactory,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=cacheType,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=cacheWriterFactory,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=dataRegionName,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=defaultLockTimeout,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=evictionFilter,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=evictionPolicyFactory,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=expiryPolicyFactory,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=interceptor,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=isCopyOnRead,itemType=javax.management.openmbean.SimpleType(name=java.lang.Boolean)),(itemName=isEagerTtl,itemType=javax.management.openmbean.SimpleType(name=java.lang.Boolean)),(itemName=isEncryptionEnabled,itemType=javax.management.openmbean.SimpleType(name=java.lang.Boolean)),(itemName=isEventsDisabled,itemType=javax.management.openmbean.SimpleType(name=java.lang.Boolean)),(itemName=isInvalidate,itemType=javax.management.openmbean.SimpleType(name=java.lang.Boolean)),(itemName=isLoadPreviousValue,itemType=javax.management.openmbean.SimpleType(name=java.lang.Boolean)),(itemName=isManagementEnabled,itemType=javax.management.openmbean.SimpleType(name=java.lang.Boolean)),(itemName=isNearCacheEnabled,itemType=javax.management.openmbean.SimpleType(name=java.lang.Boolean)),(itemName=isOnheapCacheEnabled,itemType=javax.management.openmbean.SimpleType(name=java.lang.Boolean)),(itemName=isReadFromBackup,itemType=javax.management.openmbean.SimpleType(name=java.lang.Boolean)),(itemName=isReadThrough,itemType=javax.management.openmbean.SimpleType(name=java.lang.Boolean)),(itemName=isSqlEscapeAll,itemType=javax.management.openmbean.SimpleType(name=java.lang.Boolean)),(itemName=isSqlOnheapCacheEnabled,itemType=javax.management.openmbean.SimpleType(name=java.lang.Boolean)),(itemName=isStatisticsEnabled,itemType=javax.management.openmbean.SimpleType(name=java.lang.Boolean)),(itemName=isStoreKeepBinary,itemType=javax.management.openmbean.SimpleType(name=java.lang.Boolean)),(itemName=isWriteBehindEnabled,itemType=javax.management.openmbean.SimpleType(name=java.lang.Boolean)),(itemName=isWriteThrough,itemType=javax.management.openmbean.SimpleType(name=java.lang.Boolean)),(itemName=maxConcurrentAsyncOperations,itemType=javax.management.openmbean.SimpleType(name=java.lang.Integer)),(itemName=maxQueryIteratorsCount,itemType=javax.management.openmbean.SimpleType(name=java.lang.Integer)),(itemName=nearCacheEvictionPolicyFactory,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=nearCacheStartSize,itemType=javax.management.openmbean.SimpleType(name=java.lang.Integer)),(itemName=nodeFilter,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=partitionLossPolicy,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=queryDetailMetricsSize,itemType=javax.management.openmbean.SimpleType(name=java.lang.Integer)),(itemName=queryParallelism,itemType=javax.management.openmbean.SimpleType(name=java.lang.Integer)),(itemName=rebalanceBatchSize,itemType=javax.management.openmbean.SimpleType(name=java.lang.Integer)),(itemName=rebalanceBatchesPrefetchCount,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=rebalanceDelay,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=rebalanceMode,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=rebalanceOrder,itemType=javax.management.openmbean.SimpleType(name=java.lang.Integer)),(itemName=rebalanceThrottle,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=rebalanceTimeout,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=sqlIndexMaxInlineSize,itemType=javax.management.openmbean.SimpleType(name=java.lang.Integer)),(itemName=sqlOnheapCacheMaxSize,itemType=javax.management.openmbean.SimpleType(name=java.lang.Integer)),(itemName=sqlSchema,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=systemViewRowId,itemType=javax.management.openmbean.SimpleType(name=java.lang.Integer)),(itemName=topologyValidator,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=writeBehindBatchSize,itemType=javax.management.openmbean.SimpleType(name=java.lang.Integer)),(itemName=writeBehindCoalescing,itemType=javax.management.openmbean.SimpleType(name=java.lang.Boolean)),(itemName=writeBehindFlushFrequency,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=writeBehindFlushSize,itemType=javax.management.openmbean.SimpleType(name=java.lang.Integer)),(itemName=writeBehindFlushThreadCount,itemType=javax.management.openmbean.SimpleType(name=java.lang.Integer)),(itemName=writeSynchronizationMode,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)))),indexNames=(systemViewRowId)),contents={[0]=javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=org.apache.ignite.spi.systemview.view.CacheView,items=((itemName=affinity,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=affinityMapper,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=atomicityMode,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=backups,itemType=javax.management.openmbean.SimpleType(name=java.lang.Integer)),(itemName=cacheGroupId,itemType=javax.management.openmbean.SimpleType(name=java.lang.Integer)),(itemName=cacheGroupName,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=cacheId,itemType=javax.management.openmbean.SimpleType(name=java.lang.Integer)),(itemName=cacheLoaderFactory,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=cacheMode,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=cacheName,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=cacheStoreFactory,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=cacheType,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=cacheWriterFactory,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=dataRegionName,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=defaultLockTimeout,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=evictionFilter,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=evictionPolicyFactory,itemType=j...

    at javax.management.AttributeList.adding(AttributeList.java:328)
    at javax.management.AttributeList.adding(AttributeList.java:335)
    at javax.management.AttributeList.asList(AttributeList.java:165)
    at io.prometheus.jmx.shaded.io.prometheus.jmx.JmxScraper.scrapeBean(JmxScraper.java:160)
    at io.prometheus.jmx.shaded.io.prometheus.jmx.JmxScraper.doScrape(JmxScraper.java:117)
    at io.prometheus.jmx.shaded.io.prometheus.jmx.JmxCollector.collect(JmxCollector.java:547)
    at io.prometheus.jmx.shaded.io.prometheus.client.CollectorRegistry$MetricFamilySamplesEnumeration.findNextElement(CollectorRegistry.java:207)
    at io.prometheus.jmx.shaded.io.prometheus.client.CollectorRegistry$MetricFamilySamplesEnumeration.nextElement(CollectorRegistry.java:240)
    at io.prometheus.jmx.shaded.io.prometheus.client.CollectorRegistry$MetricFamilySamplesEnumeration.nextElement(CollectorRegistry.java:161)
    at io.prometheus.jmx.shaded.io.prometheus.client.exporter.common.TextFormat.write004(TextFormat.java:65)
    at io.prometheus.jmx.shaded.io.prometheus.client.exporter.common.TextFormat.writeFormat(TextFormat.java:47)
    at io.prometheus.jmx.shaded.io.prometheus.client.exporter.HTTPServer$HTTPMetricHandler.handle(HTTPServer.java:72)
    at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:79)
    at sun.net.httpserver.AuthFilter.doFilter(AuthFilter.java:83)
    at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:82)
    at sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(ServerImpl.java:675)
    at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:79)
    at sun.net.httpserver.ServerImpl$Exchange.run(ServerImpl.java:647)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

感谢帮助。

4

0 回答 0