Analytics
Connect your own Postgres, MySQL, Redshift, or S3 data, clean it inside KubeWatch, and chart the result on the dashboard.
Analytics lets you connect KubeWatch directly to your own external data, a Postgres database, a MySQL database, a Redshift warehouse, or an S3 bucket, define a data-cleaning pipeline that runs natively inside KubeWatch, and visualize the cleaned result as a chart on the dashboard. No external BI tool required. Viewing the page is open to any org member; creating or changing connections, jobs, or saved charts is gated by admin role. Neither is gated by plan tier: Analytics is available on every plan.
What it does
- Connections: link a Postgres, MySQL, or Redshift database, or an S3 bucket, as a data source. Credentials are encrypted at rest.
- Jobs: define a cleaning pipeline against a connection and run it, on demand or on a recurring interval, to produce a cleaned dataset.
- Datasets: browse the output of each run: row counts, column types, and the cleaned data itself.
- Dashboards: build and save line, bar, or area charts straight from a cleaned dataset.
These map to the four tabs on the Analytics page: Connections, Jobs, Datasets, and Dashboards.
Connecting a data source
From the Connections tab, add a new connection and choose a type:
- Postgres / MySQL: host, port, database name, username, and password.
- Redshift: cluster endpoint, port, database name, username, and password, same shape as a Postgres connection.
- S3: bucket name, region, and an access key ID / secret access key pair with read access to the bucket.
Building a cleaning job
A job runs against one connection and applies a pipeline of steps, in order, to produce a cleaned dataset. Six step types are available:
- Deduplicate: drop duplicate rows.
- Fill missing values: replace missing values in a column with a fixed value.
- Drop missing values: drop rows where a column is missing.
- Coerce column type: convert a column to a different type (e.g. text to number).
- Filter: keep only rows matching a simple expression, e.g.
amount > 100. - Custom transform: compute a new or replacement column value from an expression, e.g.
amount * 1.1.
The filter and custom transform steps use a small, safe expression language, not a full scripting language. An expression can only compute a value from that row's own columns: it has no file access, no network access, and no way to execute arbitrary code.
Triggering and viewing a run
A job can be run manually from the Jobs tab, or on a recurring interval (every N minutes). There's no cron syntax, just a plain interval.
A cleaning run reads up to 100,000 source rows (or up to 200MB from a single S3 object), and produces a cleaned dataset capped at 50,000 rows. Analytics is a dashboarding tool built for exploring and visualizing a working slice of your data, not a bulk-ETL system or a replacement for a data warehouse.
Once a run finishes, its output appears as a new dataset on the Datasets tab, alongside the row count and column types KubeWatch inferred.
Building a chart
From the Dashboards tab, pick a cleaned dataset, choose a chart type (line, bar, or area), and map columns to the chart's axes. Save the chart to keep it on the Analytics dashboard, where it re-renders against the latest run of its underlying dataset.
Access control
Any authenticated org member, including a viewer, can open the Analytics page and browse existing connections, jobs, datasets, and dashboards. Adding or editing a connection, creating, editing, deleting, or running a cleaning job, and creating or deleting a saved chart all require the admin role.