Provides an overview of the Timebase Services Starter for Windows and includes instructions for adding additional services like Collectors
Upon completion, the installer will automatically launch the Timebase Services Starter in the browser of your choosing. This can be found manually by navigating to localhost:4510
in a web browser.
Editing the Configuration
Select the Config
tab.
Below is the default config for a new installation. Editing this file will update the appsettings.json
file, which by default can be found in C:\Program Files\Flow Software\Timebase\Service Starter\
.
{
"Stacks": {
"Timebase": {
"Historians": {
"Historian": {
"Active": false,
"Kestrel": {
"Endpoints": {
"Http": {
"Url": "http://0.0.0.0:4511"
}
}
}
}
},
"Collectors": {
"Simulator": {
"Active": false,
"Kestrel": {
"Endpoints": {
"Http": {
"Url": "http://0.0.0.0:4521"
}
}
}
}
},
"Explorers": {
"Explorer": {
"Active": false,
"Kestrel": {
"Endpoints": {
"Http": {
"Url": "http://0.0.0.0:4531"
}
}
}
}
}
}
}
}
Modify the Historian
It is unlikely you will need to change anything other than possibly adjusting the port.
The default is http://0.0.0.0:4511
for accepting connections on all network interfaces.
These settings take priority over the appsettings.json
file that can be found in C:\Program Files\Flow Software\Timebase\Historian\
. Modifying the location of where either the Historian Data or the Historian Logs are stored should be done using the following article.
Add a Collector
You can add additional Collectors, but will need to give them unique names and unique port numbers. You may copy and paste the configuration below, just be sure to remove the comments //
at the beginning of each line and give a new name and port number to the Collector.
Save your changes when you are finished.
Click on the Control
tab and verify your new Collector has been added to your list of services.
{
"Stacks": {
"Timebase": {
"Historians": {
"Historian": {
"Active": true,
"Kestrel": {
"Endpoints": {
"Http": {
"Url": "http://0.0.0.0:4511"
}
}
}
}
},
"Collectors": {
"Simulator": {
"Active": true,
"Kestrel": {
"Endpoints": {
"Http": {
"Url": "http://0.0.0.0:4521"
}
}
} //For additional Collectors, uncomment the beginning of each of the following lines and then change the name and port number of the new Collector Instance. Save changes.
// },
// "CollectorNameToBeChanged": { //Provide a unique name for this Collector instance
// "Active": true,
// "Kestrel": {
// "Endpoints": {
// "Http": {
// "Url": "http://0.0.0.0:XXXX" //Provide a unique port number for this Collector instance
// }
// }
// }
}
},
"Explorers": {
"Explorer": {
"Active": true,
"Kestrel": {
"Endpoints": {
"Http": {
"Url": "http://0.0.0.0:4531"
}
}
}
}
}
}
}
}
Adding HTTPS and certificates
Need to have a secured https configuration? Well, you would need to add an https endpoint
to your configuration.
This can be done by extending your Kestrel Endpoint to include an https endpoint.
The following snippet adds an additional endpoint and binds a certificate to the endpoint:
"Https": {
"Url": "https://0.0.0.0:4512",
"Certificate": {
"Subject": "localhost",
"Store": "My",
"Location": "CurrentUser",
"AllowInvalid": true
}
}
}
The following example config
can be copied and pasted into your configuration. This will include all different collectors as well as Pulse. What do you need to change? You would need to change the certificate details to match your provided certificate.
{
"Stacks": {
"Timebase": {
"Historians": {
"Historian": {
"Active": true,
"Kestrel": {
"Endpoints": {
"Http": {
"Url": "http://0.0.0.0:4511"
},
"Https": {
"Url": "https://0.0.0.0:4512",
"Certificate": {
"Subject": "localhost",
"Store": "My",
"Location": "CurrentUser",
"AllowInvalid": true
}
}
}
}
}
},
"Collectors": {
"MQTT": {
"Active": false,
"Config": "C:\\ProgramData\\Flow Software\\Timebase\\Collector\\MQTT\\Config",
"Data": "C:\\ProgramData\\Flow Software\\Timebase\\Collector\\MQTT\\Data",
"Logs": "C:\\ProgramData\\Flow Software\\Timebase\\Collector\\MQTT\\Logs",
"Settings": "C:\\ProgramData\\Flow Software\\Timebase\\Collector\\MQTT\\Settings",
"Kestrel": {
"Endpoints": {
"Http": {
"Url": "http://0.0.0.0:4527"
},
"Https": {
"Url": "https://0.0.0.0:4528",
"Certificate": {
"Subject": "localhost",
"Store": "My",
"Location": "CurrentUser",
"AllowInvalid": true
}
}
}
}
},
"MQTT Sparkplug": {
"Active": false,
"Config": "C:\\ProgramData\\Flow Software\\Timebase\\Collector\\MQTT Sparkplug\\Config",
"Data": "C:\\ProgramData\\Flow Software\\Timebase\\Collector\\MQTT Sparkplug\\Data",
"Logs": "C:\\ProgramData\\Flow Software\\Timebase\\Collector\\MQTT Sparkplug\\Logs",
"Settings": "C:\\ProgramData\\Flow Software\\Timebase\\Collector\\MQTT Sparkplug\\Settings",
"Kestrel": {
"Endpoints": {
"Http": {
"Url": "http://0.0.0.0:4525"
},
"Https": {
"Url": "https://0.0.0.0:4526",
"Certificate": {
"Subject": "localhost",
"Store": "My",
"Location": "CurrentUser",
"AllowInvalid": true
}
}
}
}
},
"OPCUA": {
"Active": false,
"Config": "C:\\ProgramData\\Flow Software\\Timebase\\Collector\\OPCUA\\Config",
"Data": "C:\\ProgramData\\Flow Software\\Timebase\\Collector\\OPCUA\\Data",
"Logs": "C:\\ProgramData\\Flow Software\\Timebase\\Collector\\OPCUA\\Logs",
"Settings": "C:\\ProgramData\\Flow Software\\Timebase\\Collector\\OPCUA\\Settings",
"Kestrel": {
"Endpoints": {
"Http": {
"Url": "http://0.0.0.0:4523"
},
"Https": {
"Url": "https://0.0.0.0:4524",
"Certificate": {
"Subject": "localhost",
"Store": "My",
"Location": "CurrentUser",
"AllowInvalid": true
}
}
}
}
},
"Simulator": {
"Active": true,
"Config": "C:\\ProgramData\\Flow Software\\Timebase\\Collector\\Simulator\\Config",
"Data": "C:\\ProgramData\\Flow Software\\Timebase\\Collector\\Simulator\\Data",
"Logs": "C:\\ProgramData\\Flow Software\\Timebase\\Collector\\Simulator\\Logs",
"Settings": "C:\\ProgramData\\Flow Software\\Timebase\\Collector\\Simulator\\Settings",
"Kestrel": {
"Endpoints": {
"Http": {
"Url": "http://0.0.0.0:4521"
},
"Https": {
"Url": "https://0.0.0.0:4522",
"Certificate": {
"Subject": "localhost",
"Store": "My",
"Location": "CurrentUser",
"AllowInvalid": true
}
}
}
}
}
},
"Explorers": {
"Explorer": {
"Active": true,
"Kestrel": {
"Endpoints": {
"Http": {
"Url": "http://0.0.0.0:4531"
},
"Https": {
"Url": "https://0.0.0.0:4532",
"Certificate": {
"Subject": "localhost",
"Store": "My",
"Location": "CurrentUser",
"AllowInvalid": true
}
}
}
}
}
},
"Pulses": {
"Pulse": {
"Active": true,
"Kestrel": {
"Endpoints": {
"Http": {
"Url": "http://0.0.0.0:4541"
},
"Https": {
"Url": "https://0.0.0.0:4542",
"Certificate": {
"Subject": "localhost",
"Store": "My",
"Location": "CurrentUser",
"AllowInvalid": true
}
}
}
}
}
}
}
}
}