Bug 14017 - observium-agent: Missing Perl modules for Apache script
Summary: observium-agent: Missing Perl modules for Apache script
Status: MODIFIED
Alias: None
Product: IPFire
Classification: Unclassified
Component: --- (show other bugs)
Version: 2
Hardware: unspecified Unspecified
: Will only affect a few users Minor Usability
Assignee: Adolf Belka
QA Contact:
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2026-06-17 15:16 UTC by Michael Tremer
Modified: 2026-06-22 06:47 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Tremer 2026-06-17 15:16:12 UTC
There seems to be some Perl modules missing to execute the Apache script:

> [root@zerberus scripts-enabled]# ./apache 
> Can't locate Encode/Locale.pm in @INC (you may need to install the Encode::Locale module) (@INC contains: /usr/lib/perl5/site_perl/5.36.0/x86_64-linux-thread-multi /usr/lib/perl5/site_perl/5.36.0 /usr/lib/perl5/5.36.0/x86_64-linux-thread-multi /usr/lib/perl5/5.36.0) at /usr/lib/perl5/site_perl/5.36.0/LWP/UserAgent.pm line 1117.
> Compilation failed in require at ./apache line 14.
> BEGIN failed--compilation aborted at ./apache line 14.

Could those please be added?
Comment 2 Michael Tremer 2026-06-20 12:06:56 UTC
Thank you very much. Merged.

Peer, could you please test this?
Comment 3 Zyzonix 2026-06-22 06:47:18 UTC
As far as I can see the patch from Adolf is working. But it's still not possible to query data. 

> [root@zerberus scripts-enabled]# ./apache 
> Data fetch failure

This is caused because the script tries to reach apache on port 80:

> [root@zelos scripts-enabled]# curl -v http://127.0.0.1/server-status?auto
> *   Trying 127.0.0.1:80...
> * connect to 127.0.0.1 port 80 from 127.0.0.1 port 55246 failed: Connection refused
> * Failed to connect to 127.0.0.1 port 80 after 0 ms: Could not connect to server
> * closing connection #0
> curl: (7) Failed to connect to 127.0.0.1 port 80 after 0 ms: Could not connect to server

Additionally the mod_status of apache, so this also needs to be uncommented in the loadmodules.conf.

> LoadModule status_module /usr/lib/apache/mod_status.so

But there is another problem: usually port 80 collides with HAProxy when installed and bound on port 80, doesn't it?

The status module requires the following apache config:
> <Location /server-status>
>         SetHandler server-status
>         Require local
> </Location>

Where can we place this so that the script can reach it on port 80?
Otherwise a modification of the apache script is required so that the script calls a different port:
> @data = split /(\n)/, LWP::Simple::get( 'http://localhost/server-status?auto' )

This would result in a manual maintaining of the script. 
I am unsure what's the best way?

Best,
Peer