Skip to content

[Bug]: UI has room for improvement #1047

Open
@aleks-mariusz

Description

@aleks-mariusz

Bug description

apologies i'm not sure if this should go under the cloud project or this one, but while there's some overlap, i presume most of this is implemented as default UI on netdata itself..

anyway I've been a long time user of netdata since the "classic UI days" (what i was quite used to, that is now only accessible at host:19999/v1).. when the new UI came around, i really didn't care for the redesign, and it sadly became the default some time around 1.41.x, but fortunately there was still a /v1 fallback i could escape the change. i've come to rely on since several times i used to have issues trying to get netdata cloud registration to even work (another story).

anyway i thought, ok it's now almost 2025 maybe the netdata-cloud registration issues have been sorted out (yes, they seem to now be), and i can give the cloud features a try, so i got my handful of hosts registered and.... the UI still sucks^H^H^H^H^H has room for improvement :-) seems i'm not the only one (tons of people complaining on #15640 )

first, when i select to get to the front page of netdata, and it will "harasses" me if i want to try netdata-cloud, so i finally give up and say ok let's give it a shot finally..

i've connected my hosts up and when i elect to go to the "new dashboard", perhaps since i'm logged into netcloud, it just redirects me back to the netdata front page i was on and re-harasses me about viewing the host on the netdata cloud again.. if i relent and click-ON remember my choice, oh boy well then it just goes into a fun redirect-loop endlessly 🤦

Here's how that looks:

Screen.Recording.2024-10-14.at.15.47.25-1080p-export.mp4

...and now i can't even load the /v1 endpoint anymore! This endpoint should really be excluded from that infernal modal popup.. i want to stay on the agent dashboard damn it, there are far more datapoints available there! netdata cloud has (understandably) limited endpoints being pushed up so let me decide if/when i want to instead of harassing me each time!

anyway so now i need to go and clear my cookies to be able to use the agent dashboard again.. Great, i did that and can now tell you why i much prefer the old UI (and why i instinctively tack on '/v1/' at the end of the url):

complaints about the new netdata UI:

  • the old UI had a nice overview at the top, the new one tries to do something similar, but it shows unnecessary sections not applicable for when viewing only one host, and that can't be eliminated
Screenshot 2024-10-14 at 16 53 21 2
  • so i thought, ok well maybe i can rearrange or resize these top sections to be less intrusive and let me see more of the actual graphs netdata is famous for, but when trying to 'drag and drop' the top two set of indicators, they just snap back to the same place they were.. and resizing them kinda works.. however i notice that they will jump up and down when they overlap vertically with another one, it's like the left edge of each indicator isn't changeable, very frustrating and unintuitive behaviour.. for example, imagine i want to change the order of the total disk reads and the total disk writes:
Screen.Recording.2024-10-14.at.16.57.12-1080p-export.mp4
  • when you load the tab up, it shows you more of the graphs, but it still shows you the bottom of the last row of indicators.. i ended up dragging these around not knowing what they were one time before realizing that i screwed them up since they are resizing secretly with only a few pixel being shown
Screenshot 2024-10-14 at 17 24 23
  • so sections on the right side-bar can't be collapsed. you click on the > expecting to collapse it, but this does nothing.. the only way to collapse is to click on another section (!).. this is highly non-standard, i should be able to at-will expand several sections, and collapse other ones so i can jump back and forth easily instead of requiring multiple clicks to get through to the desired section.. here you see the "Processes" section "stuck" open (i can't collapse it, it always stays open, others close if i open other ones.. just inconsistent behaviour here):
Screen.Recording.2024-10-14.at.17.00.48-1080p-export.mp4
  • when looking at the Nodes tab, i don't see an immediately obvious way to rearrange the order of nodes? It appears to be shown in alphabetical order, but it would be nice if i could change them order of the hosts or group them differently, or at the very least, collapse some lines with a node

  • add new metrics to the Nodes tab, the context drop down should be alphabetical (that way they are at least grouped properly)

Screenshot 2024-10-14 at 17 05 05
  • also in this tab, view does not resize in both directions?? it will resize expanding the window horizontally, but when contracting the window, it leaves the content cut off:
Screen.Recording.2024-10-14.at.17.05.53-1080p-export.mp4
  • nodes sidebar, seems to suggest the node can be expanded further since there's a > next to it, but clicking on the > nothing happens..
Screenshot 2024-10-14 at 17 10 01
  • also some places in the UI you use > and some places you use v
Screenshot 2024-10-14 at 17 12 41

anyway the list goes on and on, i understand this is an open source project and progress can only move so fast, but i think with the amount of years that this UI has been around, these things could be done better (and i would love to help if i knew JS but i don't, so i am unfortunately only able to complain rather than properly contribute.. apologies for the grumbling).

Expected behavior

a good UI experience would be nice :-)

Steps to reproduce

  1. use UI
  2. be dissappointed

Installation method

kickstart.sh

System info

Linux nas 4.18.0-553.16.1.el8_10.x86_64 #1 SMP Thu Aug 8 07:11:46 EDT 2024 x86_64 x86_64 x86_64 GNU/Linux
/etc/almalinux-release:AlmaLinux release 8.10 (Cerulean Leopard)
/etc/centos-release:AlmaLinux release 8.10 (Cerulean Leopard)
/etc/os-release:NAME="AlmaLinux"
/etc/os-release:VERSION="8.10 (Cerulean Leopard)"
/etc/os-release:ID="almalinux"
/etc/os-release:ID_LIKE="rhel centos fedora"
/etc/os-release:VERSION_ID="8.10"
/etc/os-release:PLATFORM_ID="platform:el8"
/etc/os-release:PRETTY_NAME="AlmaLinux 8.10 (Cerulean Leopard)"
/etc/os-release:ANSI_COLOR="0;34"
/etc/os-release:LOGO="fedora-logo-icon"
/etc/os-release:CPE_NAME="cpe:/o:almalinux:almalinux:8::baseos"
/etc/os-release:
/etc/os-release:ALMALINUX_MANTISBT_PROJECT="AlmaLinux-8"
/etc/os-release:ALMALINUX_MANTISBT_PROJECT_VERSION="8.10"
/etc/os-release:REDHAT_SUPPORT_PRODUCT="AlmaLinux"
/etc/os-release:REDHAT_SUPPORT_PRODUCT_VERSION="8.10"
/etc/os-release:SUPPORT_END=2029-06-01
/etc/redhat-release:AlmaLinux release 8.10 (Cerulean Leopard)
/etc/system-release:AlmaLinux release 8.10 (Cerulean Leopard)

Netdata build info

time=2024-10-14T12:33:29.419+01:00 comm=netdata source=collector level=error errno="13, Permission denied" tid=2200109  msg="Runtime directory '/var/cache/netdata' is not writable, falling back to '/tmp'"
time=2024-10-14T12:33:29.421+01:00 comm=netdata source=daemon level=error errno="13, Permission denied" tid=2200109  msg="Cannot open log file '/var/log/netdata/collectors.log'. Leaving fd 2 as-is."
time=2024-10-14T12:33:29.421+01:00 comm=netdata source=daemon level=error errno="13, Permission denied" tid=2200109  msg="Cannot open log file '/var/log/netdata/daemon.log'. Falling back to stderr."
time=2024-10-14T12:33:29.421+01:00 comm=netdata source=daemon level=error errno="13, Permission denied" tid=2200109  msg="System info script /usr/libexec/netdata/plugins.d/system-info.sh not found."
Packaging:
    Netdata Version ____________________________________________ : v1.47.0
    Installation Type __________________________________________ : custom
    Package Architecture _______________________________________ : unknown
    Package Distro _____________________________________________ : unknown
    Configure Options __________________________________________ : dummy-configure-command
Default Directories:
    User Configurations ________________________________________ : /etc/netdata
    Stock Configurations _______________________________________ : /usr/lib/netdata/conf.d
    Ephemeral Databases (metrics data, metadata) _______________ : /var/cache/netdata
    Permanent Databases ________________________________________ : /var/lib/netdata
    Plugins ____________________________________________________ : /usr/libexec/netdata/plugins.d
    Static Web Files ___________________________________________ : /usr/share/netdata/web
    Log Files __________________________________________________ : /var/log/netdata
    Lock Files _________________________________________________ : /var/lib/netdata/lock
    Home _______________________________________________________ : /var/lib/netdata
Operating System:
    Kernel _____________________________________________________ :
    Kernel Version _____________________________________________ :
    Operating System ___________________________________________ :
    Operating System ID ________________________________________ :
    Operating System ID Like ___________________________________ :
    Operating System Version ___________________________________ :
    Operating System Version ID ________________________________ :
    Detection __________________________________________________ :
Hardware:
    CPU Cores __________________________________________________ :
    CPU Frequency ______________________________________________ :
    RAM Bytes __________________________________________________ :
    Disk Capacity ______________________________________________ :
    CPU Architecture ___________________________________________ :
    Virtualization Technology __________________________________ :
    Virtualization Detection ___________________________________ :
Container:
    Container __________________________________________________ :
    Container Detection ________________________________________ :
    Container Orchestrator _____________________________________ : none
    Container Operating System _________________________________ :
    Container Operating System ID ______________________________ :
    Container Operating System ID Like _________________________ :
    Container Operating System Version _________________________ :
    Container Operating System Version ID ______________________ :
    Container Operating System Detection _______________________ :
                     �PX���>��6L��/�HF��Hl�\(��_Fd;gE[%���_Fyq.�c�J�`F�h�(�E~�8a�^f�e�aF��$��aF��R�O�b/`bF|h�����bF     �n&��0cF��He)���H�s���|�����z8�>       Z�h��h��@�G ���_SOURCE_MONOTONIC_TIMESTAMP=251993204830�#�m�)n$�ݗ�:B�lv��O����Q�:��Features:
    Built For __________________________________________________ : Linux
    Netdata Cloud ______________________________________________ : YES
    Health (trigger alerts and send notifications) _____________ : YES
    Streaming (stream metrics to parent Netdata servers) _______ : YES
    Back-filling (of higher database tiers) ____________________ : YES
    Replication (fill the gaps of parent Netdata servers) ______ : YES
    Streaming and Replication Compression ______________________ : YES (zstd gzip)
    Contexts (index all active and archived metrics) ___________ : YES
    Tiering (multiple dbs with different metrics resolution) ___ : YES (5)
    Machine Learning ___________________________________________ : YES
Database Engines:
    dbengine (compression) _____________________________________ : YES (zstd)
    alloc ______________________________________________________ : YES
    ram ________________________________________________________ : YES
    none _______________________________________________________ : YES
Connectivity Capabilities:
    ACLK (Agent-Cloud Link: MQTT over WebSockets over TLS) _____ : YES
    static (Netdata internal web server) _______________________ : YES
    h2o (web server) ___________________________________________ : YES
    WebRTC (experimental) ______________________________________ : NO
    Native HTTPS (TLS Support) _________________________________ : YES
    TLS Host Verification ______________________________________ : YES
Libraries:
    LZ4 (extremely fast lossless compression algorithm) ________ : NO
    ZSTD (fast, lossless compression algorithm) ________________ : YES
    zlib (lossless data-compression library) ___________________ : YES
    Brotli (generic-purpose lossless compression algorithm) ____ : NO
    protobuf (platform-neutral data serialization protocol) ____ : YES (system)
    OpenSSL (cryptography) _____________________________________ : YES
    libdatachannel (stand-alone WebRTC data channels) __________ : NO
    JSON-C (lightweight JSON manipulation) _____________________ : YES
    libcap (Linux capabilities system operations) ______________ : YES
    libcrypto (cryptographic functions) ________________________ : YES
    libyaml (library for parsing and emitting YAML) ____________ : YES
    libmnl (library for working with netfilter) ________________ : YES
Plugins:
    apps (monitor processes) ___________________________________ : YES
    cgroups (monitor containers and VMs) _______________________ : YES
    cgroup-network (associate interfaces to CGROUPS) ___________ : YES
    proc (monitor Linux systems) _______________________________ : YES
    tc (monitor Linux network QoS) _____________________________ : YES
    diskspace (monitor Linux mount points) _____________________ : YES
    freebsd (monitor FreeBSD systems) __________________________ : NO
    macos (monitor MacOS systems) ______________________________ : NO
    statsd (collect custom application metrics) ________________ : YES
    timex (check system clock synchronization) _________________ : YES
    idlejitter (check system latency and jitter) _______________ : YES
    bash (support shell data collection jobs - charts.d) _______ : YES
    debugfs (kernel debugging metrics) _________________________ : YES
    cups (monitor printers and print jobs) _____________________ : YES
    ebpf (monitor system calls) ________________________________ : NO
    freeipmi (monitor enterprise server H/W) ___________________ : YES
    nfacct (gather netfilter accounting) _______________________ : NO
    perf (collect kernel performance events) ___________________ : YES
    slabinfo (monitor kernel object caching) ___________________ : YES
    Xen ________________________________________________________ : NO
    Xen VBD Error Tracking _____________________________________ : NO
Exporters:
    AWS Kinesis ________________________________________________ : NO
    GCP PubSub _________________________________________________ : NO
    MongoDB ____________________________________________________ : YES
    Prometheus (OpenMetrics) Exporter __________________________ : YES
    Prometheus Remote Write ____________________________________ : YES
    Graphite ___________________________________________________ : YES
    Graphite HTTP / HTTPS ______________________________________ : YES
    JSON _______________________________________________________ : YES
    JSON HTTP / HTTPS __________________________________________ : YES
    OpenTSDB ___________________________________________________ : YES
    OpenTSDB HTTP / HTTPS ______________________________________ : YES
    All Metrics API ____________________________________________ : YES
    Shell (use metrics in shell scripts) _______________________ : YES
Debug/Developer Features:
    Trace All Netdata Allocations (with charts) ________________ : NO
    Developer Mode (more runtime checks, slower) _______________ : NO

Additional info

time=2024-10-14T12:33:29.419+01:00 comm=netdata source=collector level=error errno="13, Permission denied" tid=2200109 msg="Runtime directory '/var/cache/netdata' is not writable, falling back to '/tmp'"
time=2024-10-14T12:33:29.421+01:00 comm=netdata source=daemon level=error errno="13, Permission denied" tid=2200109 msg="Cannot open log file '/var/log/netdata/collectors.log'. Leaving fd 2 as-is."
time=2024-10-14T12:33:29.421+01:00 comm=netdata source=daemon level=error errno="13, Permission denied" tid=2200109 msg="Cannot open log file '/var/log/netdata/daemon.log'. Falling back to stderr."
time=2024-10-14T12:33:29.421+01:00 comm=netdata source=daemon level=error errno="13, Permission denied" tid=2200109 msg="System info script /usr/libexec/netdata/plugins.d/system-info.sh not found."
Packaging:
Netdata Version ____________________________________________ : v1.47.0
Installation Type __________________________________________ : custom
Package Architecture _______________________________________ : unknown
Package Distro _____________________________________________ : unknown
Configure Options __________________________________________ : dummy-configure-command
Default Directories:
User Configurations ________________________________________ : /etc/netdata
Stock Configurations _______________________________________ : /usr/lib/netdata/conf.d
Ephemeral Databases (metrics data, metadata) _______________ : /var/cache/netdata
Permanent Databases ________________________________________ : /var/lib/netdata
Plugins ____________________________________________________ : /usr/libexec/netdata/plugins.d
Static Web Files ___________________________________________ : /usr/share/netdata/web
Log Files __________________________________________________ : /var/log/netdata
Lock Files _________________________________________________ : /var/lib/netdata/lock
Home _______________________________________________________ : /var/lib/netdata
Operating System:
Kernel _____________________________________________________ :
Kernel Version _____________________________________________ :
Operating System ___________________________________________ :
Operating System ID ________________________________________ :
Operating System ID Like ___________________________________ :
Operating System Version ___________________________________ :
Operating System Version ID ________________________________ :
Detection __________________________________________________ :
Hardware:
CPU Cores __________________________________________________ :
CPU Frequency ______________________________________________ :
RAM Bytes __________________________________________________ :
Disk Capacity ______________________________________________ :
CPU Architecture ___________________________________________ :
Virtualization Technology __________________________________ :
Virtualization Detection ___________________________________ :
Container:
Container __________________________________________________ :
Container Detection ________________________________________ :
Container Orchestrator _____________________________________ : none
Container Operating System _________________________________ :
Container Operating System ID ______________________________ :
Container Operating System ID Like _________________________ :
Container Operating System Version _________________________ :
Container Operating System Version ID ______________________ :
Container Operating System Detection _______________________ :
�PX���>��6L��/�HF��Hl�(��_Fd;gE[%���_Fyq.�c�J�F�h�(�E~�8a�^f�e�aF��$��aF��R�O�b/bF|h�����bF �n&��0cF��He)���H�s���|�����z8�> Z�h��h��@�G ���_SOURCE_MONOTONIC_TIMESTAMP=251993204830�#�m�)n$�ݗ�:B�lv��O����Q�:��Features:
Built For __________________________________________________ : Linux
Netdata Cloud ______________________________________________ : YES
Health (trigger alerts and send notifications) _____________ : YES
Streaming (stream metrics to parent Netdata servers) _______ : YES
Back-filling (of higher database tiers) ____________________ : YES
Replication (fill the gaps of parent Netdata servers) ______ : YES
Streaming and Replication Compression ______________________ : YES (zstd gzip)
Contexts (index all active and archived metrics) ___________ : YES
Tiering (multiple dbs with different metrics resolution) ___ : YES (5)
Machine Learning ___________________________________________ : YES
Database Engines:
dbengine (compression) _____________________________________ : YES (zstd)
alloc ______________________________________________________ : YES
ram ________________________________________________________ : YES
none _______________________________________________________ : YES
Connectivity Capabilities:
ACLK (Agent-Cloud Link: MQTT over WebSockets over TLS) _____ : YES
static (Netdata internal web server) _______________________ : YES
h2o (web server) ___________________________________________ : YES
WebRTC (experimental) ______________________________________ : NO
Native HTTPS (TLS Support) _________________________________ : YES
TLS Host Verification ______________________________________ : YES
Libraries:
LZ4 (extremely fast lossless compression algorithm) ________ : NO
ZSTD (fast, lossless compression algorithm) ________________ : YES
zlib (lossless data-compression library) ___________________ : YES
Brotli (generic-purpose lossless compression algorithm) ____ : NO
protobuf (platform-neutral data serialization protocol) ____ : YES (system)
OpenSSL (cryptography) _____________________________________ : YES
libdatachannel (stand-alone WebRTC data channels) __________ : NO
JSON-C (lightweight JSON manipulation) _____________________ : YES
libcap (Linux capabilities system operations) ______________ : YES
libcrypto (cryptographic functions) ________________________ : YES
libyaml (library for parsing and emitting YAML) ____________ : YES
libmnl (library for working with netfilter) ________________ : YES
Plugins:
apps (monitor processes) ___________________________________ : YES
cgroups (monitor containers and VMs) _______________________ : YES
cgroup-network (associate interfaces to CGROUPS) ___________ : YES
proc (monitor Linux systems) _______________________________ : YES
tc (monitor Linux network QoS) _____________________________ : YES
diskspace (monitor Linux mount points) _____________________ : YES
freebsd (monitor FreeBSD systems) __________________________ : NO
macos (monitor MacOS systems) ______________________________ : NO
statsd (collect custom application metrics) ________________ : YES
timex (check system clock synchronization) _________________ : YES
idlejitter (check system latency and jitter) _______________ : YES
bash (support shell data collection jobs - charts.d) _______ : YES
debugfs (kernel debugging metrics) _________________________ : YES
cups (monitor printers and print jobs) _____________________ : YES
ebpf (monitor system calls) ________________________________ : NO
freeipmi (monitor enterprise server H/W) ___________________ : YES
nfacct (gather netfilter accounting) _______________________ : NO
perf (collect kernel performance events) ___________________ : YES
slabinfo (monitor kernel object caching) ___________________ : YES
Xen ________________________________________________________ : NO
Xen VBD Error Tracking _____________________________________ : NO
Exporters:
AWS Kinesis ________________________________________________ : NO
GCP PubSub _________________________________________________ : NO
MongoDB ____________________________________________________ : YES
Prometheus (OpenMetrics) Exporter __________________________ : YES
Prometheus Remote Write ____________________________________ : YES
Graphite ___________________________________________________ : YES
Graphite HTTP / HTTPS ______________________________________ : YES
JSON _______________________________________________________ : YES
JSON HTTP / HTTPS __________________________________________ : YES
OpenTSDB ___________________________________________________ : YES
OpenTSDB HTTP / HTTPS ______________________________________ : YES
All Metrics API ____________________________________________ : YES
Shell (use metrics in shell scripts) _______________________ : YES
Debug/Developer Features:
Trace All Netdata Allocations (with charts) ________________ : NO
Developer Mode (more runtime checks, slower) _______________ : NO

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions