// Azure Log Analytics SaaS

Turn Azure logs into incident-ready dashboards in minutes.

Upload Azure Log Analytics exports or connect a workspace, then generate dashboards for health, errors, epics, user stories, and root-cause triage.

Works with Azure Portal exports from your Log Analytics workspace.

Log signal map

18 critical

ErrorsWarningsStories

Live insight preview

Free sample dashboard

18

Critical errors

42

Warnings grouped

7

Stories affected

64%

Likely repeats

Suggested next query
AppTraces | summarize Events=count() by bin(TimeGenerated, 15m), ProblemPattern, Operation
// Overview

Immediate value before sales calls.

Azure Log Analytics can gather data from cloud resources and transform it into operational insight. Luminoxis turns that raw signal into focused dashboards, pre-built queries, and next-step recommendations for engineering teams.

Visualise error and warning patterns across epics, user stories, and tasks.

Reduce time spent writing one-off KQL during incident reviews.

Export clear reports for product, engineering, and leadership conversations.

Use AI-assisted grouping to spot repeated symptoms and probable causes faster.

// How It Works
01

Open your Azure Log Analytics workspace, choose Logs, run the starter query, and export the results as CSV.

02

Auto-generate dashboards for severity, time trends, and affected work items.

03

Drill down with a lightweight KQL editor for advanced investigation.

04

Export a report or upgrade for history, collaboration, and AI recommendations.

Build your first dashboard

Export a small sample from Azure Log Analytics, upload it here, and get an instant dashboard preview.

What to pull from Azure

  1. 1Open your Log Analytics workspace in Azure, then select Logs from the left menu.
  2. 2Paste the query below, set the time range to Last 24 hours, and run it.
  3. 3Use Export > CSV or Download as CSV, then upload that file here.
Starter KQL query
let lookback = 24h;
union withsource=SourceTable isfuzzy=true
  AppExceptions,
  AppTraces,
  AppRequests,
  AppDependencies,
  AppEvents,
  AzureActivity,
  Event,
  Syslog
| where TimeGenerated > ago(lookback)
| extend Message = tostring(coalesce(
    column_ifexists("Message", ""),
    column_ifexists("RenderedDescription", ""),
    column_ifexists("OperationName", ""),
    column_ifexists("OperationNameValue", ""),
    column_ifexists("SyslogMessage", ""),
    column_ifexists("Name", "")
  ))
| extend Severity = tostring(coalesce(
    column_ifexists("SeverityLevel", ""),
    column_ifexists("Level", ""),
    column_ifexists("EventLevelName", ""),
    column_ifexists("ActivityStatusValue", "")
  ))
| extend Operation = tostring(coalesce(
    column_ifexists("OperationName", ""),
    column_ifexists("OperationNameValue", ""),
    column_ifexists("Name", ""),
    SourceTable
  ))
| extend ProblemPattern = case(
    Message has "older than configured", "Stale event",
    Message has "newer than incoming", "Out-of-order update",
    Message has "Updating parcel", "Parcel update",
    SourceTable has "AppExceptions", "Application exception",
    Message has_any ("failed", "timeout", "exception", "error"), "Failure",
    Message has_any ("warning", "degraded"), "Warning",
    "Operational activity"
  )
| extend EntityId = tostring(coalesce(
    extract(@"(?:parcel|Parcel|id|Id)[^0-9-]*([0-9-]{6,})", 1, Message),
    column_ifexists("OperationId", ""),
    column_ifexists("ItemId", "")
  ))
| extend AgeMinutes = todouble(extract(@"(?:ParcelTimeDifference|MovementTimeDifference)=([0-9.]+)mins", 1, Message))
| summarize
    Events=count(),
    AffectedEntities=dcountif(EntityId, isnotempty(EntityId)),
    MaxAgeMinutes=max(AgeMinutes),
    SampleMessages=make_set(Message, 3)
  by bin(TimeGenerated, 15m), SourceTable, Severity, Operation, ProblemPattern
| project
  TimeGenerated,
  Source = SourceTable,
  Severity,
  Operation,
  ProblemPattern,
  Events,
  AffectedEntities,
  MaxAgeMinutes,
  SampleMessages
| order by TimeGenerated asc
| take 1000
CSV is best for the free flow. JSON from Azure Monitor query results also works.
// Azure Export Checklist

Use the Logs blade, not the workspace overview.

The workspace overview shows the resource details. The data this tool needs lives under Logs. Run a query, export the result rows, and upload that CSV or JSON sample.

1

Go to Logs

In your workspace left menu, select Logs.

2

Run query

Use the starter KQL in the upload card for a safe 24-hour sample.

3

Export CSV

Choose Export or Download as CSV, then upload it here.

// Pricing
Free
R0

starter

Validate value with sample uploads and limited dashboard history.

  • Basic dashboard
  • 3 uploads per month
  • 24-hour insight window
  • Lead summary by email
Start Free
Core
R699

per month

For teams that need repeatable reviews and deeper operational visibility.

  • Unlimited uploads
  • 30-day history
  • Advanced visualisations
  • Report exports
Checkout Core
Pro
R1,499

per month

AI-assisted recommendations, collaboration, and workflow integrations.

  • AI root-cause insights
  • Custom dashboards
  • API access
  • Priority support
Checkout Pro

Security promise: logs are encrypted at rest on paid tiers, free-tier samples are purged after processing, and users can request deletion from account support.

Customer Story

70%

faster incident triage target

A product engineering team uses grouped warnings, affected story links, and exportable summaries to move from scattered log review to a single investigation view.

The dashboard gives our engineers a single place to explain what changed, why it matters, and what to fix next.

Platform Lead

Azure product team

The free upload flow makes the value obvious before procurement gets involved. That is exactly how a technical product should feel.

Engineering Manager

SaaS operations