AggreGate Web Desktop
AggreGate Web Desktop is finally released into production. The new web UI doesn't require Java to be installed on a user machine and, thus, can operate on diverse mobile devices, such as iPhones or Android tablets.
The Web Desktop mimics almost all functions of the Unified Operations Console – it can even run widgets! Everything is here: dashboards, event logs, system trees, data tables and property grids. The only necessity in a desktop client is using visual editors for editing widget and report templates, which is definitely not an everyday activity.
Normal and Roled-based Users
In AggreGate 5.1, a user account can either match a single physical person (e.g. John Doe or Mary Shelley) or a certain role of system operators (e.g. "Log-Angeles Zone Operator", "Report Designer" or "Network Engineer"). User accounts that match individuals are called normal accounts while user accounts matching a role are called role-based accounts.
And fair enough, personal accounts inherit permissions from role-based accounts, allowing to setup complicated access control lists and apply them to a group of system operators.
Aggregating Time Series Data
Many reports designed by our partners and customers require grouping of some historical values by hours, days, weeks, and larger time periods. New AggreGate delivers summary function that provides an ultimate solution for grouping time series values and calculating per-device and per-resource minimums, maximums, averages, sample counts, first/last/min/max sample dates, and other aggregates.
In addition to gauge-type values, summary function can perfectly process counters by calculating per-period average/min/max rates. It's compatible with real-time data series, knowing how to extract timestamps from raw samples. Source numeric values can be fetched from event history, variable value history, or a statistics channel.
Add configurable out-of-range value processing and sorting, automatic totals calculation, and unlimited number of various data series processed by a single call and added to output table – and you'll never need to employ scripts for statistical reports.
Processing External Alert and Incident Tables
New AggreGate Situation Manager solution built atop of the Platform is tailored for processing alerts and incidents generated by external third-party systems and collected by AggreGate server playing a middleware integration server role.
Alerting engine has been extended for processing alert tables received from external systems via SQL, SOAP, CORBA, SNMP, and other protocols. New concept assumes scanning an external table, creating a dedicated alert instance for every row, and further tracking this instance with a row key evaluated by a user-defined rule.
Alert instances created in this way don't otherwise differ from "regular" AggreGate alerts: they can benefit from deactivation hysteresis, custom notifications, corrective actions, escalation rules, etc.
Running Conditional Corrective Actions upon Alerts
While previous versions of AggreGate could only run corrective actions upon alert activation, new release accepts separate action setup for activation, deactivation, escalation, deescalation, and acknowledgment of an alert. This allows building more sophisticated alert processing workflows.
Virtual Device Networks
Some monitoring applications, such as narrow band radio monitoring, imply strict limits to bandwidth usage caused by the monitoring system itself.
Putting several devices into a Virtual Device Network ensures that AggreGate won't talk to them too much, effectively limiting a number of concurrent I/O sessions. For example, devices connected to a single remote radio modem should be put to a virtual network to get rid of "business traffic" impact.
New Expression Language Functions
Continuing to evolve, AggreGate Expression Language was extended to support many new functions:
- setVariable() This function changes value of a context variable to a provided Data Table.
- user() Simple function that returns login of current user.
- getFormat() Returns format of a provided table.
- variableReadable() and variableWritable() Those functions check whether current user can read/write a specific context variable.
- encode() Encodes a data table into a string.
- split() Splits a string into a list of elements.
- And more
Advanced Data Table Fields
If a field in any table is marked as Advanced, it's initially hidden from a table browsing/editing view. Advanced fields are shown upon a toolbar button click. However, if a value of an advanced field differs from default, it does not get initially hidden.
Advanced fields help isolating object parameters that are not widely used. This results in operators interfaces with Normal and Advanced modes.
Referring Expressions from Queries
AggreGate expressions were always able to refer AggreGate queries by using executeQuery function. However, it was not possible to evaluate an expression from a query. New release allows that by introducing a set of query language functions that evaluate AggreGate expressions and convert results to strings, numbers, booleans, and other types. It's also possible to specify a default context and a default table to be used during evaluation.
Data Buffering in AggreGate Agents
AggreGate Agent device driver was updated to support a special Get History function that's called once right after the Agent has established a server connection. Agent-side implementation of this function should return a list of variable values collected and buffered by the Agent during the time when it was not connected to the server. Historical values can be sent in batches of any size.
Default Operator Account
In addition to default administrator account, AggreGate 5.1 includes a default operator account that's fine-tuned for every vertical market solution's mundane operational activities. Operator account is automatically created during the first server startup.
AggreGate 5.1 delivers more than two hundred other minor features and improvements.