I have seen where the Alerts widget did not work if I used URL http://IPaddress on my browser to access. If I used the domain name i.e. http://something.com the alerts widget worked fine. This was partially due to my Nginix config server_name and web UI global settings>Server> Specific URL set as specific http://something.com when it needed to be / or blank. Suspect the Top Error maybe due to a config error but I haven’t found it.
Check your browser’s developer console for errors. It will likely show if a bad url is being generated.
The browser developer console isn’t reporting any errors. However, from the server CLI mariadb shows aborted connections. Looking to see if `max_allowed_packet’ needs to be increased. My mariadb versioin is 15.1 Distrib 10.6.18-MariaDB. I haven’t found this setting in my /etc/mysql/ .cnf files but do see it in the mariadb glogbal variable output. Would the aborted connections cause Top Errors to not work?
MariaDB [librenms]> show global variables like ‘%max_allowed_packet%’
→ ;
±-------------------------±-----------+
| Variable_name | Value |
±-------------------------±-----------+
| max_allowed_packet | 16777216 |
| slave_max_allowed_packet | 1073741824 |
±-------------------------±-----------+
librenms@ferris:~$ journalctl -u mariadb -f
Hint: You are currently not seeing messages from other users and the system.
Users in groups ‘adm’, ‘systemd-journal’ can see all messages.
Pass -q to turn off this notice.
^C
librenms@ferris:~$ sudo journalctl -u mariadb -f
Nov 05 09:37:39 ferris.test.adtran.com mariadbd[681]: 2024-11-05 9:37:39 261136 [Warning] Aborted connection 261136 to db: ‘librenms’ user: ‘librenms’ host: ‘localhost’ (Got an error reading communication packets)
Nov 05 09:37:49 ferris.test.adtran.com mariadbd[681]: 2024-11-05 9:37:49 261145 [Warning] Aborted connection 261145 to db: ‘librenms’ user: ‘librenms’ host: ‘localhost’ (Got an error reading communication packets)
There are a few errors but nothing I can see related to Top Erorrs.
This page uses the non standard property “zoom”. Consider using calc() in the relevant property values, or using “transform” along with “transform-origin: 0 0”. ferris.test.adtran.com
downloadable font: Glyph bbox was incorrect (glyph ids 1 3 4 5 6 7 9 12 22 24 25 29 30 33 34 35 36 37 38 39 43 44 50 51 53 55 57 58 59 72 84 93 94 108 111 122 131 132 136 146 154 164 174 177 186 196) (font-family: “Font Awesome 6 Free” style:normal weight:400 stretch:100 src index:0) source: http://ferris.test.adtran.com/webfonts/fa-regular-400.woff2
Error while fetching an original source: request failed with status 404
Source URL: http://ferris.test.adtran.com/src/L.Control.Locate.scss
Source map error: request failed with status 404
Resource URL: http://ferris.test.adtran.com/js/vis.min.js
Source Map URL: vis.map
I am seeing this error in my nginix error log but validate shows no issues.
librenms@ferris:~/logs$ sudo more /var/log/nginx/error.log
2024/11/19 15:40:05 [error] 691#691: *14405 FastCGI sent in stderr: “PHP message: PHP Deprecated: Using ${var} in strings is deprecated, u
se {$var} instead in /opt/librenms/LibreNMS/Validations/Database/CheckSchemaStructure.php on line 267; PHP message: PHP Deprecated: Using
${var} in strings is deprecated, use {$var} instead in /opt/librenms/LibreNMS/Validations/Database/CheckSchemaStructure.php on line 277” wh
ile reading response header from upstream, client: 10.10.10.1, server: ferris.test.adtran.com, request: "GET /validate/results HTTP/1.1
", upstream: “fastcgi://unix:/var/run/php-fpm-librenms.sock:”, host: “ferris.test.com”, referrer: “http://ferris.test.com/val
idate”
librenms@ferris:~$ ./validate.php
Component | Version |
---|---|
LibreNMS | 24.10.1 (2024-11-06T09:04:00-06:00) |
DB Schema | 2024_10_12_210114_custom_map_legend_colours (304) |
PHP | 8.3.13 |
Python | 3.10.12 |
Database | MariaDB 10.6.18-MariaDB-0ubuntu0.22.04.1 |
RRDTool | 1.7.2 |
SNMP | 5.9.1 |
=========================================== |
[OK] Composer Version: 2.8.2
[OK] Dependencies up-to-date.
[OK] Database connection successful
[OK] Database connection successful
[OK] Database Schema is current
[OK] SQL Server meets minimum requirements
[OK] lower_case_table_names is enabled
[OK] MySQL engine is optimal
[OK] Database and column collations are correct
[OK] Database schema correct
[OK] MySQL and PHP time match
[OK] Distributed Polling setting is enabled globally
[OK] Connected to rrdcached
[OK] Active pollers found
[OK] Dispatcher Service not detected
[OK] Locks are functional
[OK] Python poller wrapper is polling
[OK] Redis is unavailable
[OK] rrdtool version ok
[OK] Connected to rrdcached
A Deprecated message won’t cause any issues (it is just an indication that it will break in a future PHP version)
Can you check if this is still an issue with 24.11.0?
I have found that the Alert Stats on each device no longer works. I suspect that is why the Top Errors widget isn’t working. I can upgrade to 24.11.0 but not sure how that will fix Libre.
You’re not sure how upgrading would fix the issue? Upgrading LibreNMS is how you receive bug fixes.
I upgraded and things seem to have broken. It was reporting several things but the most important is that I run pip install -r /opt/librenms/requirements.txt. With Ubuntu 24 this cannot be run until adding
librenms@ferris:~$ cat /etc/pip.conf
[global]
break-system-packages = true
After running pip install -r /opt/librenms/requirements.txt I see that the poller is not running and no python wrapper pollers found [FAIL]. Frustrating… Any pointers on how to fix this.
librenms@ferris:~$ librenms@ferris:~$ ./validate.php
Component | Version |
---|---|
LibreNMS | 24.11.0 (2024-11-20T08:58:54-06:00) |
DB Schema | 2024_11_07_110342_custommap_edge_add_text_align (307) |
PHP | 8.3.14 |
Python | 3.12.3 |
Database | MariaDB 10.11.8-MariaDB-0ubuntu0.24.04.1 |
RRDTool | 1.7.2 |
SNMP | 5.9.4.pre2 |
=========================================== |
[OK] Composer Version: 2.8.3
[OK] Dependencies up-to-date.
[OK] Database connection successful
[OK] Database connection successful
[OK] Database Schema is current
[OK] SQL Server meets minimum requirements
[OK] lower_case_table_names is enabled
[OK] MySQL engine is optimal
[OK] Database and column collations are correct
[OK] Database schema correct
[OK] MySQL and PHP time match
[OK] Distributed Polling setting is enabled globally
[OK] Connected to rrdcached
[FAIL] Poller is not running. No poller has run within the last 300 seconds.
[OK] Dispatcher Service not detected
[OK] Locks are functional
[FAIL] No active python wrapper pollers found
[OK] Redis is unavailable
[OK] rrdtool version ok
[OK] Connected to rrdcached
I performed a system reboot and the poller seems fine now. However, the alert stats and Top Error widget still not working. Do you see anything wrong with these settings?
librenms@ferris:~$ lnms config:get --dump | jq | grep top
“top”: {
“topvision_cmoffline”: {
“topvision_cmreg”: {
“topvision_cmtotal”: {
“nfsen_top_max”: 500,
“nfsen_top_N”: [
“nfsen_top_default”: 20,
“cryptopass”: “”
“top_devices”: true,
“top_ports”: true,
librenms@ferris:~$ lnms config:get --dump | jq | grep alert
“alert”: {
“device_component_down_junos”: “%sensors.sensor_class = "state" && %sensors.sensor_current != "6" && (%sensors.sensor_type = "jnxFruState" || %sensors.sensor_type = "jnxFruTable") && %sensors.sensor_current != "2" && %sensors.sensor_alert = "1"”,
“device_component_down_cisco”: “%sensors.sensor_current != "1" && %sensors.sensor_current != "5" && %sensors.sensor_type REGEXP "^cisco.*State$" && %sensors.sensor_alert = "1"”,
“sensor”: “(%sensors.sensor_alert = 1)”,
“alert_colour”: {
“alert_graph_date_format”: “%Y-%m-%d %H:%i”,
“alert_log_purge”: 30,
“alerts”: {
“alert_rule”: {
“max_alerts”: 1,
“mute_alerts”: false,
“acknowledged_alerts”: true,
“recovery_alerts”: true,
“acknowledgement_alerts”: true,
“irc_alert”: false,
“irc_alert_short”: false,
“irc_alert_utf8”: false,
“network_map_worldmap_show_disabled_alerts”: true,
“alerting”: “legacy”,
“service_alerting_frequency”: 60,
“service_alerting_enabled”: true,
Everything is upgraded. Still Device Alerts and Top Errors remail blank. What DB and DB entries should I look at for content availability for these screens or widgets? The HTML debug does show some interesting information. For some reason the dataset it is pulling is really old. See output below:
Debug on Device Alerts page shows
Uncaught TypeError: vis.Graph2d is not a constructor
at alert-stats:4494:19
(anonymous) @ alert-stats:4494Understand this errorAI
var container = document.getElementById(‘visualization’);
var groups = new vis.DataSet();
groups.add({id: ‘critical’, content: ‘critical’ })
var items =
[
{
"x": "2021-02-19 16:09",
"y": 2,
"group": "critical"
},
{
"x": "2021-02-19 16:13",
"y": 1,
"group": "critical"
},
var dataset = new vis.DataSet(items);
var options = {
style:'bar',
barChart: { width:50, align:'right', sideBySide:true}, // align: left, center, right
drawPoints: false,
legend: {left:{position:"bottom-left"}},
dataAxis: {
icons:true,
showMajorLabels: true,
showMinorLabels: true,
},
zoomMin: 86400, //24hrs
zoomMax: 118860480000,
orientation:'top'
};
var graph2d = new vis.Graph2d(container, items, groups, options);
librenms@ferris:~$ ./validate.php
Component | Version |
---|---|
LibreNMS | 24.11.0 (2024-11-20T08:58:54-06:00) |
DB Schema | 2024_11_07_110342_custommap_edge_add_text_align (307) |
PHP | 8.3.14 |
Python | 3.12.7 |
Database | MariaDB 11.4.3-MariaDB-1 |
RRDTool | 1.7.2 |
SNMP | 5.9.4.pre2 |
=========================================== |
[OK] Composer Version: 2.8.3
[OK] Dependencies up-to-date.
[OK] Database connection successful
[OK] Database connection successful
[OK] Database Schema is current
[OK] SQL Server meets minimum requirements
[OK] lower_case_table_names is enabled
[OK] MySQL engine is optimal
[OK] Database and column collations are correct
[OK] Database schema correct
[OK] MySQL and PHP time match
[OK] Distributed Polling setting is enabled globally
[OK] Connected to rrdcached
[OK] Active pollers found
[OK] Dispatcher Service is enabled
[OK] Locks are functional
[OK] No active python wrapper pollers found
[OK] Redis is unavailable
[OK] rrdtool version ok
[OK] Connected to rrdcached
librenms@ferris:~$ ./daily.sh
Fetching new release information OK
Updating to latest release OK
Updating Composer packages OK
Updating SQL-Schema OK
Updating submodules OK
Cleaning up DB OK
Fetching notifications OK
Caching PeeringDB data OK
librenms@ferris:~$ cat /etc/os-release
PRETTY_NAME=“Ubuntu 24.10”
NAME=“Ubuntu”
VERSION_ID=“24.10”
VERSION=“24.10 (Oracular Oriole)”
VERSION_CODENAME=oracular
ID=ubuntu
ID_LIKE=debian
HOME_URL=“https://www.ubuntu.com/”
SUPPORT_URL=“https://help.ubuntu.com/”
BUG_REPORT_URL=“Bugs : Ubuntu”
PRIVACY_POLICY_URL=“Data privacy | Ubuntu”
UBUNTU_CODENAME=oracular
LOGO=ubuntu-logo
Thought you meant upgrading OS. Earlier I sent additional info regarding my findings after upgrading to 24.11
For PIP packages FYI, the current install docs install all required python packages via APT, so you don’t need to use PIP.
Are you sure your response regarding PIP is for this issue? As previously stated I have upgraded to Libre 24.11.0 and my Ubuntu version is 24.10. The DB Schema show [quote=“Ricky_Boydston, post:12, topic:26455”]
2024_11_07_110342_custommap_edge_add_text_align (307)
[/quote] Still appears that Top Errors and Device Alerts are not working. I did happen to catch a HTML error yesterday that isn’t showing up so far today. See my previous response for details [quote=“Ricky_Boydston, post:12, topic:26455”]
Debug on Device Alerts page shows
Uncaught TypeError: vis.Graph2d is not a constructor
at alert-stats:4494:19
(anonymous) @ alert-stats:4494Understand this errorAI
[/quote]
Any steps for guidance to resolve would be greatly appreciated.
Thank you for your time and help!
Novice User
Top Errors and Device alerts are not functioning after all atempts to fix. Other than the errors below I see nothing indicating what might be wrong. What areas should I look at regarding the Top Errors widget not working? Does Top Errors read data from RRD? If possible, please provide a list of some items that you would normally check and how.
Top Errors widget on the Default Dashboard debug shows
[Violation] ‘setTimeout’ handler took 58ms jquery.gridster.min.js?ver=05072021:1
Device Alerts page debug output continues to show Uncaught TypeError: vis.Graph2d is not a constructor
at alert-stats:4882:19
Thank you!