# Copyright [2013] [Fraunhofer-Gesellschaft] # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # # @author Jose Angel Carvajal Soto # @since 1.3.1 ########################################################################### # SECTION # # Agent configuration # # # ########################################################################### # ## General configuration and information of the agent # # # ID of the agent. If is * it will generate an UUID. # The ID is used by the agent several places for the incoming messages by using the tag which will be replaced by the actual ID agent_id=* # Description of this instance agent_description=The instantiation of an LinkSmart(R) IoT Agent. A service for Stream Mining and Machine Learning management. # Topic were the agent is registered as Thing and the statements as Datastreams (accordingly to LinkSmart specs) ogc_registration_topic=LS///OGC/1.0/Thing/ # The will OGC topic for the agent as Thing (accordingly to LinkSmart OGC specs) ogc_topic_will=LS///OGC/1.0/Thing//will/ # Broker where messages that LinkSmart platform is connected to linksmart_broker=main_broker # How long till the Service Catalog removes the registration if there is no heartbeat linksmart_ttl=86400 # Topic were the agent is registered as a Service (accordingly to LinkSmart specs) linksmart_service_registration_topic=LS/v${linksmart.major.version}///service/ # The will LinkSmart topic for the agent as Service (accordingly to LinkSmart OGC specs) linksmart_service_will_topic= LS/v${linksmart.major.version}///will/ # LinkSmart Service Catalog endpoint linksmart_service_catalog_endpoint=http://localhost:8082/ linksmart_service_catalog_in_registration_fail_stop=false # Statement API conf: # ## This set properties define the broker and topic configuration where the statements will arrived and where the notifications will be sent. # ## Enable the MQTT Statement API. If true the agent is able to receive requests addressing Statements, false otherwise. api_statements_mqtt_enable=true ## Broker configuration api_statements_mqtt_broker=control ## This topic will be use to publish the feedback when a application sends a statement api_statements_mqtt_topic_base=/statement/ ## Topic for get all statements api_statements_mqtt_topic_base_get=get ## Topic for add new statements are coming api_statements_mqtt_topic_base_add=add ## Topic for create new statements are coming api_statements_mqtt_topic_base_create=new ## Topic for add new statements are coming api_statements_mqtt_topic_base_update=update ## Topic for add new statements are coming api_statements_mqtt_topic_base_remove=delete ## Topic for output errors cannot be traced to an statement but made by one api_statements_mqtt_topic_base_errors=/statement/errors/ ## Default output type api_statements_default_output_type=Observation # Incoming Event API conf: # ## This set properties define the broker and topic configuration where the events will arrived. # ## A list of brokers where the events are incoming api_events_mqtt_broker_incoming=incoming ## the agent will try to parse any event without sending any exception or warning api_events_promiscuous=true ## the agent will try filter the events sent by himself api_event_filter_own_topics=true ## it will transform any event into the 'api_statements_default_output_type' api_events_translator=false ## name or alias of the types of the incoming events (as they will be referenced in the Statements/queries) connector_observers_type_aliases=Observation,Observation097,SenML,GPRTtype,Raw # Type Observation v1.0: api_events_mqtt_topic_incoming_Observation=LS/+/+/OGC/1.0/Datastreams/# connector_observers_payload_type_class_Observation=eu.linksmart.services.payloads.ogc.sensorthing.linked.ObservationImpl # Type Observation v0.97: api_events_mqtt_topic_incoming_Observation097=/incoming/# connector_observers_payload_type_class_Observation097=eu.almanac.ogc.sensorthing.api.datamodel.Observation # Type SenML v10: api_events_mqtt_topic_incoming_SenML=LS/+/+/SenML/10/Event/# connector_observers_payload_type_class_SenML =eu.linksmart.services.payloads.SenML.SenML # Type GPRTtype: api_events_mqtt_topic_incoming_GPRTtype=/storage/devices/+/variables/+/measurements/# connector_observers_payload_type_class_GPRTtype=eu.linksmart.services.payloads.gprt.GPRTtype # Type Raw: api_events_mqtt_topic_incoming_Raw=/raw/# connector_observers_payload_type_class_Raw=eu.linksmart.services.payloads.raw.RawEvent # Outgoing EVENT API conf: # ## This set properties define the brokers and topic configuration where the compounded or "complex" events will be published. # ## Output topic for the compounded or "complex" events api_events_mqtt_topic_outgoing=LS///OGC/1.0/Datastreams/ ## If this property is true the in case an compound event result is collection/map, the agent will send the event (if possible) in a single message. ## If it set false, each value of the collection/map will be send in individual separate messages. handler_events_output_aggregation=true # ## Logging and monitoring features of the Agents conf: # ## indicates how often a "alive" message is sent to the broker core_monitoring_heartbeat_every_milliseconds=30000 ## indicates how often a "process" message is reported in the log feeder_monitoring_report_every=20 connector_monitoring_mqtt_events_report_topics=false connector_monitoring_mqtt_events_report_everySeconds=60 # ## Advance settings of the CEP Engines # # Indicates which package must be loaded in the CEP engines (old CEPWrappers) cep_init_additionalImportPackage=eu.linksmart.services.event.cep.tooling.Tools,java.util.UUID,eu.linksmart.services.payloads.SenML.SenML,eu.linksmart.services.event.ceml.core.CEML,eu.linksmart.api.event.types.EventEnvelope # If externalClock property is true, the CEP engine clock will be based on the timestamps of the events and not on the system clock. # If this property is set true, the staringTime must be defile cep_simulation_externalClock=false # (See externalClock) In case externalClock is set true, this property indicates the stating time of the CEP engine clock. cep_simulation_staringTime=2009-08-24T00:00:00.00Z ## Indicates which CEP engine will be loaded cep_init_engines=eu.linksmart.services.event.cep.engines.SiddhiEngine ## Indicate the files that contains the events and/or statement to be bootstrapped in the CEP engines cep_init_bootstrapping_files= ## Indicate the files that contains only events, one event per line (lazy loading for big files) cep_init_bootstrapping_events_files_Observation= cep_init_bootstrapping_events_files_SenML= # ## Advance settings of the Agent Core # # This property (a list) indicates if there is any extension to be booted by the core. # common extensions are: # eu.linksmart.services.payloads.ogc.sensorthing.LinksBlocker (removes the navigation and self links from OGC) # eu.linksmart.services.event.core.ThingsRegistrationService (register the datastrems into the OGC server) # eu.linksmart.services.event.core.ServiceRegistratorService (register the agent in the service catalog) # eu.linksmart.services.event.core.ServiceRegistratorService (register the agent in the service catalog) # eu.linksmart.services.event.core.extensions.JWS (uses JWS for serialization and deserialization of the payloads ) # eu.linksmart.services.event.ceml.core.CEML (starts the Complex-Event Learning Framework) # legacy equivalent before feeders agent_init_extensions= agent_init_after_conf_before_CEP= agent_init_after_CEP_before_types= agent_init_after_types_before_feeders=eu.linksmart.services.payloads.ogc.sensorthing.LinksBlocker agent_init_after_feeders_before_connectors= agent_init_after_connectors_before_bootstrapping= agent_init_end=eu.linksmart.services.event.core.ServiceRegistratorService,eu.linksmart.services.event.core.ThingsRegistrationService # If this property is set to true, the agent ends if a essential persistence request fails to be stored or loaded in the files persistent_enabled=false fails_if_persistence_fails=true connector_persist_in=.persistent_file persistent_storage_period=60000 connection_hosts_rest_aliases=agent connection_host_rest_endpoint=http://echo.jsontest.com/ python_path= ########################################################################### # SECTION # ## REST and Spring-boot-Jetty configuration section # # # ###########################################################################p # indicates if the Agent REST APIs should start api_rest_enabled=true # indicates additional REST APIs should be started (in case of extension packs that comes with REST enpoints) rest_api_extensions=eu.linksmart.services.event.ceml.CEMLRest # spring-boot configuration. more in http://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html spring_managed_configuration_features=server_port,server_ssl_key-store,server_ssl_key-store-password,server_ssl_client-auth,server_ssl_client-auth,server_ssl_trust-store,server_ssl_trust-store-password,management_endpoints_web_exposure_include,management_info_git_mode # port of the jetty embedded server server_port=8319 management_endpoints_web_exposure_include=* management_info_git_mode=full #server_ssl_key-store=Keystore #server_ssl_key-store-password = #server_ssl_clint-auth= NEED #server_ssl_trust-store=Truststore #server_ssl_trust-store-password = ########################################################################### # SECTION # ## CEML (extension) configuration section # # # ########################################################################### # Broker where the CEML I/O API should be deploy ceml_api_mqtt=true # Broker where the CEML I/O API should be deploy ceml_api_mqtt_broker=ceml # Topic for the input CEML Request ceml_api_mqtt_topic_input= /ceml/ # Topic for the output CEML messages ceml_api_mqtt_topic_output=/ceml/output/ # Topic for the output CEML error messages ceml_api_mqtt_topic_error=/ceml/error/ # Indicates if the agent should generate status report ceml_monitoring_evaluation_generateReports=true ########################################################################### # SECTION # ## General Configuration (GC Utils Conf) # # # ########################################################################### logging_default_configuration_file= __def__agent__conf__.cfg # DEPRECATED: should not use, still in use in few features general_time_timestamp_format=yyyy-MM-dd'T'HH:mm:ss.SSSZ general_time_zone=Europe/Berlin # Indicates if the time should be display as long or as string timestamp general_time_epoch=false ########################################################################### # GC SUBSECTION # ## broker(s) default configuration ## # # ########################################################################### # # The following properties define the default properties of all brokers defined in the agent # In other words, if there is no specific configuration for any of this properties # the value set here will be use. (see non-default broker(s) configuration section) # connection_brokers_service_connection_multiple=false connection_broker_mqtt_hostname=localhost connection_broker_mqtt_port=1883 connection_broker_mqtt_security_port=8883 connection_broker_mqtt_enableFileConnectionPersistency=false connection_broker_mqtt_timeOut=60000 connection_broker_mqtt_noReconnectTry=10 connection_broker_mqtt_reconnectWaitingTime=1000 connection_broker_mqtt_keepAlive=60000 connection_broker_mqtt_security_tls=false connection_broker_mqtt_security_acceptAllCert=false messaging_client_mqtt_enableRetainPolicy=false messaging_client_mqtt_sub_qos=0 messaging_client_mqtt_pub_qos=0 # DEFAULT (try 3.1.1,otherwise 3.1), V3_1 (3.1), V3_1_1 (3.1.1) messaging_client_mqtt_version=DEFAULT messaging_client_mqtt_maxInFlightMessages=10 messaging_client_mqtt_automaticReconnect=true messaging_client_mqtt_session_clean_enabled=true messaging_client_mqtt_autoblacklisting=true ########################################################################### # GC Broker SUBSUBSECTION # # broker(s) security default configuration # # # ########################################################################### messaging_client_mqtt_security_default_credentials=false # there is no default user/password it must be set connection by connection # messaging_client_mqtt_security_user= # messaging_client_mqtt_security_password= # connection_broker_mqtt_security_certificateBaseSecurityEnabled=false # connection_broker_mqtt_security_trustStorePath= # connection_broker_mqtt_security_trustStorePassword= # connection_broker_mqtt_security_keyStorePath= # connection_broker_mqtt_security_keyStorePassword= # connection_broker_mqtt_security_caCertificatePath= # connection_broker_mqtt_security_caCertificatePassword= # connection_broker_mqtt_security_certificatePath= # connection_broker_mqtt_security_certificatePassword= # connection_broker_mqtt_security_keyPath= # connection_broker_mqtt_security_keyPassword= ########################################################################### # GC Broker SUBSUBSECTION # # non-default broker(s) configuration # # # ########################################################################### # ## definition of brokers. The brokers defined here the "known" by the agent and can be used in queries,statements or in the configuration. # connection_brokers_aliases= # # Add here configuration that differs from the default configuration. # The configuration property stays the same, just add the alias of the broker as postfix. # Below we can see an example that change the default "hostname" of the broker with alias "control" # e.g. #connection.broker.mqtt.hostname.control=almanac-broker connection_broker_mqtt_hostname_fit=almanac.fit.fraunhofer.de connection_broker_mqtt_hostname_amiat=almanac.fit.fraunhofer.de connection_broker_mqtt_hostname_ismb=almanac-showcase.ismb.it connection_broker_mqtt_hostname_trn=almanac-showcase.ismb.it connection_broker_mqtt_hostname_alexandra=almanac.alexandra.dk connection_broker_mqtt_hostname_smat=almanac.alexandra.dk ########################################################################### # GC SECTION # ## Debugging core configuration Log4j conf. # # # ########################################################################### # Root logger option logging.default.configuration.file=log4j2.properties log4j.rootLogger=INFO,stdout log4j.logger.org.apache.component=INFO # Direct log messages to a log file log4j.appender.file=org.apache.log4j.RollingFileAppender log4j.appender.file.File= logging.log log4j.appender.file.MaxFileSize=10MB log4j.appender.file.MaxBackupIndex=10 log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p %r --- [%-15t] %-100c{15}: %m%n # Direct log messages to stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target=System.out log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p %r --- [%-15t] %-100c{15}: %m%n ########################################################################### # GC SECTION # # Test and validation configuration # # # ########################################################################### # test.validation.lot.size=10000 # test.validation.message.forwarding.enabled # test.validation.mqtt.observers.enabled # test.validation.message.deliverer