Allow Custom Dashboard Chart Colors and Improve Blocked/Server Failure Color Distinction
Feature Request
I would like to suggest an improvement to the color scheme used for the DNS Server Dashboard charts.
Current behavior
The Dashboard uses predefined colors for each query/result category, including:
- Total
- No Error
- Server Failure
- NX Domain
- Refused
- Authoritative
- Recursive
- Cached
- Blocked
- Dropped
- Clients
At present, the colors are fixed and cannot be customized by the administrator.
There is also some potential for confusion between the colors used for Blocked and Server Failure, especially when looking at the charts quickly or when several series are displayed simultaneously.
This is related to the general chart-color readability concern mentioned in issue #2011, but this request is specifically about the color assignments themselves and allowing administrators to customize them.
Proposed Changes
1. Short-term/default color change
As a small immediate usability improvement, I would suggest swapping the current colors used for:
- Blocked
- Server Failure
For example:
- Blocked: use the current Server Failure color
- Server Failure: use the current Blocked color
This would make the two categories easier to distinguish in my workflow.
I realize color semantics are subjective, which leads to the more useful long-term solution below.
2. Allow per-series dashboard color customization
Ideally, Technitium DNS Server could allow administrators to select the color associated with each dashboard/chart series.
For example:
| Dashboard Series | Customizable Color |
|---|---|
| Total | User selected |
| No Error | User selected |
| Server Failure | User selected |
| NX Domain | User selected |
| Refused | User selected |
| Authoritative | User selected |
| Recursive | User selected |
| Cached | User selected |
| Blocked | User selected |
| Dropped | User selected |
| Clients | User selected |
This could be implemented as a new section under something such as:
Administration / Settings → Web Console / Appearance → Dashboard Colors
or wherever the existing theme preferences are stored.
A simple color picker plus a Reset to Defaults button would be sufficient.
Why this would be useful
Different administrators use the Dashboard for different purposes.
For example, an administrator running extensive DNS blocking may want Blocked queries to be visually prominent, while another administrator may want Server Failure or Refused queries to stand out instead.
User-selectable colors would also help with:
- Color-vision accessibility
- Dark/light theme readability
- Avoiding visually similar chart series
- Large dashboards with many enabled series
- Quickly distinguishing operational failures from expected blocked queries
- Matching colors to an organization's monitoring conventions
Suggested behavior
The existing colors could remain the defaults so there would be no behavioral change for existing installations.
If the administrator changes a color, the selection could be stored as part of the web-console/UI preferences.
An option such as:
Reset Dashboard Colors to Default
would make it easy to return to the standard Technitium color scheme.
Environment
Technitium DNS Server version: [INSERT VERSION] Web browser: Chrome Theme: Dark
Thank you for considering this improvement.
Source: TechnitiumSoftware/DnsServer