Common Output Module Options
While each Output Module has it's own distinct set of options, there are a few that are common to all modules.
These are usually used to allow you to filter your data or only output specific kinds of information, giving you control over exactly what is recorded.
Filtering
The filter option allows you to enter a regular expression that is used to filter the name of the output point.
For example, if you have the following outputs…
Output Name |
---|
Machine.Input.Speed |
Machine.Input.Temperature |
Machine.Output.Vibration |
…you can choose to only transmit the output values using the regular expression
.*?\.Output\.*?
Tags
The source of the output may also optionally include certain tags. For example, ModelHost will include the input tag when transmitting a new input value, and the output tag when transmitting an output value.
You can control which tags are accepted or rejected using the allow and deny parameters.
Point Name | Tags |
---|---|
Machine Speed | Input Decimal |
Machine Temperature | Input Decimal |
Machine Vibration | Output Decimal |
Machine Status | Output Text |
In the above example, you could do the following…
"deny": "text"
This would prevent any text values from being recorded.
"allow": "output"
This would only send output data to the output module
"allow": "output decimal"
This would only allow output data that is also decimal data.
Timezone and Date Formats
Most event-based output methods have options to correct the UTC dates and time according to a specific time-zone, and to modify the formatting of your dates.
"timezone": "Australia/Sydney", "dateformat": "%Y-%m-%d %H:%M:%S"
This would ensure that all dates and times are in Y-M-D h:m:s format, and that the times are in the correct timezone for Sydney, Australia
Shared Configuration Files
The modular output system can use a single configuration file for different types of output. For instance, the output modules for key-value data are quite different for those for event data.
You can use the type parameter to choose which type of output the module applies to. A type of value is for key-value data, and a type of event is for event-based data.
[ { "type": "value", "method": "prometheus", "port": 9306 }, { "type": "event", "method": "logfile", "filename": "spikes.log" } ]
In the above configuration, events are recorded to a log file while live values are available to Prometheus.