Code Monkey home page Code Monkey logo

dashboard's Introduction

Netdata Agent v1 Dashboard (deprecated)

Available Scripts

npm run start:dashboard

Starts dashboard in the development mode.
Open http://localhost:3000 to view it in the browser. Make sure Netdata is running under http://localhost:19999.

If your Netdata is running on a remote host you need to create an SSH tunnel to the host ssh -L 127.0.0.1:19999:127.0.0.1:19999 NODE.

npm run start:node-view

Starts app with only Node-View component running. This is used to develop the component for Cloud purposes.

npm run start:tv

Starts app with tv.html, as a static (custom) dashboard in dev mode.

npm test

Launches the test runner in the interactive watch mode.

npm run lint

Runs a linter check. The same task is run in GH Actions pipeline.

npm run build

Builds the dashboard for production to the build folder.
It bundles React in production mode and optimizes the build for the best performance.

The build is minified and the filenames include the hashes.

dashboard's People

Contributors

alexnti avatar allelos avatar andrewm4894 avatar apostolidhs avatar azein avatar builat avatar burbuli8ra avatar christophidesp avatar cosmix avatar danshilm avatar dependabot[bot] avatar ferroin avatar habetdin avatar hugovalente-pm avatar ilyam8 avatar jacekkolasa avatar jjtsou avatar joelhans avatar ktsaou avatar lokerhp avatar mjnaderi avatar novykh avatar odyslam avatar rex4539 avatar vlegakis avatar zack-shoylev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dashboard's Issues

Horizontal scrollbar while netdata is loading

Bug report summary

While netdata is loading and before the CSS fully kicks in, there's a horizontal scrollbar on the page. I believe this happens before bootstrap css loads, and there's no border-box styles, which causes the padding on body to overflow.

image

OS / Environment

Windows 10, Chrome 83 and Firefox 77

Netdata version

netdata v1.22.1-218-nightly

Component Name

Loading UI.

Steps To Reproduce
  1. Open https://london.my-netdata.io/default.html
  2. Observe the loading overlay
Expected behavior

No horizontal scrollbar.

units conversion (seconds): do not convert negative values to positive

Convert seconds to time current behavior:

-1 => 00:00:01

Expected behavior:

-1 => -00:00:01

My use case: there is rdb_current_bgsave_time_sec redis metrics, it means

Duration of the on-going RDB save operation if any

-1 means there is no on-going operation, on the dashboard i see it as 00:00:01 which means there is on-going operation and its durations is 1 second.

Probably i am missing something and there is need to abs the value, however i think that it is much better to not do it because it is misleading as it is now.

add person_id to `posthog.register()`

  • If the person_id is available then we should pass it as the distinct_id when calling posthog.register(). If it is not available then we should just not set any distinct_id and so fallback to the default one from PostHog
  • We should also add an event attribute in the posthog.register called netdata_person_id and if the person_id is not available or known then pass the string "Unavailable" as the event attribute.

Disabling proc plugin causes snapshot save to report error

@KickerTom commented on Mon Nov 02 2020

Bug report summary

When I disable plugin:proc using netdata.conf configuration and then try saving snapshot using the default dashboard,js, I receive an error that one graph failed to be saved.
This seems to be caused by this section in index.html (starting line 124), hardcoding access to system.intr data:

    <div id="masthead" style="display: none;">
        <div class="container">
            <div class="row">
                <div class="col-md-7">
                    <h1>Netdata
                        <p class="lead">Real-time performance monitoring, in the greatest possible detail</p>
                    </h1>
                </div>
                <div class="col-md-5">
                    <div class="well well-lg">
                        <div class="row">
                        <div class="col-md-6">
                            <b>Drag</b> charts to pan.
                            <b>Shift + wheel</b> on them, to zoom in and out.
                            <b>Double-click</b> on them, to reset.
                            <b>Hover</b> on them too!
                            </div>
                        <div class="col-md-6">
                            <div class="netdata-container" data-netdata="system.intr" data-chart-library="dygraph" data-dygraph-theme="sparkline" data-dygraph-type="line" data-dygraph-strokewidth="3" data-dygraph-smooth="true" data-dygraph-highlightcirclesize="6" data-after="-90" data-height="60px" data-colors="#C66"></div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>

For my use-case, I have commented out this section entirely, but that not a good generic solution. Any reason the system.intr reference is hardcoded here?

Netdata version

1.26.0, but present in master as well.

Component Name

web

Steps To Reproduce
  1. Add this to netdata.conf:
[plugins]
proc = no

  1. Restart netdata
  2. Try exporting snapshot, you will receive error "1 failed to be downloaded".

@stelfrag commented on Fri Apr 02 2021

Hi @KickerTom

Sorry it took so long to get back to you ๐Ÿ˜ž I tried this is the latest master and the issue seems to be resolved. Could you please confirm so we can close this or investigate further if this doesn't work for you?


@KickerTom commented on Tue Apr 06 2021

I am sorry to bring the bad news :-), but it still fails for me. What I did:

  • clean clone of master
  • build (autoreconf -ivf; ./configure --prefix=/opt/netdata --localstatedir=/tmp/netdata --disable-ebpf --disable-cloud --enable-https=no --enable-dbengine=no; make)
  • install (make install)
  • copy example netdata.conf from system folder in sources, add the section disabling proc plugin
  • start netdata, let it run for couple of seconds
  • try exporting snapshot

What I got was red line in the dialog "1 charts have failed to be downloaded" and when the progress line is full, I get a popup saying "1 failed to be downloaded". Tested with Firefox and Chromium, both on Linux.

Let me know if you need anything else.


@ilyam8 commented on Tue Apr 06 2021

@stelfrag i confirm the issue

using the default dashboard,js

noticed that sentence and decided to check our old dashboard (/old)

Screenshot 2021-04-06 at 19 33 58


@stelfrag commented on Tue Apr 06 2021

Confirmed on the old dashboard .. thank you @KickerTom !


@stelfrag commented on Tue Apr 06 2021

@jacekkolasa can this be addressed?


@KickerTom commented on Tue Apr 06 2021

Just out of curiosity - I am using the default dashboard installed by make install. If this is "the old" dashboard, where is "the new" one, and why it is not the default one? :-)


@Ferroin commented on Wed Apr 07 2021

Just out of curiosity - I am using the default dashboard installed by make install. If this is "the old" dashboard, where is "the new" one, and why it is not the default one? :-)

The โ€˜newโ€™ one can be found at https://github.com/netdata/dashboard. The same code is also used as part of the Netdata Cloud UI, so it got split to a separate repo so it could be more easily shared in both places.

As of right now, itโ€™s installed correctly by our install scripts packaging/installer/kickstart.sh and netdata-installer.sh), but not by a plain manual install with make install. The lack of make install support is honestly something we should fix though.

@jacekkolasa @stelfrag I think the cleanest way to actually handle the dashboard properly is to make it a submodule (given that we are now obviously allowing usage of them) and have it handled by existing build system instead of the installer. That would get us the proper up-to-date dashboard in our release tarballs, which would also mean that most third-party packages would have it as well, as well as allowing make install to properly install the current version of the dashboard.


@KickerTom commented on Thu Apr 08 2021

Hmm, more bad news :-). I just tried the new dashboard, and the problem is still there.
To make sure I haven't made anything stupid, I used the official release installation script (netdata-v1.30.0.gz.run). You need to make sure netdata does not start automatically at all after install. Then you modify configuration and disable the proc plugin, then you can start netdata and try exporting snapshot.
If you had proc plugin running in the past, or started during install, you need to clear your history data (by deleting the local db, caches etc). Otherwise even the old data in the db are enough to hide this problem.


@ilyam8 commented on Thu Apr 08 2021

This is the case, i confirm.


@odyslam commented on Thu Apr 08 2021

Thanks @KickerTom for helping us figure this out.

@stelfrag @jacekkolasa I second @Ferroin's proposal in the sense that we need to address this discrepancy if we really want to remove unnecessary friction from Netdata installation via different methods (e.g homebrew, distro packages, etc.)


@jacekkolasa commented on Thu Apr 15 2021

@KickerTom Indeed, there is a bug (on new Dashboard, too), your instructions are very accurate, thanks!
FTR it still allows using snapshots, the problem is only that annoying alert popup.

@Ferroin re: submodules we should also consult with @novykh and @netdata/cloud-fe , i like the idea.


@Ferroin commented on Fri Apr 16 2021

@jacekkolasa Do you want to set up a meeting to discuss this some time next week? The requirements for getting the dashboard integrated as a submodule are not exactly trivial, but should not be particularly difficult either, and it would be good to make sure everyone is on the same page about what would be needed before we start trying to decide if we want to do it or not.

[Bug]: agent dashboard `after` and `before` url params not respected

Bug description

If i try to load an agent dashboard url with specific after and before params they get overwritten on page load with -420 and 0 respectively.

link to internal slack thread on this: https://netdata-cloud.slack.com/archives/CQELFFSUB/p1642003156001200

Expected behavior

The specific after and before url params take precendence.

Steps to reproduce

  1. scroll to a specific url with an after and before populated.
  2. copy and paste the url into a new tab.
  3. refresh the page - you do not go to the after and before you expected.
    ...

Installation method

kickstart.sh

System info

no

Netdata build info

no

Additional info

No response

Can't view replicated node

When trying to open netdata for child from parent netdata I see nothing but this error in JS console:

Screenshot

Parent netdata version: v1.31.0-265-ge7cd69dba
Child netdata version: v1.19.0-10-g48525f9

Slave overwrite menu

When I am selecting an slave on the menu:
err9

Instead to open in the main screen, the response is overwritten the menu:

err10

Add some metadata event attributes to posthog implementation

We would like to add the following event attributes, derived from /api/v1/info as additional event attributes sent for each posthog event. This will provide a lot more context about a users session to help with product analytics and usage statistics.

  • netdata_version = version
  • mirrored_host_count = count of mirrored_hosts
  • alarms_normal = alarms.normal
  • alarms_warning = alarms.warning
  • alarms_critical = alarms.critical
  • host_os_name = os_name
  • host_os_id = os_id
  • host_os_id_like = os_id_like
  • host_os_version = os_version
  • host_os_version_id = os_version_id
  • host_os_detection = os_detection
  • system_cores_total = cores_total
  • system_total_disk_space = total_disk_space
  • system_cpu_freq = cpu_freq
  • system_ram_total = ram_total
  • system_kernel_name = kernel_name
  • system_kernel_version = kernel_version
  • system_architecture = architecture
  • system_vitrualization = virtualization
  • system_virt_detection = virt_detection
  • system_container = container
  • system_container_detection = container_detection
  • container_os_name = container_os_name
  • container_os_id = container_os_id
  • container_os_id_like = container_os_id_like
  • container_os_version = container_os_version
  • container_os_version_id = container_os_version_id
  • host_collectors_count = count of collectors
  • host_cloud_enabled = cloud-enabled
  • host_cloud_available = cloud-available
  • host_agent_claimed = agent-claimed
  • host_aclk_available = aclk-available
  • host_is_parent = _is_parent from host_labels
  • mirrored_hosts_reachable = Count of reachable=true from mirrored_hosts_status
  • mirrored_hosts_unreachable = Count of reachable=false from mirrored_hosts_status
  • host_collector_modules = '|' separated string concatenated list of pluginfrom collectors e.g. apps.plugin|python.d.plugin|proc.plugin|proc.pluginโ€ฆ there should be one for each collector duplicates are ok in the string as we want the order to match that of host_collector_plugins.
  • host_collector_plugins = '|' separated string concatenated list of modulefrom collectors e.g. |redis|/proc/diskstats|/proc/softirqs|/proc/uptime โ€ฆ notice the โ€œ โ€œ at start of that list - that's ok.

The event attributes can be set at the same time of the initial posthog.register call that we use to mask things like ip and host etc.

https://github.com/netdata/dashboard/blob/posthog-test/src/domains/global/sagas.ts#L86

This will mean that important metadata like netdata version etc will now be available as part of the agent telemetry and so will make things like spotting anomalies and bugs in usage behaviour by netdata version etc much much easier.

add event_source = "agent dashboard" to posthog.register()

It will be useful to add an attribute called "event_source" to all agent dashboard events. We will use event_source as important metadata in PostHog and elsewhere.

So i think we can just add an "event_source" attribute set to "agent dashboard" into the posthog.register() call.

[Bug]: Fragment id in URL is mangled after zooming/moving/highlighting in graph area

Bug description

Every now and then I share or temporarily bookmark references to specific events, and recently (somewhere after updating to 1.30 or so) I noticed that links do not work as expected, i.e. all time ranges, zoom scale and event location in menu is reset.

For instance, I have URL like this after scrolling in or clicking on menu:

http://192.168.1.1:19999/#menu_cpu;after=0;before=0;theme=slate;utc=Europe/Berlin

Fragment is #menu_cpu, which is correct, and this URL could be easily shared with someone.

But as soon as I zoom in/out, move to different time period or use highlight, the URL is mangled - looks like sorting is applied, and fragment reference "#menu_cpu" gets a "value":

http://192.168.1.1:19999/#after=-726;before=0;menu_cpu=undefined;theme=slate;utc=Europe%2FBerlin

At this point, the location and interval are definitely lost - reload, bookmarking or sending URL to someone will set interval to last 7m and zoom will be reset - which makes URL sharing pointless unless you set highlight (clicking on highlight will display marked interval).

Navigation (at least scrolling) to other graphs will temporarily restore "proper" URL - but only until next zoom/move/highlight action.

This problem exists in 1.33.0, few previous versions, and is browser independent - reproducible in all current Edge/Chrome/Firefox.

Expected behavior

Location on page and highlight/zoom/interval should be preserved when URL is shared or bookmarked and used later or in different browser.

Steps to reproduce

  1. Scroll in to any graph to update URL anchor
  2. Zoom in/out, move to another timeframe or use highlight
  3. Check the URL and open it in different browser/window/tab - it is mangled now, only highlight position is preserved (if set)

Installation method

kickstart-static64.sh

System info

/etc/lsb-release:DISTRIB_ID=Ubuntu
/etc/lsb-release:DISTRIB_RELEASE=18.04
/etc/lsb-release:DISTRIB_CODENAME=bionic
/etc/lsb-release:DISTRIB_DESCRIPTION="Ubuntu 18.04.6 LTS"

Netdata build info

Version: netdata v1.33.0
Configure options:  '--prefix=/opt/netdata/usr' '--sysconfdir=/opt/netdata/etc' '--localstatedir=/opt/netdata/var' '--libexecdir=/opt/netdata/usr/libexec' '--libdir=/opt/netdata/usr/lib' '--with-zlib' '--with-math' '--with-user=netdata' '--enable-cloud' '--without-bundled-protobuf' '--with-bundled-libJudy' 'CFLAGS=-static -O3 -I/openssl-static/include' 'LDFLAGS=-static -L/openssl-static/lib' 'PKG_CONFIG_PATH=/openssl-static/lib/pkgconfig'
Install type: kickstart-static
    Binary architecture: x86_64

Additional info

No response

Incorrect time display in charts past midnight (24:01:30... till 01:00)

@aldem commented on Mon Jul 13 2020

Bug report summary

In dashboard chart display, the time since midnight and till 01:00 is reported as 24:01:30 and so on instead of 00:01:30:
image

I see it in most recent nightly (v1.23.1-77-g013c9da6) but not in v1.23.1 stable and it affects all displayed charts, not only one.

OS / Environment
Linux pve 5.4.44-2-pve #1 SMP PVE 5.4.44-2
Debian GNU/Linux 10 (buster) (Proxmox)
Netdata version

v1.23.1-77-g013c9da6

Component Name

web (probably)

Steps To Reproduce

Not sure if this is relevant but after I have installed nightly version I have deleted all dbengine data so it was a clean start.

My configuration has nothing special:

[global]
        history = 90000
        memory mode = dbengine
        page cache size = 512
        dbengine disk space = 2048
        access log = none

[plugins]
        ebpf = no
        ebpf_process = no
Expected behavior

Display time since midnight properly, not as 24:..


@cakrit commented on Mon Oct 26 2020

I upped the prio to medium, this shouldn't be hard to fix.


@jacekkolasa commented on Tue Oct 27 2020

This is related to local browser settings, timezone and language.
@aldem Do you still experience this issue? If yes, can you please share which timezone settings to your have in the Dashboard? It's under settings/locale/"Show browser local time or server time?" section

Can you also tell which browser are you using and check your detected language, by running navigator.language in browser console?


@aldem commented on Tue Oct 27 2020

@jacekkolasa Yes, I still do (at least in 1.26 stable, didn't try nighties yet).

Indeed, the problem is probably browser related - I have no issue with Firefox but it is present in Chrome and Edge (all most recent). Language is detected as "en" (Edge) and "en-US" (Chrome). Timezone is set to server which is in turn set to CET (though this is also client's side time zone).


@jacekkolasa commented on Tue Nov 17 2020

i need to prioritise it lower since i cannot recreate it and perhaps that issue doesn't cause that many problems..

[BUG] Chart still plays when export snapshot modal is open

Bug report summary

Reproduced on katsuna

OS / Environment

Reproduced on katsuna

Netdata version

v1.31.0-366-nightly

Installation method

Don't know

Component Name

Snapshots with Play/Pause controls

Steps To Reproduce
  1. Check that your chart is playing
  2. Open the export snapshot modal
  3. Chart continues to play on the background
Expected behavior

Chart should be paused while user has the export snapshot modal open, modal is referent to the period the user was seeing when he asked the modal to open

A wonderful example of node dep hell

From peer dependencies not being installed, precompiled versions not avail, to weirdness like this.

Building: /usr/local/bin/node /tmp/dashboard/node_modules/node-gyp/bin/node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=
gyp info it worked if it ends with ok
gyp verb cli [
gyp verb cli   '/usr/local/bin/node',
gyp verb cli   '/tmp/dashboard/node_modules/node-gyp/bin/node-gyp.js',
gyp verb cli   'rebuild',
gyp verb cli   '--verbose',
gyp verb cli   '--libsass_ext=',
gyp verb cli   '--libsass_cflags=',
gyp verb cli   '--libsass_ldflags=',
gyp verb cli   '--libsass_library='
gyp verb cli ]
gyp info using [email protected]
gyp info using [email protected] | freebsd | x64
gyp verb command rebuild []
gyp verb command clean []
gyp verb clean removing "build" directory
gyp verb command configure []
gyp verb check python checking for Python executable "/usr/local/bin/python3.8" in the PATH
gyp verb `which` succeeded /usr/local/bin/python3.8 /usr/local/bin/python3.8
gyp ERR! configure error
gyp ERR! stack Error: Command failed: /usr/local/bin/python3.8 -c import sys; print "%s.%s.%s" % sys.version_info[:3];
gyp ERR! stack   File "<string>", line 1
gyp ERR! stack     import sys; print "%s.%s.%s" % sys.version_info[:3];
gyp ERR! stack                       ^
gyp ERR! stack SyntaxError: invalid syntax
gyp ERR! stack
gyp ERR! stack     at ChildProcess.exithandler (child_process.js:383:12)
gyp ERR! stack     at ChildProcess.emit (events.js:400:28)
gyp ERR! stack     at maybeClose (internal/child_process.js:1058:16)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:293:5)
gyp ERR! System FreeBSD 13.0-STABLE
gyp ERR! command "/usr/local/bin/node" "/tmp/dashboard/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
gyp ERR! cwd /tmp/dashboard/node_modules/node-sass
gyp ERR! node -v v14.18.1
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok

I have many more, all hail node!

Contributing guidelines

Hey @jacekkolasa,

I want to align this repo with the others, in the work that I am doing to remove friction in the contribution process.

Can you please walk me through the contribution process for the dashboard?

  • What are the parts that have to do with Netdata Cloud (thus the contributor does not care)
  • How should a contributor develop? (simply fork and edit files? Any hints on the structure and/or workflow?
  • From the readme I understand that I don't need to do anything on the agent installation, it talks directly with the API so I just edit my fork, it is served by some static server in the npm scripts and it connects to the agent that is running on my computer, right?

Dashboard: clicking time selection causes RangeError: Invalid time value

Bug report summary

Cannot change timeframe

OS / Environment

Ubuntu host
Chrome 94.0.4606.81

Netdata version

v1.31.0-370-nightly

Installation method

script

Component Name

Dashboard

Steps To Reproduce
  1. Open dashboard, url http://xx.xx.xx.xx:19999/#after=-300;before=0;theme=slate;utc=Europe%2FHelsinki
  2. Click time selection
    => dialog does not open and nothing works aftetr that. See
    image

Console log shows:
react-dom.production.min.js:196 RangeError: Invalid time value
at Module.H (index.js:373)
at Lt (react-datepicker.min.js:1)
at n.renderCurrentMonth (react-datepicker.min.js:1)
at n.renderDefaultHeader (react-datepicker.min.js:1)
at n.renderHeader (react-datepicker.min.js:1)
at n.renderMonths (react-datepicker.min.js:1)
at n.value (react-datepicker.min.js:1)
at Ja (react-dom.production.min.js:181)
at Qa (react-dom.production.min.js:180)
at Tc (react-dom.production.min.js:261)

Expected behavior

User can select time

posthog send `host_collectors` as an array

It's looking like it will be better and easier to maintain and validate if we just send the json from /api/v1/info/ collectors as a string to PostHog.

It can then be wrangled further down the pipeline and will be easier for data validation using this approach.

[BUG] Constant gaps in all charts

Describe the bug

I recently installed a fresh copy of Ubuntu LTS 20.04 with a virtualmin server configured on it, running a couple websites. Iโ€™m having a strange issue with the netdata dashboard on both the agent and cloud side of things where every minute or so I get a gap of a few seconds of lost data - on everything. Iโ€™ve tried googling this issue and cannot seem to find other occurrences like mine.

The odd thing is - my server is hardly being utilized. It is using 5% CPU at max, and has plenty of RAM and bandwidth available. The gaps also do appear to be pretty consistent, appearing every 30-35 seconds. Does anyone have any ideas about what may be causing this?

User reported bug on forums: https://community.netdata.cloud/t/constant-gaps-in-all-charts/2342

To Reproduce
Steps to reproduce the behavior:
N/A

Expected behavior

No gap is expected to appear on charts when no valid cause seems to exist.

Screenshots

Check forum thread

Error logs

Check forum thread

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

Can't plot tiny plots with netdata

Hi!

I'm trying to plot small plots on the bottom of my screen using uebersicht and netdata.

I am able to achieve the following

image

However, I would like to even further decrease the height of the box, but the issue is that the content then is cut off, instead of being scaled. Is there a solution for this?

This is what it looks like after

image

Thanks!

convert URL in the `info` field to a link (href) when rendering Netdata Alarms

I want to add a link to the alarm info field.

My use case is notifying a user that he uses a deprecated collector, it's gonna be removed soon and he needs to migrate his configuration to the new collector. And I want to add a link to the new collector documentation.


plaintext link

info: You are using deprecated python.d sensors module that will be removed in v1.30.3. \
      Migrate your configuration to the go.d apache module \
      (https://learn.netdata.cloud/docs/agent/collectors/go.d.plugin/modules/apache).

The result is not good because the right part (warning when, calculation, etc) doesn't fit into the screen if the link length is big.

Screenshot 2021-04-21 at 16 30 23

using HTML tags

info: You are using deprecated python.d sensors module that will be removed in <code>v1.30.3</code>. \
      Migrate your configuration to the \
      <a href="https://learn.netdata.cloud/docs/agent/collectors/go.d.plugin/modules/apache" target="_blank">go.d apache</a> module.

Looks perfect. However, it doesn't really do, because using HTML tags breaks some notification methods (for instance telegram, you get 400).

Screenshot 2021-04-21 at 16 35 25

[Request] convert URL in the info field to a link (href)

info: You are using deprecated python.d sensors module that will be removed in <code>v1.30.3</code>. \
      Migrate your configuration to the go.d apache module (https://learn.netdata.cloud/docs/agent/collectors/go.d.plugin/modules/apache).

I want to get on the Dashboard

You are using the deprecated python.d sensors module that will be removed in v1.30.3.
Migrate your configuration to the go.d apache module (link).

mask referrer attributes in posthog.

We should have a list of "allowed_referrer_domains"

e.g.

allowed_referrer_domains = ['$direct', 'www.google.com', 'duckduckgo.com', 'app.netdata.cloud', 'www.reddit.com', 'my-netdata.io', 'github.com', 'www.netdata.cloud', 'staging.netdata.cloud']
  • If $initial_referring_domain is not in allowed_referrer_domains then we should hash the values of $initial_referrer and $initial_referrer_domain and set them in the posthog.register().
  • If $referring_domain is not in allowed_referrer_domains then we should hash the values of $referrer and $referrer_domain and set them in the posthog.register().

This will avoid any data we don't want like ip addresses etc from coming in via those attributes.

dashboard ignores /usr/share/netdata/web/version.txt

@jacekkolasa
Using the solution mentioned here netdata/netdata#233 (comment) no longer works

Another bad user experience caused by this bug is that when you've installed a packaged version of netdata it's not covered by the documentation (since it's impossible to cover all distros etc) and it's not advisable to work around package management frameworks in general
https://repology.org/project/netdata/versions

Please make this optional and preferably hide the icon when disabled

Tested operating system (not relevant): FreeBSD 13
Netdata version: 1.31.0

Best regards,
Daniel

Problematic handling of sub-second durations

@cakrit commented on Fri Jan 29 2021

Durations in certain charts can be returned in a strange precision (hundreds of nanoseconds), but our charts can only display durations in seconds, causing the following:

image

The specific charts are from Redis (collected via the prometheus collector) in our production.

Agent dashboard top bar gets cut with lower resolutions

Bug report summary

When opening the agent dashboard and you are on lower resolution (below 1330px) the top bar elements start to get cut.
Note: This issues was also reported on the Cloud

OS / Environment

Not relevant

Netdata version

v1.31.0-447-nightly

Installation method

Not relevant

Component Name

Dashboard

Steps To Reproduce
  1. Open the agent dashboard
  2. Using browsers device toolbar, go to a resolution below 1330px width
  3. See that Sign in button, if you are not signed in, gets cut
Expected behavior

Ideally the top bar should be full responsive but some other improvements could be made to minimize this:

  1. The spacing of the header element can be improved by lowering the whitespace/padding between elements
  2. The date-time picker can be improved by auto-resizing concerning its contents. Also, the "โ–ถ๏ธ Playing" can be shortened by removing the label since the visual metaphor is sufficient.
  3. Below 1280px width resolution the left navigation menu will collapse. When expanding will act as an overlay i.e. will not "push" the elements of the page. --> this could be a "nice to have"

create a release on new git tag

When new git tag is created, CI/CD should trigger a pipeline:

npm install (it's important that it's npm, not yarn)
npm run build

The contents of the built /build folder should be part of the release.
Checksum file should be built, to validate the compilation

wrong message?

text: "This agent cannot connect to Netdata Cloud. Please talk to system's administrator for"
+ " more information.",

This message has 2 issues:

  1. This agent cannot connect to Netdata Cloud, what does it mean? The browser cannot connect to Netdata Cloud or the agent is not connected to netdata cloud (lost ACLK)?

  2. Please talk to system's administrator for more information. assumes that the user is not the system administrator and it is funny and awkward if the user is indeed the admin. So, do not make assumptions on corporate processes and procedures. Just state the problem and let the user decide how to deal with it.

Basic Dashboard Issues (tooltips and more)

Please use a tooltip library that has a tip indicating the place it refers to.


Screenshot from 2021-09-17 18-03-13

  • Change the tooltip to:
Sign in to manage all your systems and applications together,
have infrastructure wide composite dashboards, create
custom dashboards, central dispatch of alarm notifications,
intelligent troubleshooting features and more.

Screenshot from 2021-09-17 18-09-40

Now there are 2 tooltips:

  • on the critical badge
  • on the warning badge

Both of the above badges are clickable and they open the alerts modal.

  • Please add a tooltip on the ring icon See all health checks and make it clickable.

The following appears on hover to the caret next to play/pause button:

Screenshot from 2021-09-17 18-14-08

  • Change it to Manually select play mode

When the caret is clicked the following appears:

Screenshot from 2021-09-17 18-16-11

Please add a tooltip for each option:

  • Play -> Automatically refresh charts with new data
  • Pause -> Don't auto-refresh the charts
  • Force Play -> Automatically refresh, even when you work on other windows

Screenshot from 2021-09-17 18-22-37

The is no tooltip on the timezone picker.

  • Add tooltip: Select the timezone of the dashboard

  • There is no tooltip on the hostname (clicking the hostname should be somewhat smart, especially when the node is claimed - TBD)
  • There is no tooltip on the netdata logo (it should be clickable too to lead to our site)
  • There is no tooltip on the caret to expand the tab on the left.
  • There are no tooltips on the space selection list (neither when signed in, nor when signed out)
  • The tooltip on "help" has a different tooltip engine
  • The tooltip on "Settings" has a different tooltip engine
  • The tooltip on "Profile" has a different tooltip engine and it says User Settings. It should say User profile

poor Dashboard->Alarms performance when there are a lot of alarms under the same section (family)

@ilyam8 commented on Mon Apr 05 2021

Bug report summary

It takes 6-7 seconds to load netdata alarms when there a lot of alarms under the same section.

Screenshot 2021-04-05 at 15 39 57

Exact number of alarms in my test is 100

[pc ilyam]# curl -s http://127.0.0.1:19999/api/v1/alarms?all | jq ".alarms" | jq length
100

I was trying to add alarms for systemd units state. systemdunits collector creates a chart per unit type. Number of dimensions in charts equal to number of units per the type (up to 90 on my server).

I added the following alarm

template: systemd_service_units_state
      on: systemd.service_units_state
  lookup: max -1s foreach *
   units: ok/failed
   every: 10s
    warn: $this != nan AND $this == 5
   delay: down 5m multiplier 1.5 max 1h
    info: systemd service crashed
      to: sysadmin

And noticed performance problems.

OS / Environment
Linux pc 5.10.23-1-MANJARO #1 SMP PREEMPT Thu Mar 11 18:47:18 UTC 2021 x86_64 GNU/Linux
release [Click]
/etc/arch-release:Manjaro Linux
/etc/lsb-release:DISTRIB_ID=ManjaroLinux
/etc/lsb-release:DISTRIB_RELEASE=21.0
/etc/lsb-release:DISTRIB_CODENAME=Ornara
/etc/lsb-release:DISTRIB_DESCRIPTION="Manjaro Linux"
/etc/manjaro-release:Manjaro Linux
/etc/os-release:NAME="Manjaro Linux"
/etc/os-release:ID=manjaro
/etc/os-release:ID_LIKE=arch
/etc/os-release:BUILD_ID=rolling
/etc/os-release:PRETTY_NAME="Manjaro Linux"
/etc/os-release:ANSI_COLOR="32;1;24;144;200"
/etc/os-release:HOME_URL="https://manjaro.org/"
/etc/os-release:DOCUMENTATION_URL="https://wiki.manjaro.org/"
/etc/os-release:SUPPORT_URL="https://manjaro.org/"
/etc/os-release:BUG_REPORT_URL="https://bugs.manjaro.org/"
/etc/os-release:LOGO=manjarolinux
Netdata version

Version: netdata v1.30.0-3-g0068b7c1

buildinfo [Click]
Configure options:  '--prefix=/opt/netdata/usr' '--sysconfdir=/opt/netdata/etc' '--localstatedir=/opt/netdata/var' '--libexecdir=/opt/netdata/usr/libexec' '--libdir=/opt/netdata/usr/lib' '--with-zlib' '--with-math' '--with-user=netdata' '--disable-cloud' 'CFLAGS=-O2' 'LDFLAGS='
Features:
    dbengine:                YES
    Native HTTPS:            YES
    Netdata Cloud:           NO (by user request)
    TLS Host Verification:   YES
Libraries:
    jemalloc:                NO
    JSON-C:                  YES
    libcap:                  YES
    libcrypto:               YES
    libm:                    YES
    LWS:                     YES shared-lib
    mosquitto:               YES
    tcalloc:                 NO
    zlib:                    YES
Plugins:
    apps:                    YES
    cgroup Network Tracking: YES
    CUPS:                    YES
    EBPF:                    YES
    IPMI:                    NO
    NFACCT:                  NO
    perf:                    YES
    slabinfo:                YES
    Xen:                     NO
    Xen VBD Error Tracking:  NO
Exporters:
    AWS Kinesis:             NO
    GCP PubSub:              NO
    MongoDB:                 NO
    Prometheus Remote Write: YES
Installation method

From source.

Component Name

web/gui

Steps To Reproduce

Easy to reproduce using go.d/example collector

  1. activate go.d/example collector
# go.d.conf

modules:
  example: yes
  1. configure go.d/example job
# go.d/example.conf

jobs:
  - name: myexample
    charts:
      num: 5
      dimensions: 20
  1. create an alarm
# /etc/netdata/health.d/example.conf

template: my_example
      on: example.random
  lookup: max -1s foreach *
   units: ok/failed
   every: 10s
    warn: $this != nan AND $this == nan
   delay: down 5m multiplier 1.5 max 1h
    info: example
      to: sysadmin
  1. Restart netdata service, go to Dashboard->Alarms section
Expected behavior

It doesn't take 6-7 seconds to load netdata alarms when there a lot of alarms under the same section. I expect it to be fast (less then a second?).


@ilyam8 commented on Mon Apr 05 2021

@jacekkolasa im not 100% sure, but i think this issue is web related issue, so assigning you. If you need to help with reproducing (see Steps To Reproduce) the problem, let me know.

[BUG] Datetime picker not integrated with snapshots

Bug report summary

The new datetime picker is not integrated correctly with the snapshot feature.

If I change my time selection using the datetime picker this isn't taken into consideration when I try to export a snapshot, once I interact with the charts to pan, zoom, etc. and then when I try to export the snapshot the current datetime selection (triggered by the interaction on the chart) it is taken into consideration

OS / Environment

Reproduced on katsuna

Netdata version

v1.31.0-366-nightly

Installation method

Don't know

Component Name

Snapshots with Datetime picker

Steps To Reproduce
  1. Check that datetime picker is for 15min
  2. Go to export a snapshot and for a precision of 1 second per point see that you have 540 points per dimension. Expected size on disk 2.6 MB, at browser memory 2.5 MB (witk pako.deflate.base64)
  3. Change the datetime picker is for 24 hours/1 day
  4. Go to export a snapshot and for a precision of 1 second per point see that you still have 540 points per dimension. Expected size on disk 2.6 MB, at browser memory 2.5 MB (witk pako.deflate.base64)
  5. Pan the chart with your mouse
  6. Go to export a snapshot and see that precision was automatically changed to 113 seconds per point, if you place it 1 second per point you see. "The snapshot will have 86676 points per dimension. Expected size on disk 324.9 MB, at browser memory 307.8 MB."
Expected behavior

The changes on datetime picker should be reflected on the snapshot feature

Rename release file to include version number

Hello! I am the package maintainer for netdata in MacPorts. I noticed that the release tarball for the dashboard is named simply dashboard.tar.gz, without any version information in the file name.

Unfortunately, this causes a few complications for us (and likely for other package management software): MacPorts caches source tarballs and uses the version information to both 1) be able to store multiple versions in our cache and 2) detect when a new version is released. When a source tarball does not contain version information, we lose the ability to do both of these things.

Would you consider renaming the release tarballs to dashboard-${version}.tar.gz?

Thanks!

Issues detected on dashboard

I executed the following tests using Google Chrome and Mozilla Firefox:

  • I moved from top to bottom Netdata dashboard to verify that all charts were displayed correctly.
  • I used the direct zoom on charts using keyboard and I also used + and - to create zooms
  • I tried to open alarms to visualize them.
  • I raised alarms to verify that alarm centralization was working.
  • I had one slave running to be sure that the move from one host to other would not create problems with the charts.
  • I hide dimensions and select multiple dimensions on different charts
  • I repeat the previous tests with browser console opened to check possible problems with JS variables.

During the tests with latest dashboard the following issues were found:

  • Small charts used to describe cpu utilization are on top of text.
  • When I try to open Alarms using dashboard, the first time that I click on link it raises the error Cannot load the required JS library: bootstrap-table, but when I close the message and the alarm and I try to access again, everything works.
  • On the right side menu, eBPF and Applications has the same image, but eBPF is not showing.
  • When dashboard tries to access badge.svg?chart=system.cpu&alarm=10min_cpu_iowait&refresh=auto:1 I receive NS_ERROR_FAILURE.
  • I am detecting in different times the message scrollToId is not defined on events onclick. I received now a different message on this variableUncaught ReferenceError: scrollToId is not defined

Missing units

Netdata dashboard is missing the following conversion:

'bytes/s': {
            'bytes/s': 1,
            'kilobytes/s': 1024,
            'megabytes/s': 1024 * 1024,
            'gigabytes/s': 1024 * 1024 * 1024,
            'terabytes/s': 1024 * 1024 * 1024 * 1024
        },

 'B/s': {
            'B/s': 1,
            'KiB/s': 1024,
            'MiB/s': 1024 * 1024,
            'GiB/s': 1024 * 1024 * 1024,
            'TiB/s': 1024 * 1024 * 1024 * 1024
        },

The PR netdata/netdata#9333 is fixing this for the old dashboard, but we also need to fix here.

illegal characters (;) in URLS (fragment)

@karlhungus commented on Fri Aug 16 2019

Bug report summary

netdata uses a ; as a separator for it fragments. This trips up some security software. RFC 3986 describes valid characters after fragments.

OS / Environment

N/A

Netdata version (ouput of netdata -V)

1.10.0 (but also head)

Component Name

web

Steps To Reproduce

Visit a dashboard on the provided docker image url contains ; i.e. http://localhost:19999/#;theme=slate

Expected behavior

Ideally replace semicolons with something valid like .

Related Issue netdata/netdata#3819


@thiagoftsm commented on Fri Aug 16 2019

Hi @karlhungus ,

The Netdata webserver follows the RFC using '&' as separator, this specific feature is used in our dashboard that wil be changed in a near future, I will discuss with our team about this problem that you are reporting, but when I tried to access the Netdata( I am using the latest version) I did not have any problem to see the charts and work with the software.

Best regards!


@ilyam8 commented on Fri Aug 16 2019

The Netdata webserver follows the RFC using '&' as separator

That separator is for querires, the issue about fragments separator

rel: https://stackoverflow.com/questions/566276/what-two-separator-characters-would-work-in-a-url-anchor

ัั: @jacekkolasa

unmask certain event attributes on demo sites

For demo sites we actually should not mask certain event attributes and understanding a bit more about our demo site traffic will actually be very useful for various things.

So for demo sites we should just not register the masked values for the following attributes: $current_url, $pathname, $host

Instead we should just let them be whatever the normal way posthog captures them are.

I think we can do this by just not setting those attributes in the posthog.register() when on netdata demo sites.

Turn posthog on for all agent dashboards and disable GA

As we are happy with the PostHog data from our demo servers we are now ready to turn it on by default for all agent dashboards.

I think we should:

  • Turn it on for all agent dashboards.
  • Disable the GA code but leave it there should we need to re-enable it (idea being we can then full remove it later as part of a final clean up).

@jacekkolasa does that sound ok to you? Or better to just take out the GA code now and easy to just add it back in if needed?

Whatever you think is best.

Text font size is far too small to read without large zooming on gauges when using an iPad.

@TheOldMan2000 commented on Sat Oct 17 2020

Bug report summary

Although responsive, the text that accompanies dashbaord gauges is far too small to read when using a standard iPad.
(Gauges shown at top in System Overview and those recently restored in Go.d Web_Log)

OS / Environment

ipad OS 14x

Netdata version

v1.26.0-6-g33c7a110

Component Name

web

Steps To Reproduce

General usage.

Expected behavior

Larger gauges to make better use of available horizontal space with increased font size to ensure readable text labels.

add `noreferrer` to replicated nodes links

To avoid any unwanted ip and referrer info from getting into PostHog we should add 'noreferrer' option to the replicated nodes links in the UI to avoid any risk of leakage.

Packaging dashboard

I'm trying to package the new netdata dashboard, but it seems that the build process does not produce a dashboard_info.js. Is this expected? Where should I obtain this file from?

PostHog dev dashboard v2.12.0-alpha.5 release

Hello @jacekkolasa

I wanted to just make a ticket of the changes i think we want to try look at for another iteration on the PostHog stuff.

  1. We want to use the default PostHog cookies so i think all we need to do for this is to not set distinct_id here and hoping then the posthog library will handle it.
  2. Can we add a new event attribute called "netdata_machine_guid" = machineGuid in the posthog.register call (since we removing it in the bullet point above)
  3. Can we add logic whereby PostHog is only turned on for demo servers and some dev servers that we can define in some way? Not sure what best option here is but the thinking is we would like to have it enabled for demo servers and our own few specific development machines on launch. If this is too messy or complicated i'm happy to just not do it, and instead maybe we just have our own internal version that just adds our dev servers to the list of demo servers. So not worth time if this is a complicated thing to do and all throwaway effort.
  4. Manolis Vasilakis (@MrZammler) is working to add the few more config based event attributes to the agent backend events and i am asking him if we can ask make them available via the /api/v1/info endpoint. If so then we might have a few more event attributes we want to pull from there to add to the posthog.register call too. I'll update the issue when i have a list of what we want to add. (we will do this in a later dashboard release instead)

Any questions just give me a ping.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.