# # This properties file allows you to set global properties for the opennms # application. These properties will be set as system properties at the # beginning of Java startup. Any properties set on the Java command-line # with -Dproperty=value will be overridden by these values. # # ###### ICMP ###### # OpenNMS provides three ICMP implementations. JICMP (legacy, IPv4-only), # JNA (supports both IPv4 and IPv6), and JICMP6. # # The JICMP implementation is what has traditionally been used in OpenNMS # since 1.0, uses JNI. It requires you to install a separate package # (JICMP) which contains a shared library for interfacing with your system's # ICMP APIs. # # The JICMP6 core library is a version of the JICMP codebase which can speak # ICMPv6, instead of ICMPv4. The OpeNMS JICMP6 pinger supports both ICMPv4 # and ICMPv6. It delegates all ICMPv4 ping requests to the original JICMP # JniPinger above and uses the JICMP6 library for ICMPv6 packets. This is # the default for OpenNMS 1.9.90 and up. # # Finally, the JNA implementation is written from the ground up to support # IPv4 and IPv6, and takes advantage of the JNA project's ability to access # native APIs without needing to distribute separate shared libraries. It # is, however, not as performant as the JICMP6 pinger, so it is not # recommended unless you are in an environment which requires it. This is # the default ICMP implementation used in the remote poller, since it does # not rely on any external native code to be installed outside of the JVM. # # To use the JNI ICMPv4 interface only, use the following property setting: #org.opennms.netmgt.icmp.pingerClass=org.opennms.netmgt.icmp.jni.JniPinger # # To use the JNA ICMPv4/ICMPv6 implementation, use the following property: #org.opennms.netmgt.icmp.pingerClass=org.opennms.netmgt.icmp.jna.JnaPinger # # The default is set to use the JNI ICMPv4/ICMPv6 interface like so: #org.opennms.netmgt.icmp.pingerClass=org.opennms.netmgt.icmp.jni6.Jni6Pinger # By default, OpenNMS will start up if either ICMPv4 *or* ICMPv6 are # available and initialize properly. If you wish to force IPv4 or IPv6 # explicitly, set one or both of these properties to true. # #org.opennms.netmgt.icmp.requireV4=detect #org.opennms.netmgt.icmp.requireV6=detect # ###### SNMP ###### # OpenNMS provides two different SNMP implementations. JoeSNMP is the # original OpenNMS # SNMP Library and provides SNMP v1 and v2 support. # SNMP4J is a new 100% Java SNMP library # that provides support for SNMP # v1, v2 and v3. # # To enable the JoeSnmp library uncomment the following line. #org.opennms.snmp.strategyClass=org.opennms.netmgt.snmp.joesnmp.JoeSnmpStrategy # # The SNMP4J library is currently the default. But can also be set with # the following line. # # Default: #org.opennms.snmp.strategyClass=org.opennms.netmgt.snmp.snmp4j.Snmp4JStrategy # # The world is full of buggy SNMP agents. We can work around many of their # quirks by extending various SMI classes from SNMP4J. The following property # must be set in order for any of these workarounds to be enabled. org.snmp4j.smisyntaxes=opennms-snmp4j-smisyntaxes.properties # When debugging SNMP problems when using the SNMP4J library, it may be # helpful to receive runtime exceptions from SNMP4J. These exceptions almost # always indicate a problem with an SNMP agent. Any that we don't catch will # end up in output.log, so they're disabled by default, but they may provide # more information (albeit without timestamps) than the messages that SNMP4J # logs (see snmp4j.LogFactory) org.opennms.snmp.snmp4j.forwardRuntimeExceptions=false # By default, SNMP4J does not do any logging internally, but it's easy to # enable. See log4j.properties to adjust log levels for these messages. snmp4j.LogFactory=org.snmp4j.log.Log4jLogFactory # Net-SNMP agents prior to release 5.4.1 on 64-bit platforms exhibit a bug # that causes the discovery of a node's interfaces to fail. A workaround has # been made that helps SNMP4J cope with this bug. If for some reason you need # to disable this workaround, comment out the following line. org.opennms.snmp.workarounds.allow64BitIpAddress=true # ###### DATA COLLECTION ###### # On very large systems the OpenNMS default mechanism of storing one data # source per RRD file can be very I/O Intensive. Many I/O subsystems fail # to keep up with the vast amounts of data that OpenNMS can collect in this # situation. We have found that in those situations having fewer large files # with multiple data sources in each performs better than many smaller files, # each with a single data source. This option enables all of the data sources # belonging to a single collection group to be stored together in a single # file. To enable this setting uncomment the below line and change it to # 'true'. # # Default: false org.opennms.rrd.storeByGroup=false # By default, data collected for a node with nodeId n is stored in the # directory ${rrd.base.dir}/snmp/n . If the node is deleted and re-added, # it will receive a new nodeId, and subsequent data will be stored in a # new directory. This can create problems in data continuity if a large number # of nodes get deleted and re-added either accidentally or intentionally. # This option enables an alternate storage location for nodes that are # provisioned (ie they have a foreignSource and foreignId defined) If # storeByForeignSource is set to true, a provisioned node will have its # data stored by foreignSource/ForeignId rather than nodeId. For example, # a node with foreignSource/foreignId "mysource/12345" will have its data # stored in ${rrd.base.dir}/snmp/fs/mysource/12345 . With this # option enabled, data collection will continue to use the same storage # location as long as the foreignSource/foreignId is not redefined, regardless # of how many times the node may be deleted and re-added. # # Default: false org.opennms.rrd.storeByForeignSource=false # RRD base directory rrd.base.dir=/opt/opennms/share/rrd # RRD binary path (only used if the JniRrdStrategy is used) rrd.binary=/usr/bin/rrdtool # Format rule used when setting the datasource value for threshold events # (check NMS-3473). # In order to properly use scientific notation for the datasource's value, # change the format rule to something like this '##.##E0' to avoid NMS-4126. # # Default: ##.## #org.opennms.threshd.value.decimalformat=##.## # Specifies the amount of time to wait (expressed in milliseconds) until the # reload container physically checks if the datacollection-config.xml file # has been changed. # # Default: 30 seconds #org.opennms.snmp.dataCollectionConfig.reloadCheckInterval=30000 # # Collectd Instrumentation class # org.opennms.collectd.instrumentationClass=org.opennms.netmgt.collectd.DefaultCollectInstrumentation # Enable an aggresive validation against the last modification time of the strings.properties files. # This is useful only if the OpenNMS WebUI is running on a different server. # Check NMS-5806 for more details. # # Default: false #org.opennms.utils.propertiesCache.enableCheckFileModified=false ###### REMOTE METHOD INVOCATION ###### # Though this is not strictly an OpenNMS property this is a setting that you # may need to set if you are using the distributed monitor either via webstart # or the command-line remote poller. In these cases, all of the remote # monitors need a hostname or IP address they can resolve to locate the # central OpenNMS server. This code uses Java's RMI protocol to communicate # and needs to know the name the client will use to connect. This will be # especially true if the client must connect to the server thru a firewall. # # The default behavior is for it to pick one of the IP addresses of the server # host. # #java.rmi.server.hostname= ###### TROUBLE TICKETING ###### # The ticketer responsible for creating tickets from the Alarm details and passing these # to the ticket plugin. opennms.ticketer.servicelayer=org.opennms.netmgt.ticketd.DefaultTicketerServiceLayer # The ticket plugin implementation to use to create tickets via the Alarm details # pages (if configured). The NullTicketerPlugin just does nothing when attempting # to create tickets. # NOTE: if you enable a trouble-ticketing plugin here, you must also edit # $OPENNMS_HOME/jetty-webapps/opennms/WEB-INF/configuration.properties opennms.ticketer.plugin=org.opennms.netmgt.ticketd.NullTicketerPlugin # Comment out the NullTicketerPlugin line above and uncomment the lines below # to enable OtrsTicketerPlugin # You will need to adjust alarmTroubleTicketLinkTemplate to suit your OTRS Base URL # Note that you will need to install the OpenNMS module for OTRS in your OTRS server #opennms.ticketer.plugin=org.opennms.netmgt.ticketer.otrs.OtrsTicketerPlugin #opennms.alarmTroubleTicketEnabled = true #opennms.alarmTroubleTicketLinkTemplate = ${id} # Comment out the NullTicketerPlugin line above and uncomment the lines below # to enable RtTicketerPlugin # You will need to adjust alarmTroubleTicketLinkTemplate to suit your RT Base URL #opennms.ticketer.plugin=org.opennms.netmgt.ticketer.rt.RtTicketerPlugin #opennms.alarmTroubleTicketEnabled = true #opennms.alarmTroubleTicketLinkTemplate = ${id} # Comment out the NullTicketerPlugin line above and uncomment the lines below # to enable RemedyTicketerPlugin # You will need to adjust alarmTroubleTicketLinkTemplate to suit your Remedy Base URL # The following settings are for locale it_IT #opennms.ticketer.plugin=org.opennms.netmgt.ticketer.remedy.RemedyTicketerPlugin #opennms.alarmTroubleTicketEnabled = true #opennms.alarmTroubleTicketLinkTemplate = ${id} ###### MISCELLANEOUS ###### distributed.layoutApplicationsVertically=false opennms.bin.dir=/opt/opennms/bin opennms.webapplogs.dir=/opt/opennms/logs/webapp java.awt.headless=true # findByServiceType query # org.opennms.dao.ipinterface.findByServiceType=select distinct ipIf from OnmsIpInterface as ipIf join ipIf.monitoredServices as monSvc where monSvc.serviceType.name = ? # If you change the above query to load the snmpInterfaces along with the if and node data then set this true # org.opennms.netmgt.collectd.DefaultCollectionAgent.loadSnmpDataOnInit=false ###### REPORTING ###### opennms.report.template.dir=/opt/opennms/etc opennms.report.dir=/opt/opennms/share/reports opennms.report.logo=/opt/opennms/webapps/images/logo.gif ksc.default.graphsPerLine=1 ###### EVENTD IPC ###### # The hostname or IP address of the OpenNMS server where events should be sent. # Default: 127.0.0.1 #opennms.rtc.event.proxy.host=127.0.0.1 # The TCP port for the eventd TCP receiver where events should be sent. # Default: 5817 #opennms.rtc.event.proxy.port=5817 # The timeout in milliseconds the proxy will wait to complete a TCP connection. # Default: 2000 #opennms.rtc.event.proxy.timeout=2000 ###### RANCID INTEGRATION ###### # Set to true the followiing property to enable the integration to Rancid in the WEB UI. # The default value is false (ie links are not created to rancid jsp pages into opennms gui) # opennms.rancidIntegrationEnabled = false # # set to true the following property to use only RancidAdapter to write Clogin # info in Rancid .cloginrc file # opennms.rancidIntegrationUseOnlyRancidAdapter = false ###### RTC IPC ###### # The base of a URL that RTC clients use when creating a RTC subscription URL. # If you are using Tomcat instead of the built-in Jetty, change this in # WEB-INF/configuration.properties instead. opennms.rtc-client.http-post.base-url = http://localhost:8980/opennms/rtc/post # The username the RTC uses when authenticating itself in an HTTP POST. opennms.rtc-client.http-post.username = rtc # The password the RTC uses when authenticating itself in an HTTP POST. opennms.rtc-client.http-post.password = rtc ###### MAP IPC ###### # The base of a URL that Map System clients use when creating a Map subscription URL. # If you are using Tomcat instead of the built-in Jetty, change this in # WEB-INF/configuration.properties instead. opennms.map-client.http-post.url = http://localhost:8980/opennms/map/post # The username the Map System uses when authenticating itself in an HTTP POST. opennms.map-client.http-post.username = map # The password the Map System uses when authenticating itself in an HTTP POST. opennms.map-client.http-post.password = map ###### JETTY WEB UI ###### # If you are using Jetty, this is the port to listen on org.opennms.netmgt.jetty.port = 8980 # If you want Jetty with AJP support, this is the port to listen on #org.opennms.netmgt.jetty.ajp-port = 8981 # By default, Jetty will listen on all interfaces. You can set a specific # bind address here. If you set this to a value other than 127.0.0.1, # you will need to update the rtc-client and map-client URLs above. org.opennms.netmgt.jetty.host = 127.0.0.1 # This sets the maximum size for a form submission in jetty. # The default value is 200000 bytes. Setting it to -1 disables # the form limit # In 1.8 or earlier set #org.mortbay.jetty.Request.maxFormContentSize=200000 # # in 1.9 or later set #org.eclipse.jetty.server.Request.maxFormContentSize=200000 # This sets the request header size for jetty. # The default value is 4000 bytes. #org.opennms.netmgt.jetty.requestHeaderSize=4000 # This sets the maximum number of items that can be in web forms (like the # Provisioning web UI) org.eclipse.jetty.server.Request.maxFormKeys=2000 ###### JETTY HTTPS SUPPORT ###### # Details: http://www.opennms.org/index.php/Standalone_HTTPS_with_Jetty # If you want Jetty to provide an HTTPS listener, this is the port to listen on # Note that setting this property does NOT disable the plain HTTP listener, # which is required by Rtcd to post realtime status updates. If you do not # wish to allow unsecured HTTP access to the OpenNMS web UI, you must set # org.opennms.netmgt.jetty.host above or use firewall rules to accomplish this. #org.opennms.netmgt.jetty.https-port = 8443 # By default, if configured for HTTPS, Jetty will listen on all interfaces. # You can set a specific bind address here. #org.opennms.netmgt.jetty.https-host = 127.0.0.1 ## To set the keystore file from which Jetty will retrieve its SSL key, ## change the value of this property. Note that the jetty.properties ## distributed with OpenNMS should never be used in production. org.opennms.netmgt.jetty.https-keystore = /opt/opennms/etc/opennmsLinux.keystore ## To change the keystore password used to access the keystore specified ## in the https-keystore property above, uncomment and change this property org.opennms.netmgt.jetty.https-keystorepassword = something ## To change the key password used to access the Jetty SSL key (which is stored ## in the keystore specified by the https-keystore property), uncomment and ## change this property. org.opennms.netmgt.jetty.https-keypassword = pJSHO1asdog6a6xRdZas ## To specify a particular SSL certificate alias in the keystore, set this ## property. Otherwise, the first certificate that is found will be used. org.opennms.netmgt.jetty.https-cert-alias = opennmsca ## To exclude specific SSL/TLS cipher suites from use, set this property to a ## colon-separated list of suite names. Whitespace surrounding colons is OK. #org.opennms.netmgt.jetty.https-exclude-cipher-suites=SSL_DHE_DSS_WITH_DES_CBC_SHA: \ # SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA:SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA: \ # SSL_DHE_RSA_WITH_DES_CBC_SHA:SSL_RSA_EXPORT_WITH_DES40_CBC_SHA: \ # SSL_RSA_EXPORT_WITH_RC4_40_MD5:SSL_RSA_WITH_3DES_EDE_CBC_SHA: \ # SSL_RSA_WITH_DES_CBC_SHA:TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA: \ # TLS_RSA_EXPORT_WITH_DES40_CBC_SHA:TLS_RSA_WITH_DES_CBC_SHA # If OpenNMS is setting an incorrect HTML tag, you can override # its idea of the local URL here. The URL must end with a '/'. The following # substitutions are available: # %s: scheme (http, https) # %h, %p: host and port from the Host: header # %x: host and port from the X-Forwarded-Host, X-Host or Host header # %c: context path (without trailing slash) # # You can use this to get Jetty working behind an Apache/SSL proxy. # Set the base-url to https://%x%c/ and include in your Apache SSL vhost: # # ProxyPass http://127.0.0.1:8980/opennms # ProxyPassReverse http://127.0.0.1:8980/opennms # # opennms.web.base-url = https://%x%c/ ###### ASTERISK AGI SUPPORT ###### # If you are using the built-in Asterisk Gateway Interface (AGI) server # to integrate with an external Asterisk server, you will need to set # this property to an IP address on the OpenNMS server that is reachable # from the Asterisk server. Note that the value of this property has no # bearing on the address to which the AGI server listens -- it is used only # as a hint to allow the Asterisk server to reach us. #org.opennms.netmgt.asterisk.agi.listenAddress = 127.0.0.1 # To tell the built-in AGI server to listen on a port other than the default # of 4573, change the value of this property. Be sure to update any static # fastagi:// URLs in your Asterisk dialplan accordingly. #org.opennms.netmgt.asterisk.agi.listenPort = 4573 # The built-in AGI server services requests out of a thread pool whose default # size is 10 threads. Systems that make heavy use of this facility may need # to increase this value. #org.opennms.netmgt.asterisk.agi.maxPoolSize = 10 ###### HTML STRIPPING IN ASSET FIELDS ###### # By default, all scripts and HTML markup are stripped from the values submitted for node # asset information. This measure is to protect against cross-site scripting and other types # of attacks on the web UI. To allow markup (but still not scripts) in certain asset fields, # set this property's value to a comma-separated list of asset field names. A full list of field # names can be obtained by exporting all asset data to a CSV file from the web UI. # # This example would allow HTML markup in the Comments and Description fields. #opennms.assets.allowHtmlFields = comments, description #Control sending force rescans from the SNMP Collector. The default is now #false and used to be true. #org.opennms.netmgt.collectd.SnmpCollector.forceRescan = false # # For systems with very large numbers of interfaces we may be unable to collect all the # data by scanning the entire table in the specified time interval. If only a few instances # are being collected then we can limit the collection to only those instances and save collection # time but possible 'getting' confused by instance changes # Set this to true to enable instance limiting #org.opennms.netmgt.collectd.SnmpCollector.limitCollectionToInstances=false # # This property is for enabling acl support in the webapp. With ACLs enabled then Nodes, Alarms, Events etc # are filtered according to the authorzied groups list on onms categories. In other words. For a user to # set the events, outages etc for a particular node then that user has to be authorized for a category that the node # belongs to org.opennms.web.aclsEnabled=true # IP address of the DNS server that the DnsProvisioningAdapter # should send dynamic DNS updates to importer.adapter.dns.server=127.0.0.1 ###### ASYNC DETECTOR SETUP ###### # This property defines how many current async detetion attempts can be created at any given time. # # Setting this to zero removes any limits on the number of concurrent connection attempts. #org.opennms.netmgt.provision.maxConcurrentConnections=0 ##### SMS GATEWAY SETUP ###### # This property tells the RXTX JNI library extend its range and load any of these ports in its default setup if they exist # by default RXTX doesn't load any non ttyS ports. gnu.io.SerialPorts=/dev/ttyACM0:/dev/ttyACM1:/dev/ttyACM2:/dev/ttyACM3:/dev/ttyACM4:/dev/ttyACM5 # This property is to make sure that the phone will poll under Linux. If you are Linux and this is commented out # you will get a phone timed out exception smslib.serial.polling=true ###### PROVISIOND OPTIONS ###### # # This property is used to enable/disable the handling of new suspect events # in provisiond along with periodic scanning of discovered nodes. The default # setting is true (See org.opennms.netmgt.provision.service.ProvisionService) #org.opennms.provisiond.enableDiscovery=true # Prior to 1.10 it was possible to delete entities that have been provisioned as # part of a provisioning group. In 1.10 we have disabled this so that in order to # delete these entities you have to go back to the provisioning group and delete them # from there. To reenable this deletion you can set this to true. # NOTE: if you do this then the object will be recreated when the provisioning group is # next imported/synchronized #org.opennms.provisiond.enableDeletionOfRequisitionedEntities=false # This property is used to control the rescan scheduling existing nodes in # the database when Provisiond starts. The default value is true. # There are situations like distributed environments, where OpenNMS is deployed across # multiple servers, on which this feature must be disabled to avoid continuity issues. # In this scenario, most likely the inventory of nodes should not be managed by all OpenNMS instances. #org.opennms.provisiond.scheduleRescanForExistingNodes=true # Use this property to disable rescans of existing nodes following # an import (synchronize) of a provisioning group (requistion). Default # behavior has always been true. #org.opennms.provisiond.scheduleRescanForUpdatedNodes=true ###### MAPPING AND GEOCODING ###### # the map implementation to use # current choices are: GoogleMaps, Mapquest, OpenLayers gwt.maptype=OpenLayers # The API key to use for the remote monitor map gwt.apikey= # The class options to use for geocoding. Choices are: # (Google maps API) #gwt.geocoder.class=org.opennms.features.poller.remote.gwt.server.geocoding.GoogleMapsGeocoder # (Mapquest API) #gwt.geocoder.class=org.opennms.features.poller.remote.gwt.server.geocoding.MapquestGeocoder # (OpenStreetMaps API) #gwt.geocoder.class=org.opennms.features.poller.remote.gwt.server.geocoding.NominatimGeocoder # (always return OpenNMS World HQ) gwt.geocoder.class=org.opennms.features.poller.remote.gwt.server.geocoding.NullGeocoder # The rate at which to make requests, for geocoders that support it. gwt.geocoder.rate=10 # The referer to use when making geocoding requests, for geocoders that support it. # For MapQuest, the value you set here will need to be allowed in your AppKeys manager: # http://developer.mapquest.com/web/info/account/app-keys gwt.geocoder.referer=http://localhost/ # The minimum quality level to require before rejecting a geocoding request. # This is currently only used by MapQuest. Choices are (least to most specific): # COUNTRY, STATE, ZIP, COUNTY, ZIP_EXTENDED, CITY, STREET, INTERSECTION, ADDRESS, POINT gwt.geocoder.minimumQuality=ZIP # The email address to report as when making geocoding requests. # This is currently only used by Nominatim, and MUST be set! gwt.geocoder.email= # The tile server URL to use for OpenLayers. This can be any mapnik-style tile server URL. # (Sorry, no support for multiple URLs yet.) # OpenStreetMap tile server # gwt.openlayers.url=http://a.tile.openstreetmap.org/${z}/${x}/${y}.png # Open MapQuest tile server gwt.openlayers.url=http://otile1.mqcdn.com/tiles/1.0.0/osm/${z}/${x}/${y}.png ###### UI DISPLAY OPTIONS ###### # This value allows you to show or hide the Acknowledge event button. This is only # here for those who still acknowledge events. We are moving away from this and # towards acknowledging alarms instead of events. Default is false opennms.eventlist.acknowledge=false # This value allows you to configure whether or not the total event count is shown # in the event list in the web UI. Setting this to 'true' can cause severe performance # issues for larger installations. opennms.eventlist.showCount=false # This value allows you to set the number of nodes with outages to display on the front # page in the OpenNMS web UI. Default 12 #opennms.nodesWithOutages.count=12 # This value allows you to enable/disable the nodes with outages box on the front # page in the OpenNMS web UI. Default: true #opennms.nodesWithOutages.show=true # This value allows you to set the number of nodes with problems to display on the front # page in the OpenNMS web UI. Default: 16 #opennms.nodesWithProblems.count=16 # This value allows you to enable/disable the nodes with problems box on the front # page in the OpenNMS web UI. Default: false # #opennms.nodesWithProblems.show=false # This value allows you to enable/disable the status bar resume at the top of the node # page in the OpenNMS web UI. Default: false # #opennms.nodeStatusBar.show=false # This value disables the sending of successful login events. The default is to send the # event. Change this value to true to disable the publishing of this event. #org.opennms.security.disableLoginSuccessEvent=false ###### REMOTE POLLER BACKEND SETTINGS ###### # This setting is the minimum amount of time between reloads of a remote poller configuration # in milliseconds because of global changes. This value should never be set # less the 300000 (5 minutes) except to set it to zero which means never only reload the # configuration if the location monitors status has been set to CONFIG_CHANGED. #opennms.pollerBackend.minimumConfigurationReloadInterval=300000 ###### JASPER REPORTS VERSION ###### org.opennms.jasperReportsVersion=3.7.6 ###### Web Console - Front Page ###### # This value controls the content that will be displayed in the middle box of the front page. # The default is the view of SLM/RTC categories: /includes/categories-box.jsp. # Uncomment the following line to display the widget for the surveillance view from the dashboard. # (It uses the same rules for the dashboard) #org.opennms.web.console.centerUrl=/surveillance-box.jsp ###### REMOTE POLLER MONITOR CLASS EXCLUSIONS ###### # This setting enables OpenNMS to exclude all references to certain services from the # poller configuration that it sends to the remote location monitors. This is necessary # when monitor classes are in use that are not included in the remote poller builds. # Without this setting, the remote poller will crash on startup (see issue NMS-5777) # even if none of the problematic services appears in any package. If you create custom # services, you may need to add them to this list. excludeServiceMonitorsFromRemotePoller=DHCP,NSClient,RadiusAuth,XMP