Architecture design - Multi-Axis/multi-axis-graphs GitHub Wiki
Overview
- Zabbix PostgreSQL db "cloud"
- Local PostgreSQL db scheme models an exact subset of Zabbix db, and adds some of its own to model the forecasting models (no pun intended).
- Habbix is used to
- migrate local db schema
- synchronize local db from zabbix db (e.g. every 5min via cron)
- run forecasting models on every sync
- Go web server
- /dashboard - The dashboard page
- /host/:hostid - Host views
- /metric/:itemid - Single graph (and forecasts, model info) views
Forecast framework
This section is a draft.
Forecasting units are server-side.. things, that listen to json events and output json forecasts. Example of a json event:
{ "value_type" : 0 // values are of type .0000
, "clocks" : [...] // list of epoch times (x values)
, "values" : [...] // y values
, "params" : { ... } // Extra parameters. forecast-unit specific
}
Output forecasts must look like
{ "clocks" : [...] // Extrapolated clock-value pairs
, "values" : [...]
, "details" : { ... } // Forecast-specific details (R^2 etc.)
}