Interface PollerConfig

    • Method Detail

      • getCriticalService

        String getCriticalService()
        This method returns the configured critical service name.
        Returns:
        the name of the configured critical service, or null if none is present
      • shouldPollAllIfNoCriticalServiceDefined

        boolean shouldPollAllIfNoCriticalServiceDefined()
        This method returns the configured value of the 'pollAllIfNoCriticalServiceDefined' flag. A value of true causes the poller's node outage code to poll all the services on an interface if a status change has occurred and there is no critical service defined on the interface. A value of false causes the poller's node outage code to not poll all the services on an interface in this situation.

        Returns:
        true or false based on configured value
      • isNodeOutageProcessingEnabled

        boolean isNodeOutageProcessingEnabled()
        Returns true if node outage processing is enabled.
        Returns:
        a boolean.
      • isServiceUnresponsiveEnabled

        boolean isServiceUnresponsiveEnabled()
        Returns true if serviceUnresponsive behavior is enabled. If enabled a serviceUnresponsive event is generated for TCP-based services if the service monitor is able to connect to the designated port but times out before receiving the expected response. If disabled, an outage will be generated in this scenario.
        Returns:
        a boolean.
      • rebuildPackageIpListMap

        void rebuildPackageIpListMap()
        This method is used to rebuild the package against ip list mapping when needed. When a node gained service event occurs, poller has to determine which package the ip/service combination is in, but if the interface is a newly added one, the package ip list should be rebuilt so that poller could know which package this ip/service pair is in.
      • getIpList

        List<InetAddress> getIpList​(Package pkg)
        Determine the list of IPs the filter rule for this package allows
        Parameters:
        pkg - a Package object.
        Returns:
        a List object.
      • isInterfaceInPackage

        boolean isInterfaceInPackage​(String iface,
                                     Package pkg)
        This method is used to determine if the named interface is included in the passed package definition. If the interface belongs to the package then a value of true is returned. If the interface does not belong to the package a false value is returned. Note: Evaluation of the interface against a package filter will only work if the IP is already in the database.
        Parameters:
        iface - The interface to test against the package.
        pkg - The package to check for the inclusion of the interface.
        Returns:
        True if the interface is included in the package, false otherwise.
      • isServiceInPackageAndEnabled

        boolean isServiceInPackageAndEnabled​(String svcName,
                                             Package pkg)
        Returns true if the service is part of the package and the status of the service is set to "on". Returns false if the service is not in the package or it is but the status of the service is set to "off".
        Parameters:
        svcName - The service name to lookup.
        pkg - The package to lookup up service.
        Returns:
        a boolean.
      • getServiceInPackage

        Service getServiceInPackage​(String svcName,
                                    Package pkg)
        Return the Service object with the given name from the give Package.
        Parameters:
        svcName - the service name to lookup
        pkg - the packe to lookup the the service in
        Returns:
        the Service object from the package with the give name, null if its not in the pkg
      • isServiceMonitored

        boolean isServiceMonitored​(String svcName)
        Returns true if the service has a monitor configured, false otherwise.
        Parameters:
        svcName - The service name to lookup.
        Returns:
        a boolean.
      • getFirstLocalPackageMatch

        Package getFirstLocalPackageMatch​(String ipaddr)
        Returns the first package that the ip belongs to that is not marked as remote, null if none. Note: Evaluation of the interface against a package filter will only work if the IP is already in the database.
        Parameters:
        ipaddr - the interface to check
        Returns:
        the first package that the ip belongs to, null if none
      • isPolled

        boolean isPolled​(String ipaddr)
        Returns true if the ip is part of at least one package. Note: Evaluation of the interface against a package filter will only work if the IP is already in the database.
        Parameters:
        ipaddr - the interface to check
        Returns:
        true if the ip is part of at least one package, false otherwise
      • isPolledLocally

        boolean isPolledLocally​(String ipaddr)
        Returns true if the ip is part of at least one package that is NOT marked as remote Note: Evaluation of the interface against a package filter will only work if the IP is already in the database.
        Parameters:
        ipaddr - the interface to check
        Returns:
        true if the ip is part of at least one package, false otherwise
      • isPolled

        boolean isPolled​(String svcName,
                         Package pkg)
        Returns true if this package has the service enabled and if there is a monitor for this service. Note: Evaluation of the interface against a package filter will only work if the IP is already in the database.
        Parameters:
        svcName - the service to check
        pkg - the package to check
        Returns:
        true if the ip is part of at least one package and the service is enabled in this package and monitored, false otherwise
      • isPolled

        boolean isPolled​(String ipaddr,
                         String svcName)
        Returns true if the ip is part of at least one package and if this package has the service enabled and if there is a monitor for this service. Note: Evaluation of the interface against a package filter will only work if the IP is already in the database.
        Parameters:
        ipaddr - the interface to check
        svcName - the service to check
        Returns:
        true if the ip is part of at least one package and the service is enabled in this package and monitored, false otherwise
      • isPolledLocally

        boolean isPolledLocally​(String ipaddr,
                                String svcName)
        Returns true if the ip is part of at least one package and if this package has the service enabled and if there is a monitor for this service and the package is NOT marked as remote Note: Evaluation of the interface against a package filter will only work if the IP is already in the database.
        Parameters:
        ipaddr - the interface to check
        svcName - the service to check
        Returns:
        true if the ip is part of at least one package and the service is enabled in this package and monitored, false otherwise
      • getStep

        int getStep​(Package pkg)
        Retrieves configured RRD step size.
        Parameters:
        pkg - Name of the data collection
        Returns:
        RRD step size for the specified collection
      • getRRAList

        List<String> getRRAList​(Package pkg)
        Retrieves configured list of RoundRobin Archive statements.
        Parameters:
        pkg - Name of the data collection
        Returns:
        list of RRA strings.
      • getAllPackageMatches

        List<String> getAllPackageMatches​(String ipAddr)

        getAllPackageMatches

        Parameters:
        ipAddr - a String object.
        Returns:
        a List object.
      • getNextOutageIdSql

        String getNextOutageIdSql()
        Deprecated.
        We should be using DAOs that autoincrement.

        getNextOutageIdSql

        Returns:
        a String object.
      • getConfiguredMonitors

        List<Monitor> getConfiguredMonitors()
      • findPackageForService

        default Package findPackageForService​(String ipAddr,
                                              String serviceName)
        Find the Package containing the service selected for the given IP.
        Parameters:
        ipAddr - the address to select the package for
        serviceName - the name of the service
        Returns:
        the found package or null if no package matches
      • findService

        default Optional<Package.ServiceMatch> findService​(String ipAddr,
                                                           String serviceName)
        Find the service for the given IP by service name.
        Parameters:
        ipAddr - the address to select the package for
        serviceName - the name of the service
        Returns:
        the found matching info
      • getThreads

        int getThreads()

        getThreads

        Returns:
        a int.
      • getServiceMonitorNames

        Set<String> getServiceMonitorNames()
      • addPackage

        void addPackage​(Package pkg)

        addPackage

        Parameters:
        pkg - a Package object.
      • addMonitor

        void addMonitor​(String svcName,
                        String className)

        addMonitor

        Parameters:
        svcName - a String object.
        className - a String object.
      • getReadLock

        Lock getReadLock()

        getReadLock

        Returns:
        a Lock
      • getWriteLock

        Lock getWriteLock()

        getWriteLock

        Returns:
        a Lock