Class PrometheusCollector

  • All Implemented Interfaces:
    ServiceCollector

    public class PrometheusCollector
    extends AbstractRemoteServiceCollector
    Collects metrics exposed via HTTP(S) using the Prometheus exposition format. We leverage the Prometheus parser code (APLv2 licensed) written by RedHat as part of the hawkular-agent. See https://github.com/hawkular/hawkular-agent/tree/0.23.0.Final. (The code was removed from their tree in 0.24.0). Further details on the format are available at: https://prometheus.io/docs/instrumenting/exposition_formats/
    Author:
    jwhite
    • Constructor Detail

      • PrometheusCollector

        public PrometheusCollector()
    • Method Detail

      • initialize

        public void initialize()
        Description copied from interface: ServiceCollector
        Initialize the collector. This call will be invoked in OpenNMS before any other calls to the collector are made. This function may be invoked several times during the lifetime or the collector.
        Specified by:
        initialize in interface ServiceCollector
        Overrides:
        initialize in class AbstractServiceCollector
      • getRuntimeAttributes

        public java.util.Map<java.lang.String,​java.lang.Object> getRuntimeAttributes​(CollectionAgent agent,
                                                                                           java.util.Map<java.lang.String,​java.lang.Object> parameters)
        Description copied from interface: ServiceCollector
        Invoked before every call to #collect(CollectionAgent, EventProxy, Map) in order to retrieve state/runtime information required for perform the collection. This call will always be performed in OpenNMS.
        Specified by:
        getRuntimeAttributes in interface ServiceCollector
        Overrides:
        getRuntimeAttributes in class AbstractServiceCollector
        Parameters:
        agent - Includes details about to the agent from which we wish to collect.
        parameters - Includes the service parameters defined in collectd-configuration.xml.
        Returns:
        Additional attributes, which should be added to the parameter map before calling #collect(CollectionAgent, EventProxy, Map).
      • collect

        public CollectionSet collect​(CollectionAgent agent,
                                     java.util.Map<java.lang.String,​java.lang.Object> map)
                              throws CollectionException
        Description copied from interface: ServiceCollector
        Invokes a collection on the object. This call will be performed in both OpenNMS and Minion.
        Parameters:
        agent - a org.opennms.netmgt.collectd.CollectionAgent object.
        map - a Map object.
        Returns:
        a org.opennms.netmgt.config.collector.CollectionSet object.
        Throws:
        CollectionException
      • getRrdRepository

        public RrdRepository getRrdRepository​(java.lang.String collectionName)
        Description copied from interface: ServiceCollector
        Retrieve the RrdRepository configuration for the given collection. This call will always be performed in OpenNMS.
        Parameters:
        collectionName - a String object.
        Returns:
        a RrdRepository object.