Historian Monitor (Reference) : when the solution is running and the Designer is connected with the runtime, the Historian Monitor page show basic status of its HistorianTable and an User Interface created using the Trend Chart Control, which allows to monitor historical data. provides real-time visibility into historian table operations and data collection status during runtime, it enables:
Access the monitor at Historian → Historian Monitor when connected to runtime.
Table of Contents maxLevel 2 minLevel 2 indent 10px exclude Steps style none
You can access the monitor by navigating to Historian / Historian Monitor.
When the solution is runtime, the monitor will display a Trend Chart page, and a table with the runtime properties of the HistorianTables.
This TrendChart Page is an out-of-box User Interface to monitor Historian Data, created using the same tools available to create displays and the Trend Chart Control. When creating displays in your application there is a template in Charts similar to the one embedded in the Designer.
Using a Browser, with no installation required, you can verify the Historian Status of remote server. With the following URL.
Built-in user interface for visualizing historian data:
Runtime properties of all historian tables:
Monitor historian status remotely without installation:
URL Format:
http://[server]
http://localhost:3101/html5/?Monitor=Historian
Locahost: shall be replaced by the IP or Computer Network Name of the computer you want to access. The port 3101 shall reflect the Port the Runtime is using, typically it is 3101 for production profile, and 3201 for Development profile. The reaming for the URL remains the same.
Parameters:
[server]
: IP address or hostname3101
: Production profile (default)3201
: Development profileExample:
http://192.168.1.100:3101/html5/?Monitor=Historian
Column | Description | Runtime Access |
---|---|---|
Namespace | Item namespace location | - |
Name | Historian table identifier | @Historian.Table.<Name> |
RowCount | Total rows stored | @Historian.Table.<Name>.RowCount |
SuccessCount | Successful storage operations | @Historian.Table.<Name>.SuccessCount |
ErrorCount | Failed storage attempts |
The information in this table is constructed from the runtime properties of the object: Historian.Table.<Name>.
The properties shown in the monitor table can also be accessed in Displays or Scripts using the following syntax:@Historian.Table.<Name>. |
HistorianTables Monitor Columns
Column
Description
Namespace
Specifies the namespace the item belongs to.
Name
HistorianTable's name
RowCount
The total number of rows of data stored in the HistorianTable.
SuccessCount
The total number of times the system successfully stored data in the table.
ErrorCount
The number of times the system failed to save data into the table.
LastStoredTimeStamp
The timestamp of the last data entry stored in the table.
LastStoredErrorMessage
ErrorCount | ||
LastStoredTimeStamp | Most recent data timestamp | @Historian.Table.<Name>.LastStoredTimeStamp |
LastStoredErrorMessage | Latest error description | @Historian.Table.<Name>.LastStoredErrorMessage |
Access monitor properties in displays or scripts:
csharp
// Get table status
int rows = @Historian.Table.ProcessData.RowCount;
int errors = @Historian.Table.ProcessData.ErrorCount;
DateTime lastStore = @Historian.Table.ProcessData.LastStoredTimeStamp;
// Check for errors
if (@Historian.Table.ProcessData.ErrorCount > 0)
{
string error = @Historian.Table.ProcessData.LastStoredErrorMessage;
// Handle error condition
}
csharp
// Calculate success rate
double successRate = @Historian.Table.MyTable.SuccessCount /
(@Historian.Table.MyTable.SuccessCount +
@Historian.Table.MyTable.ErrorCount) * 100;
csharp
// Check data currency
TimeSpan dataAge = DateTime.Now - @Historian.Table.MyTable.LastStoredTimeStamp;
if (dataAge.TotalMinutes > 5)
{
// Alert: Data may be stale
}
High Error Count:
No Row Count Increase:
Timestamp Not Updating:
Page Tree | ||||
---|---|---|---|---|
|