Alert Rules and Transport Pages Seem Broken

Same issue as here:

These two pages are loading, but are unformatted and un-usable.
validate.php looks ok.
I have tried a different browser and have cleared caches.
Not sure what else to check. I have included a validate and daily.sh capture in the replies below.
Everything else works fine on the site.
I only have one transport and it is a plain jane e-mail transport.

$ ./validate.php
===========================================
Component | Version
--------- | -------
LibreNMS  | 25.1.0-12-g3b8ac6f9e (2025-01-18T23:47:14-06:00)
DB Schema | 2024_10_20_154356_create_qos_table (310)
PHP       | 8.2.26
Python    | 3.11.2
Database  | MariaDB 10.11.6-MariaDB-0+deb12u1
RRDTool   | 1.7.2
SNMP      | 5.9.3
===========================================

[OK]    Composer Version: 2.8.4
[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]    Active pollers found
[OK]    Dispatcher Service not detected
[OK]    Locks are functional
[OK]    Python poller wrapper is polling
[OK]    Redis is unavailable
[OK]    rrd_dir is writable
[OK]    rrdtool version ok
$ ./daily.sh 
Updating to latest codebase                        OK
Updating Composer packages                         OK
Updating SQL-Schema                                OK
Updating submodules                                OK
Cleaning up DB                                     OK
Fetching notifications                             OK
Caching PeeringDB data                             OK
1 Like

Check your developer console for the browser.

1 Like

http 500… So I am off into reverse proxy land. Thanks for the timely help!

Nope, red herring. I am getting a 500 Internal Server Error when going direct too
Uncaught TypeError: $ is undefined in /js/query-builder.standalone.min.js:6
I think I might have an undefined host in my rules.

After seeing this post I tried it myself and I get the same error.
This must be a fairly recent problem since I know I checked on rules some time last week (can check if I can figure out more precisely if needed).

librenms.log gives the following error whenever I browse to the “Alert Rules” or “Alert Transports” page:

[2025-01-20T08:35:47][ERROR] Class “LibreNMS\Alert\Transport\Zenduty” not found {“userId”:4,“exception”:“[object] (Error(code: 0): Class "LibreNMS\Alert\Transport\Zenduty" not found at /opt/librenms/LibreNMS/Alert/Transport.php:35)”}

Checked the Transport-dir and saw that the .php for Zenduty was spelled ‘ZenDuty.php’ which didn’t match the error so tried renaming the file to ‘Zenduty.php’ and that seems to have fixed the problem.

$ whoami
librenms
$ find /opt/librenms/ | grep Zenduty
$ find /opt/librenms/ | grep ZenDuty
/opt/librenms/LibreNMS/Alert/Transport/ZenDuty.php
$ cp /opt/librenms/LibreNMS/Alert/Transport/ZenDuty.php /opt/librenms/LibreNMS/Alert/Transport/Zenduty.php
$

This fixed the issue. Thanks!

Revert those changes and run ./daily.sh

Should be fixed in master.

Cool. I made bug #17018, but you already have it fixed. Thanks!

I removed the file I created

$ rm /opt/librenms/LibreNMS/Alert/Transport/Zenduty.php

And verified that the error came back

Then I ran daily.sh and error was fixed properly.

Very cool, thanks!

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.