Keep your operational history in one place, and stop rebuilding reports by hand.
Axiom Data Historian stores plant, IT, IoT and lab data together and produces your recurring reports automatically. Ask it questions in plain English.
Flow on day 12 was 22% above the 12-week average, so I opened event EF-118. Should I add it to Monday’s operations report?
Sound familiar?
A lot of operational data still lives in an aging historian, a homegrown SQL database or a monitoring tool that only keeps a few weeks, with spreadsheets filling the gaps. It works until a server fails, a report is due or the one person who knows the system is on vacation.
History lives on one server
If that server, or the person who built it, is unavailable, so are your trends and reports. Monitoring tools often drop data after a few weeks. Axiom Data Historian runs on a cluster, fails over on its own and keeps history for years.
Related data lives somewhere else
Lab results, manual readings and asset lists don’t line up with the metrics, so someone matches them by hand. Axiom Data Historian maps them to the same assets and times automatically.
Recurring reports take days
Numbers get copied into a workbook and limits are checked by eye. Axiom Data Historian fills your existing Excel templates on a schedule and highlights values over the limit.
Network outages leave holes
When the link drops, data from that window is often gone for good. Axiom Data Historian holds it at the edge and fills the gap when the link comes back.
Nobody knows who changed a value
Edits overwrite the original reading. Axiom Data Historian keeps the old value along with who changed it, from which workstation and why.
Simple questions need an expert
Finding the right metric and writing the query takes someone who knows the system. In Axiom Data Historian you ask in plain English and see the query it ran.
One historian for the data you already collect
Anything that changes over time can live in Axiom Data Historian, next to the records that explain it. These are the most common sources.
Plant and process
Signals from DCS, PLC and SCADA systems over OPC UA, OPC DA and Modbus.
Flows, levels, pressures, run hours, compliance reportsInfrastructure and applications
Prometheus, OpenTelemetry, InfluxDB and Graphite metrics from servers, clusters and services.
Capacity trends, SLO reports, history beyond your monitoring toolIoT and field devices
Sensors, meters and remote equipment reporting over MQTT or REST.
Remote sites, environmental monitoring, fleetsLab and quality results
Results from LIMS and quality systems, matched to the right asset and sample time.
Lab-to-process comparisons, quality reportsManual readings
Rounds, inspections and checklists entered on web or mobile forms with validation.
Operator logs, inspections, readings with audit historyEnergy and business data
Energy use, production counts and costs from SQL databases, files and APIs.
Cost per unit, energy intensity, monthly KPIsAgents that take on the routine data work
The Historian agents answer questions, build dashboards and reports, watch for problems and help keep the metric and tag catalog up to date. They have read-only access, work within each user’s permissions, and show the queries they ran so you can check the result.
How did inlet flow in Area 3 compare with the same weeks last year? Show the daily range.
Found area3.inlet.flow in the asset model (m³/h). Ran a daily rollup for both periods.
search_assetsquery_timeseries ×2
max_over_time(historian_tag{asset="area-3", measure="inlet_flow"}[1d]) # also min_, avg_ and offset 52w for last year
This year averaged 4.6% higher, with a wider daily range in weeks 2 and 9. Both peaks line up with logged wet-weather events.
Build me a dashboard for the payments service: p95 latency and error rate against the SLO, CPU on both clusters, and anything out of range this fortnight.
Used the Service template, so both clusters share the same layout and SLO limits. Out-of-range points are marked in red.
describe_servicecreate_dashboard
Share it with the platform team.
Shared with Platform (view only). It refreshes every minute.
Turn our monthly flow workbook into a scheduled report. Same layout, one tab per process area, and flag anything over permit.
Mapped your template’s 6 sheets and 214 cell formulas to historian tags. Limit checks come from the limits table, so changes there flow through automatically.
read_templatemap_tagsschedule_report
Scheduled for the 1st of each month at 07:00, delivered as Excel and PDF to Compliance. If late lab data arrives, the report re-runs and recipients get the update.
| Day | Inflow (ML) | Outflow (ML) | Peak (m³/h) | TSS out (mg/L) | Status |
|---|
Heads up. Inlet flow passed its high limit at 14:22 and stayed there 46 minutes. I opened event EF-119 and attached the trend.
event_rulesopen_event
Separately, edge collector B lost its link from 03:10 to 03:30. All 20 minutes were buffered on site and back-filled in order. No samples were lost.
Add both to the shift handover.
| Event | Type | Start | Minutes | Status |
|---|---|---|---|---|
| EF-119 | High inlet flow | 14:22 | 46 | Open |
| DF-031 | Link outage, back-filled | 03:10 | 20 | Recovered |
I found 38 new tags on the plant OPC server after the blower upgrade. I drafted descriptions, units, asset links and classes from their names and properties. The same review works for new metrics from your OpenTelemetry collectors.
browse_sourcessuggest_metadata
34 match existing naming patterns closely. 4 need a steward’s review before they go live. Nothing changes until someone approves it, and approvals are versioned.
| Tag | Suggested description | Unit | Asset | Confidence |
|---|---|---|---|---|
| BLW4_DP | Blower 4 differential pressure | kPa | Aeration › Blower 4 | High |
| BLW4_KW | Blower 4 power draw | kW | Aeration › Blower 4 | High |
| BLW4_VIB_X | Blower 4 vibration, X axis | mm/s | Aeration › Blower 4 | High |
| HDR2_P | Air header 2 pressure | kPa | Aeration › Header 2 | Review |
| AB3_DO_SP | Basin 3 dissolved oxygen setpoint | mg/L | Aeration › Basin 3 | Review |
| XFR_77A | Unclear: transfer or transformer signal | — | Unassigned | Needs input |
How it fits together
Collectors close to your systems write data to local disk before sending it on. The core stores readings in VictoriaMetrics, and assets, lab results and audit records in PostgreSQL. Calculations, events and quality checks run on top, and people and tools reach the data through dashboards, reports, SQL, APIs and the agents.
Your systems
- DCS, PLC and SCADA via OPC UA / DA, Modbus
- Prometheus, OpenTelemetry, InfluxDB, Graphite
- IoT devices over MQTT
- LIMS and SQL databases
- Forms, files and REST APIs
Edge collectors
- Tag auto-discovery
- Source timestamps and quality
- Store-and-forward disk buffer
- Redundant pairs
Historian
- VictoriaMetrics time-series cluster
- PostgreSQL for assets, lab, forms and audit
- Replication and failover
- Indefinite retention
Context and logic
- Asset and service model
- Chained calculations
- Event frames
- Data-quality monitor
People and agents
- Dashboards and trends
- Excel, Word and PDF reports
- SQL, REST and SDKs
- BI tools
- Historian agents
What’s included
Tags, assets, forms, calculations, lab mappings and reports are all set up through configuration. Your team can add or change them without writing code or waiting on us.
Data collection
- Standard connectors for OPC UA and DA, Modbus, MQTT, Prometheus remote write, OpenTelemetry, InfluxDB line protocol, SQL, REST and files, plus a plug-in SDK for anything else.
- Sub-second capture with source timestamps and quality codes, cyclic or on change.
- Auto-discovery proposes new tags and metrics as sources appear, and bulk edits work from a spreadsheet.
- Store-and-forward holds days of data on local disk and sends it in order once the connection is back.
Storage and retention
- VictoriaMetrics cluster handles continuous high-volume writes and fast queries over years of data.
- Compression keeps long-term, full-resolution storage affordable.
- Replication and failover keep data available when a server goes down.
- Open formats let you export everything at any time.
| Data | Resolution | Kept |
|---|---|---|
| Signals and metrics | Raw, sub-second | Indefinitely |
| Interval aggregates | 1 min to 1 day | Indefinitely |
| Lab and manual records | Every version | Indefinitely |
| Audit trail | Every change | Indefinitely |
Asset model and events
- Asset and service hierarchy with reusable templates: sites and equipment for plants (ISA-95), services and hosts for IT.
- Event frames open and close on conditions and carry the asset, timing and attributes.
- Batch and period context make comparisons one click.
- Tag metadata powers search, permissions and the agents.
| Attribute | Bound tag | Limits |
|---|---|---|
| Temperature | {unit}.TEMP | 35–38 °C |
| pH | {unit}.PH | 6.8–7.4 |
| Gas flow | {unit}.GAS_FQ | — |
| Detention time | calc: volume ÷ flow | ≥ 15 d |
Lab results and operator entries
- Translation rules map LIMS and other record systems to tags, many-to-one, edited by your own staff in a UI.
- Exceptions queue holds unmatched results until a rule is added.
- Web and mobile forms with validation, limits and out-of-bound flags.
- Audit history for entries and corrections.
| Location | Analysis | Tag |
|---|---|---|
| INF-A | TSS | LAB_INF_TSS |
| INF-B | TSS | LAB_INF_TSS |
| EFF | NH3 | LAB_EFF_NH3N |
| EFF | NH3 (new method) | LAB_EFF_NH3N |
Calculations
- Chained calculations (A → B → C) run in dependency order automatically.
- Continuous, scheduled or event-driven execution.
- Back-fill re-runs affected results when late or corrected data arrives.
- Reusable formulas bound to asset templates, with an exceptions table.
Reports and dashboards
- Excel-native templates with live formulas, charts and dozens of tabs, plus Word and PDF output.
- Schedules and email delivery daily, weekly or monthly, with automatic re-runs for late data.
- Limit flagging marks values over permit or target.
- Dashboards with multi-variable trends, heatmaps and event timelines, built without code.
Queries and integrations
- MetricsQL and PromQL for rollups, interpolation and time shifts, so existing Grafana dashboards keep working.
- Read-only SQL endpoint over tags, aggregates, lab and events.
- REST API and SDKs for Python and JavaScript.
- Power BI, Tableau and ML tools through standard drivers and exports.
-- daily volume by area, last 30 days SELECT area, day, sum(value) AS volume FROM agg_daily WHERE measure = 'inlet_flow' AND day >= current_date - 30 GROUP BY area, day ORDER BY day;
Monitoring the data pipeline
- Pipeline health: throughput, buffer depth and ingest lag for each source.
- Freshness targets per tag class, with alerts when data goes stale.
- Gap, flat-line and range detection with audited cleansing.
- Platform metrics for storage, queries and jobs.
How Axiom Data Historian compares with what teams use today
| Capability | Spreadsheets | Custom SQL database | Short-retention monitoring | Axiom Data Historian |
|---|---|---|---|---|
| Years of history at full resolution | ||||
| Store-and-forward through outages | ||||
| Asset model with reusable templates | ||||
| Lab and manual data next to metrics | ||||
| Chained calculations with back-fill | ||||
| Excel reports on a schedule, limits flagged | ||||
| Full audit of edits and corrections | ||||
| Plain-English questions answered by agents | ||||
| Replication, failover and DR | ||||
| Pipeline health and freshness monitoring |
Deploy it where you need it
Axiom Data Historian runs on your own servers, in your cloud account, or across both, with the same features in each. It doesn’t need an internet connection to operate.
On-premises
Hardened Kubernetes on your servers or VMs, close to the systems it collects from.
Cloud
Managed by Axiom or deployed into your own cloud account, with edge collectors on site.
Hybrid
Keep the historian on site and send selected data to cloud analytics, or the other way round.
Air-gapped
Signed offline updates, a private registry and on-premises AI models. Agents work with no outbound connection.
Fits segmented and regulated networks
In industrial networks, collectors sit in the OT DMZ, the historian in the operations zone, and people reach it from the enterprise network. The historian never connects into the control network. In IT environments, Axiom Data Historian runs inside your data center or cloud account with the same controls.
- Identity: SSO through SAML or OIDC, MFA from your identity provider, role and asset-scoped permissions.
- Encryption: TLS on every interface, including service-to-service traffic, and encrypted disks.
- Audit: logins, access, configuration changes, data edits, and agent requests and queries, forwarded to your SIEM.
- Agents with limits: read-only access, the user’s own permissions, queries shown to the user, and no changes without approval.
Moving off your current system
- DiscoverInventory sources, tags and metrics, entry screens, calculations and reports with your team.
- ConnectInstall collectors, build the asset and service model and bring data online.
- MigrateLoad history, then reconcile counts and sums tag by tag with a QA report.
- RebuildRecreate forms, calculations and reports, validated side by side against the old system.
- Go liveCut over with a rollback plan, train your team and hand over full documentation.
A team that has run large data platforms
Our engineers have built and operated observability platforms that collect and store very large volumes of time-series data for enterprise customers. Axiom Data Historian uses the same approach for operational data of every kind, including monitoring of the pipeline itself.
| Source | Samples/s | Lag | Freshness |
|---|---|---|---|
| Collector A · OPC | 3,240 | 2 s | On target |
| Collector B · OPC | 3,255 | 2 s | On target |
| OpenTelemetry · metrics | — | 6 min | On target |
| Operator forms | — | 1 s | On target |
See it with one of your own reports
Book a demo and bring a report your team builds by hand today. We’ll show how Axiom Data Historian would produce it and where the data would come from.