For reasons I don't quite understand, Ignite doesn't include the web server
dependency. You need to add it yourself.

I wrote a blog (with a GitHub repo) explaining how to do it:
https://www.gridgain.com/resources/blog/integrating-prometheus-gridgain-or-apache-ignite


On Wed, 23 Jul 2025 at 16:39, Charlin S <charli...@hotelhub.com> wrote:

> Hi
> I am working on exporting traces to prometheus and getting below error
> while starting server node.
> org.springframework.beans.factory.CannotLoadBeanClassException: Cannot
> find class [io.prometheus.client.exporter.HTTPServer] for bean with name
> 'httpServer' defined in URL
> [file:/apache-ignite-2.16.0-bin/config/test_config.xml]; nested exception
> is java.lang.ClassNotFoundException:
> io.prometheus.client.exporter.HTTPServer
>
> XML bean as following
> <?xml version="1.0" encoding="UTF-8"?>
> <beans xmlns="http://www.springframework.org/schema/beans";
>        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>        xmlns:util="http://www.springframework.org/schema/util";
>        xsi:schemaLocation="http://www.springframework.org/schema/beans
>
> http://www.springframework.org/schema/beans/spring-beans.xsd
>                            http://www.springframework.org/schema/util
>
> http://www.springframework.org/schema/util/spring-util.xsd";>
>     <bean id="httpServer" class="io.prometheus.client.exporter.HTTPServer">
>         <constructor-arg type="java.lang.String" value="127.0.0.10"/>
>         <constructor-arg type="int" value="1234"/>
>         <constructor-arg type="boolean" value="true"/>
>     </bean>
>
>     <bean id="opencensusWrapper"
> class="org.springframework.beans.factory.config.MethodInvokingBean">
>         <property name="staticMethod"
>
> value="io.opencensus.exporter.stats.prometheus.PrometheusStatsCollector.createAndRegister"/>
>     </bean>
>   <bean class="org.apache.ignite.configuration.IgniteConfiguration">
>      <property name="clientConnectorConfiguration">
>          <bean
> class="org.apache.ignite.configuration.ClientConnectorConfiguration">
>              <property name="port" value="10900"/>
>          </bean>
>      </property>
>      <property name="clientMode" value="false"/>
>      <property name="clientFailureDetectionTimeout" value="120000"/>
>      <property name="igniteInstanceName" value="StaticCacheGrid"/>
>      <property name="longQueryWarningTimeout" value="4000"/>
>      <property name="failureDetectionTimeout" value="120000"/>
>      <property name="localHost" value="127.0.0.10"/>
>      <property name="segmentationPolicy" value="RESTART_JVM"/>
>      <property name="segmentCheckFrequency" value="20000"/>
>      <property name="segmentationResolveAttempts" value="10"/>
>      <property name="discoverySpi">
>       <bean class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi">
> <property name="localPort" value="57800"/>
>         <property name="ipFinder">
>           <bean
> class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder">
>             <property name="addresses">
>               <list>
> <value>127.0.0.10:57800</value>
>               </list>
>             </property>
>           </bean>
>         </property>
>       </bean>
>     </property>
>     <property name="metricsUpdateFrequency" value="1000"/>
>     <property name="metricExporterSpi">
>             <list>
>                 <bean
> class="org.apache.ignite.spi.metric.opencensus.OpenCensusMetricExporterSpi">
>                     <property name="period" value="1000"/>
>                 </bean>
>             </list>
>     </property>
>     <property name="dataStorageConfiguration">
>             <bean
> class="org.apache.ignite.configuration.DataStorageConfiguration">
>                 <property name="defaultDataRegionConfiguration">
>                     <bean
> class="org.apache.ignite.configuration.DataRegionConfiguration">
> <property name="name" value="Common_Data_Region"/>
>                         <property name="initialSize" value="#{1L * 1024 *
> 1024 * 1024}"/>
>                         <property name="maxSize" value="#{8L * 1024 * 1024
> * 1024}"/>
>                     </bean>
>                 </property>
>             </bean>
> </property>
> <property name="communicationSpi">
>         <bean
> class="org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi">
>    <property name="sharedMemoryPort" value="-1"/>
>             <property name="localPort" value="57905"/>
>         </bean>
>     </property>
>   </bean>
> </beans>
>
> Thanks & Regards,
> Charlin
>
>

Reply via email to