[2/2] Redirect Apache status requests

Message ID 20260622141502.375427-1-dietzmann@brecht-schule.hamburg
State Staged
Commit 0f2c82ad7f6f3e55a67a9c09cb2cb4af15219c91
Headers
Series [1/2] Enable Apache Status Module |

Commit Message

Peer Dietzmann 22 Jun 2026, 2:15 p.m. UTC
Redirect requests to Apache's status to it's backend, force local requests.
This is required to allow Observium's agent to pull metrics from Apache.

Best,
Peer

Signed-off-by: Peer Dietzmann <dietzmann@brecht-schule.hamburg>
---
 config/httpd/httpd.conf | 6 ++++++
 1 file changed, 6 insertions(+)
  

Comments

Peer Dietzmann 22 Jun 2026, 2:20 p.m. UTC | #1
Hello,

there is also another patch required to make the module working. But I 
just can't find the file in the repository that needs to be changed:

Line 29 of /usr/lib/observium_agent/scripts-available/apache has to be 
changed to:

         close INFILE;
} else {
         # grab the status URL (fresh data)
         @data = split /(\n)/, LWP::Simple::get( 
'http://localhost:81/server-status?auto' )
                 or die "Data fetch failure.\n";

         # write file

The *localhost* has to be changed to *localhost:81*

The concerned bug that should be fixed through those three patches is: 
https://bugzilla.ipfire.org/show_bug.cgi?id=14017

Best,

Peer

On 22/06/2026 16:15, Peer Dietzmann wrote:
> Redirect requests to Apache's status to it's backend, force local requests.
> This is required to allow Observium's agent to pull metrics from Apache.
>
> Best,
> Peer
>
> Signed-off-by: Peer Dietzmann <dietzmann@brecht-schule.hamburg>
> ---
>   config/httpd/httpd.conf | 6 ++++++
>   1 file changed, 6 insertions(+)
>
> diff --git a/config/httpd/httpd.conf b/config/httpd/httpd.conf
> index c694bffe2..09b10b50f 100644
> --- a/config/httpd/httpd.conf
> +++ b/config/httpd/httpd.conf
> @@ -49,4 +49,10 @@ Include /etc/httpd/conf/default-server.conf
>   # Virtual server configuration
>   Include /etc/httpd/conf/vhosts.d/*.conf
>   
> +# Allow local clients to pull Apache's status
> +<Location /server-status>
> +    SetHandler server-status
> +    Require local
> +</Location>
> +
>   # EOF
  
Matthias Fischer 22 Jun 2026, 2:59 p.m. UTC | #2
On 22.06.2026 16:20, Peer Dietzmann wrote:
> Hello,

Hi,
> there is also another patch required to make the module working. But I 
> just can't find the file in the repository that needs to be changed:

You won't find this file in the repository - that would be too easy. ;-)

This 'apache'-file is stored in the observium archive
(observium/scripts/agent-local/apache). And only there. It is extracted
during the build phase, and is then immediately deleted. This is
controlled via the lfs file:

Line 83 (to be sure: first delete and then unpack source):
...
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
...

Line 103 (clean up):
...
@rm -rf $(DIR_APP)
...

IMHO the best way to apply your changes would be a patchfile (see
attachment) which needs to be copied into the repository in the
directory '/src/patches/observium', e.g.).

Then the lfs file needs something like this in a new line *84*:
...
cd $(DIR_APP) && patch -Np1 <
$(DIR_SRC)/src/patches/observium/[NAME_OF_PATCHFILE]
...
HTH
Matthias

> Line 29 of /usr/lib/observium_agent/scripts-available/apache has to be 
> changed to:
> 
>          close INFILE;
> } else {
>          # grab the status URL (fresh data)
>          @data = split /(\n)/, LWP::Simple::get( 
> 'http://localhost:81/server-status?auto' )
>                  or die "Data fetch failure.\n";
> 
>          # write file
> 
> The *localhost* has to be changed to *localhost:81*
> 
> The concerned bug that should be fixed through those three patches is: 
> https://bugzilla.ipfire.org/show_bug.cgi?id=14017
> 
> Best,
> 
> Peer
> 
> On 22/06/2026 16:15, Peer Dietzmann wrote:
>> Redirect requests to Apache's status to it's backend, force local requests.
>> This is required to allow Observium's agent to pull metrics from Apache.
>>
>> Best,
>> Peer
>>
>> Signed-off-by: Peer Dietzmann <dietzmann@brecht-schule.hamburg>
>> ---
>>   config/httpd/httpd.conf | 6 ++++++
>>   1 file changed, 6 insertions(+)
>>
>> diff --git a/config/httpd/httpd.conf b/config/httpd/httpd.conf
>> index c694bffe2..09b10b50f 100644
>> --- a/config/httpd/httpd.conf
>> +++ b/config/httpd/httpd.conf
>> @@ -49,4 +49,10 @@ Include /etc/httpd/conf/default-server.conf
>>   # Virtual server configuration
>>   Include /etc/httpd/conf/vhosts.d/*.conf
>>   
>> +# Allow local clients to pull Apache's status
>> +<Location /server-status>
>> +    SetHandler server-status
>> +    Require local
>> +</Location>
>> +
>>   # EOF
>
--- a/observium/scripts/agent-local/apache	Sun Oct  4 07:21:06 2015
+++ b/observium/scripts/agent-local/apache	Mon Jun 22 16:36:40 2026
@@ -26,7 +26,7 @@
         close INFILE;
 } else {
         # grab the status URL (fresh data)
-        @data = split /(\n)/, LWP::Simple::get( 'http://localhost/server-status?auto' )
+        @data = split /(\n)/, LWP::Simple::get( 'http://localhost:81/server-status?auto' )
                 or die "Data fetch failure.\n";
 
         # write file
  
Matthias Fischer 22 Jun 2026, 3:07 p.m. UTC | #3
*Second try with attachment in unix format (line breaks)!*

##########################################################

On 22.06.2026 16:20, Peer Dietzmann wrote:
> Hello,

Hi,
> there is also another patch required to make the module working. But I 
> just can't find the file in the repository that needs to be changed:

You won't find this file in the repository - that would be too easy. ;-)

This 'apache'-file is stored in the observium archive
(observium/scripts/agent-local/apache). And only there. It is extracted
during the build phase, and is then immediately deleted. This is
controlled via the lfs file:

Line 83 (to be sure: first delete and then unpack source):
...
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
...

Line 103 (clean up):
...
@rm -rf $(DIR_APP)
...

IMHO the best way to apply your changes would be a patchfile (see
attachment) which needs to be copied into the repository in the
directory '/src/patches/observium', e.g.).

Then the lfs file needs something like this in a new line *84*:
...
cd $(DIR_APP) && patch -Np1 <
$(DIR_SRC)/src/patches/observium/[NAME_OF_PATCHFILE]
...
HTH
Matthias

> Line 29 of /usr/lib/observium_agent/scripts-available/apache has to be 
> changed to:
> 
>          close INFILE;
> } else {
>          # grab the status URL (fresh data)
>          @data = split /(\n)/, LWP::Simple::get( 
> 'http://localhost:81/server-status?auto' )
>                  or die "Data fetch failure.\n";
> 
>          # write file
> 
> The *localhost* has to be changed to *localhost:81*
> 
> The concerned bug that should be fixed through those three patches is: 
> https://bugzilla.ipfire.org/show_bug.cgi?id=14017
> 
> Best,
> 
> Peer
> 
> On 22/06/2026 16:15, Peer Dietzmann wrote:
>> Redirect requests to Apache's status to it's backend, force local requests.
>> This is required to allow Observium's agent to pull metrics from Apache.
>>
>> Best,
>> Peer
>>
>> Signed-off-by: Peer Dietzmann <dietzmann@brecht-schule.hamburg>
>> ---
>>   config/httpd/httpd.conf | 6 ++++++
>>   1 file changed, 6 insertions(+)
>>
>> diff --git a/config/httpd/httpd.conf b/config/httpd/httpd.conf
>> index c694bffe2..09b10b50f 100644
>> --- a/config/httpd/httpd.conf
>> +++ b/config/httpd/httpd.conf
>> @@ -49,4 +49,10 @@ Include /etc/httpd/conf/default-server.conf
>>   # Virtual server configuration
>>   Include /etc/httpd/conf/vhosts.d/*.conf
>>   
>> +# Allow local clients to pull Apache's status
>> +<Location /server-status>
>> +    SetHandler server-status
>> +    Require local
>> +</Location>
>> +
>>   # EOF
>
--- a/observium/scripts/agent-local/apache	Sun Oct  4 07:21:06 2015
+++ b/observium/scripts/agent-local/apache	Mon Jun 22 16:36:40 2026
@@ -26,7 +26,7 @@
         close INFILE;
 } else {
         # grab the status URL (fresh data)
-        @data = split /(\n)/, LWP::Simple::get( 'http://localhost/server-status?auto' )
+        @data = split /(\n)/, LWP::Simple::get( 'http://localhost:81/server-status?auto' )
                 or die "Data fetch failure.\n";
 
         # write file
  
Matthias Fischer 22 Jun 2026, 5:18 p.m. UTC | #4
*Third try - fixed typo in patch line*

- "-Np1" should have been "-Np2".

Without the quotes, of course.

Sorry...its too warm and the observium-lfs has a different path variable
(DIR_APP) than others. I put both files in attachments.

##########################################################

*Second try with attachment in unix format (line breaks)!*

##########################################################

On 22.06.2026 16:20, Peer Dietzmann wrote:
> Hello,

Hi,

> there is also another patch required to make the module working. But I 
> just can't find the file in the repository that needs to be changed:

You won't find this file in the repository - that would be too easy. ;-)

This 'apache'-file is stored in the observium archive
(observium/scripts/agent-local/apache). And only there. It is extracted
during the build phase, and is then immediately deleted. This is
controlled via the lfs file:

Line 83 (to be sure: first delete and then unpack source):
...
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
...

Line 103 (clean up):
...
@rm -rf $(DIR_APP)
...

IMHO the best way to apply your changes would be a patchfile (see
attachment) which needs to be copied into the repository in the
directory '/src/patches/observium', e.g.).

Then the lfs file needs something like this in a new line *84*:
...
cd $(DIR_APP) && patch -Np2 <
$(DIR_SRC)/src/patches/observium/[NAME_OF_PATCHFILE]
...
HTH
Matthias

> Line 29 of /usr/lib/observium_agent/scripts-available/apache has to be 
> changed to:
> 
>          close INFILE;
> } else {
>          # grab the status URL (fresh data)
>          @data = split /(\n)/, LWP::Simple::get( 
> 'http://localhost:81/server-status?auto' )
>                  or die "Data fetch failure.\n";
> 
>          # write file
> 
> The *localhost* has to be changed to *localhost:81*
> 
> The concerned bug that should be fixed through those three patches is: 
> https://bugzilla.ipfire.org/show_bug.cgi?id=14017
> 
> Best,
> 
> Peer
> 
> On 22/06/2026 16:15, Peer Dietzmann wrote:
>> Redirect requests to Apache's status to it's backend, force local requests.
>> This is required to allow Observium's agent to pull metrics from Apache.
>>
>> Best,
>> Peer
>>
>> Signed-off-by: Peer Dietzmann <dietzmann@brecht-schule.hamburg>
>> ---
>>   config/httpd/httpd.conf | 6 ++++++
>>   1 file changed, 6 insertions(+)
>>
>> diff --git a/config/httpd/httpd.conf b/config/httpd/httpd.conf
>> index c694bffe2..09b10b50f 100644
>> --- a/config/httpd/httpd.conf
>> +++ b/config/httpd/httpd.conf
>> @@ -49,4 +49,10 @@ Include /etc/httpd/conf/default-server.conf
>>   # Virtual server configuration
>>   Include /etc/httpd/conf/vhosts.d/*.conf
>>   
>> +# Allow local clients to pull Apache's status
>> +<Location /server-status>
>> +    SetHandler server-status
>> +    Require local
>> +</Location>
>> +
>>   # EOF
>
--- a/observium/scripts/agent-local/apache	Sun Oct  4 07:21:06 2015
+++ b/observium/scripts/agent-local/apache	Mon Jun 22 16:36:40 2026
@@ -26,7 +26,7 @@
         close INFILE;
 } else {
         # grab the status URL (fresh data)
-        @data = split /(\n)/, LWP::Simple::get( 'http://localhost/server-status?auto' )
+        @data = split /(\n)/, LWP::Simple::get( 'http://localhost:81/server-status?auto' )
                 or die "Data fetch failure.\n";
 
         # write file
###############################################################################
#                                                                             #
# IPFire.org - A linux based firewall                                         #
# Copyright (C) 2007-2026  IPFire Team  <info@ipfire.org>                     #
#                                                                             #
# This program is free software: you can redistribute it and/or modify        #
# it under the terms of the GNU General Public License as published by        #
# the Free Software Foundation, either version 3 of the License, or           #
# (at your option) any later version.                                         #
#                                                                             #
# This program is distributed in the hope that it will be useful,             #
# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
# GNU General Public License for more details.                                #
#                                                                             #
# You should have received a copy of the GNU General Public License           #
# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
#                                                                             #
###############################################################################

###############################################################################
# Definitions
###############################################################################

include Config

SUMMARY    = Observium agent

VER        = 24.4

THISAPP    = observium-community-$(VER)
DL_FILE    = $(THISAPP).tar.gz
DL_FROM    = $(URL_IPFIRE)
DIR_APP    = $(DIR_SRC)/observium
TARGET     = $(DIR_INFO)/$(THISAPP)
PROG       = observium-agent
PAK_VER    = 5

DEPS       = xinetd perl-Encode-Locale

SERVICES   =

###############################################################################
# Top-level Rules
###############################################################################

objects = $(DL_FILE)

$(DL_FILE) = $(DL_FROM)/$(DL_FILE)

$(DL_FILE)_BLAKE2 = 1ef34e7bb6ce43ea7e0a122deb5031d555d942d4f79be0596fc0e2c63a2f92321aa22f34a21e6fa559a8a76e744770f9d74676955acdd76dc4d410e1107636a2

install : $(TARGET)

check : $(patsubst %,$(DIR_CHK)/%,$(objects))

download :$(patsubst %,$(DIR_DL)/%,$(objects))

b2 : $(subst %,%_BLAKE2,$(objects))

dist:
	@$(PAK)

###############################################################################
# Downloading, checking, b2sum
###############################################################################

$(patsubst %,$(DIR_CHK)/%,$(objects)) :
	@$(CHECK)

$(patsubst %,$(DIR_DL)/%,$(objects)) :
	@$(LOAD)

$(subst %,%_BLAKE2,$(objects)) :
	@$(B2SUM)

###############################################################################
# Installation Details
###############################################################################

$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
	@$(PREBUILD)
	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
	cd $(DIR_APP) && patch -Np2 < $(DIR_SRC)/src/patches/observium/01_redirect_apache_localhost_to_port_81.patch

	# Install xinet.d configuration
	mkdir -pv /etc/xinetd.d
	cd $(DIR_APP) && install -m 644 scripts/observium_agent_xinetd \
		/etc/xinetd.d/observium_agent_xinetd

	# Install the agent script
	cd $(DIR_APP) && install -m 755 scripts/observium_agent \
		/usr/bin/observium_agent

	# Install modules
	mkdir -pv /usr/lib/observium_agent/scripts-{available,enabled}
	install -m 755 $(DIR_APP)/scripts/agent-local/{apache,dmi,ksm,lmsensors,nfs,nfsd,nginx,postfix_mailgraph,postfix_qshape,vmwaretools} \
		/usr/lib/observium_agent/scripts-available/

	# Backup
	install -v -m 644 $(DIR_SRC)/config/backup/includes/observium-agent \
		 /var/ipfire/backup/addons/includes/observium-agent

	@rm -rf $(DIR_APP)
	@$(POSTBUILD)
  
Peer Dietzmann 22 Jun 2026, 8:42 p.m. UTC | #5
Hi Matthias,

thank you for adding this. Will try it again when it was merged but it 
looks like the tests I did today, so it should work.

Best,

Peer

On 22/06/2026 19:18, Matthias Fischer wrote:
> *Third try - fixed typo in patch line*
>
> - "-Np1" should have been "-Np2".
>
> Without the quotes, of course.
>
> Sorry...its too warm and the observium-lfs has a different path variable
> (DIR_APP) than others. I put both files in attachments.
>
> ##########################################################
>
> *Second try with attachment in unix format (line breaks)!*
>
> ##########################################################
>
> On 22.06.2026 16:20, Peer Dietzmann wrote:
>> Hello,
> Hi,
>
>> there is also another patch required to make the module working. But I
>> just can't find the file in the repository that needs to be changed:
> You won't find this file in the repository - that would be too easy. ;-)
>
> This 'apache'-file is stored in the observium archive
> (observium/scripts/agent-local/apache). And only there. It is extracted
> during the build phase, and is then immediately deleted. This is
> controlled via the lfs file:
>
> Line 83 (to be sure: first delete and then unpack source):
> ...
> @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
> ...
>
> Line 103 (clean up):
> ...
> @rm -rf $(DIR_APP)
> ...
>
> IMHO the best way to apply your changes would be a patchfile (see
> attachment) which needs to be copied into the repository in the
> directory '/src/patches/observium', e.g.).
>
> Then the lfs file needs something like this in a new line *84*:
> ...
> cd $(DIR_APP) && patch -Np2 <
> $(DIR_SRC)/src/patches/observium/[NAME_OF_PATCHFILE]
> ...
> HTH
> Matthias
>
>> Line 29 of /usr/lib/observium_agent/scripts-available/apache has to be
>> changed to:
>>
>>           close INFILE;
>> } else {
>>           # grab the status URL (fresh data)
>>           @data = split /(\n)/, LWP::Simple::get(
>> 'http://localhost:81/server-status?auto' )
>>                   or die "Data fetch failure.\n";
>>
>>           # write file
>>
>> The *localhost* has to be changed to *localhost:81*
>>
>> The concerned bug that should be fixed through those three patches is:
>> https://bugzilla.ipfire.org/show_bug.cgi?id=14017
>>
>> Best,
>>
>> Peer
>>
>> On 22/06/2026 16:15, Peer Dietzmann wrote:
>>> Redirect requests to Apache's status to it's backend, force local requests.
>>> This is required to allow Observium's agent to pull metrics from Apache.
>>>
>>> Best,
>>> Peer
>>>
>>> Signed-off-by: Peer Dietzmann <dietzmann@brecht-schule.hamburg>
>>> ---
>>>    config/httpd/httpd.conf | 6 ++++++
>>>    1 file changed, 6 insertions(+)
>>>
>>> diff --git a/config/httpd/httpd.conf b/config/httpd/httpd.conf
>>> index c694bffe2..09b10b50f 100644
>>> --- a/config/httpd/httpd.conf
>>> +++ b/config/httpd/httpd.conf
>>> @@ -49,4 +49,10 @@ Include /etc/httpd/conf/default-server.conf
>>>    # Virtual server configuration
>>>    Include /etc/httpd/conf/vhosts.d/*.conf
>>>    
>>> +# Allow local clients to pull Apache's status
>>> +<Location /server-status>
>>> +    SetHandler server-status
>>> +    Require local
>>> +</Location>
>>> +
>>>    # EOF
  
Matthias Fischer 23 Jun 2026, 7:39 a.m. UTC | #6
On 22.06.2026 22:42, Peer Dietzmann wrote:
> Hi Matthias,

Hi Peer,
> thank you for adding this. Will try it again when it was merged but it 
> looks like the tests I did today, so it should work.

Sorry, but this isn't clear to me - blame the weather... ;-)

This patch hasn't been pushed, he is NOT in patchwork or GIT.
Shall I push it or will you?

Or does your message mean that it is no longer needed?

Best
Matthias

> Best,
> 
> Peer
> 
> On 22/06/2026 19:18, Matthias Fischer wrote:
>> *Third try - fixed typo in patch line*
>>
>> - "-Np1" should have been "-Np2".
>>
>> Without the quotes, of course.
>>
>> Sorry...its too warm and the observium-lfs has a different path variable
>> (DIR_APP) than others. I put both files in attachments.
>>
>> ##########################################################
>>
>> *Second try with attachment in unix format (line breaks)!*
>>
>> ##########################################################
>>
>> On 22.06.2026 16:20, Peer Dietzmann wrote:
>>> Hello,
>> Hi,
>>
>>> there is also another patch required to make the module working. But I
>>> just can't find the file in the repository that needs to be changed:
>> You won't find this file in the repository - that would be too easy. ;-)
>>
>> This 'apache'-file is stored in the observium archive
>> (observium/scripts/agent-local/apache). And only there. It is extracted
>> during the build phase, and is then immediately deleted. This is
>> controlled via the lfs file:
>>
>> Line 83 (to be sure: first delete and then unpack source):
>> ...
>> @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
>> ...
>>
>> Line 103 (clean up):
>> ...
>> @rm -rf $(DIR_APP)
>> ...
>>
>> IMHO the best way to apply your changes would be a patchfile (see
>> attachment) which needs to be copied into the repository in the
>> directory '/src/patches/observium', e.g.).
>>
>> Then the lfs file needs something like this in a new line *84*:
>> ...
>> cd $(DIR_APP) && patch -Np2 <
>> $(DIR_SRC)/src/patches/observium/[NAME_OF_PATCHFILE]
>> ...
>> HTH
>> Matthias
>>
>>> Line 29 of /usr/lib/observium_agent/scripts-available/apache has to be
>>> changed to:
>>>
>>>           close INFILE;
>>> } else {
>>>           # grab the status URL (fresh data)
>>>           @data = split /(\n)/, LWP::Simple::get(
>>> 'http://localhost:81/server-status?auto' )
>>>                   or die "Data fetch failure.\n";
>>>
>>>           # write file
>>>
>>> The *localhost* has to be changed to *localhost:81*
>>>
>>> The concerned bug that should be fixed through those three patches is:
>>> https://bugzilla.ipfire.org/show_bug.cgi?id=14017
>>>
>>> Best,
>>>
>>> Peer
>>>
>>> On 22/06/2026 16:15, Peer Dietzmann wrote:
>>>> Redirect requests to Apache's status to it's backend, force local requests.
>>>> This is required to allow Observium's agent to pull metrics from Apache.
>>>>
>>>> Best,
>>>> Peer
>>>>
>>>> Signed-off-by: Peer Dietzmann <dietzmann@brecht-schule.hamburg>
>>>> ---
>>>>    config/httpd/httpd.conf | 6 ++++++
>>>>    1 file changed, 6 insertions(+)
>>>>
>>>> diff --git a/config/httpd/httpd.conf b/config/httpd/httpd.conf
>>>> index c694bffe2..09b10b50f 100644
>>>> --- a/config/httpd/httpd.conf
>>>> +++ b/config/httpd/httpd.conf
>>>> @@ -49,4 +49,10 @@ Include /etc/httpd/conf/default-server.conf
>>>>    # Virtual server configuration
>>>>    Include /etc/httpd/conf/vhosts.d/*.conf
>>>>    
>>>> +# Allow local clients to pull Apache's status
>>>> +<Location /server-status>
>>>> +    SetHandler server-status
>>>> +    Require local
>>>> +</Location>
>>>> +
>>>>    # EOF
>
  
Peer Dietzmann 23 Jun 2026, 9:21 a.m. UTC | #7
Hi Matthias,

On 23/06/2026 09:39, Matthias Fischer wrote:
> On 22.06.2026 22:42, Peer Dietzmann wrote:
>> Hi Matthias,
> Hi Peer,
>> thank you for adding this. Will try it again when it was merged but it
>> looks like the tests I did today, so it should work.
> Sorry, but this isn't clear to me - blame the weather... ;-)
>
> This patch hasn't been pushed, he is NOT in patchwork or GIT.
> Shall I push it or will you?
>
> Or does your message mean that it is no longer needed?

now I'm a bit confused, both patches I sent, must be merged into the 
next release to make it work. The patch you provided also. If you know 
where this is done, please do it, all three are required. What I meant 
is, that when everything is in testing, then I will test it again to 
confirm that the changed files are shipped correctly.

Best,

Peer

>
> Best
> Matthias
>
>> Best,
>>
>> Peer
>>
>> On 22/06/2026 19:18, Matthias Fischer wrote:
>>> *Third try - fixed typo in patch line*
>>>
>>> - "-Np1" should have been "-Np2".
>>>
>>> Without the quotes, of course.
>>>
>>> Sorry...its too warm and the observium-lfs has a different path variable
>>> (DIR_APP) than others. I put both files in attachments.
>>>
>>> ##########################################################
>>>
>>> *Second try with attachment in unix format (line breaks)!*
>>>
>>> ##########################################################
>>>
>>> On 22.06.2026 16:20, Peer Dietzmann wrote:
>>>> Hello,
>>> Hi,
>>>
>>>> there is also another patch required to make the module working. But I
>>>> just can't find the file in the repository that needs to be changed:
>>> You won't find this file in the repository - that would be too easy. ;-)
>>>
>>> This 'apache'-file is stored in the observium archive
>>> (observium/scripts/agent-local/apache). And only there. It is extracted
>>> during the build phase, and is then immediately deleted. This is
>>> controlled via the lfs file:
>>>
>>> Line 83 (to be sure: first delete and then unpack source):
>>> ...
>>> @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
>>> ...
>>>
>>> Line 103 (clean up):
>>> ...
>>> @rm -rf $(DIR_APP)
>>> ...
>>>
>>> IMHO the best way to apply your changes would be a patchfile (see
>>> attachment) which needs to be copied into the repository in the
>>> directory '/src/patches/observium', e.g.).
>>>
>>> Then the lfs file needs something like this in a new line *84*:
>>> ...
>>> cd $(DIR_APP) && patch -Np2 <
>>> $(DIR_SRC)/src/patches/observium/[NAME_OF_PATCHFILE]
>>> ...
>>> HTH
>>> Matthias
>>>
>>>> Line 29 of /usr/lib/observium_agent/scripts-available/apache has to be
>>>> changed to:
>>>>
>>>>            close INFILE;
>>>> } else {
>>>>            # grab the status URL (fresh data)
>>>>            @data = split /(\n)/, LWP::Simple::get(
>>>> 'http://localhost:81/server-status?auto' )
>>>>                    or die "Data fetch failure.\n";
>>>>
>>>>            # write file
>>>>
>>>> The *localhost* has to be changed to *localhost:81*
>>>>
>>>> The concerned bug that should be fixed through those three patches is:
>>>> https://bugzilla.ipfire.org/show_bug.cgi?id=14017
>>>>
>>>> Best,
>>>>
>>>> Peer
>>>>
>>>> On 22/06/2026 16:15, Peer Dietzmann wrote:
>>>>> Redirect requests to Apache's status to it's backend, force local requests.
>>>>> This is required to allow Observium's agent to pull metrics from Apache.
>>>>>
>>>>> Best,
>>>>> Peer
>>>>>
>>>>> Signed-off-by: Peer Dietzmann <dietzmann@brecht-schule.hamburg>
>>>>> ---
>>>>>     config/httpd/httpd.conf | 6 ++++++
>>>>>     1 file changed, 6 insertions(+)
>>>>>
>>>>> diff --git a/config/httpd/httpd.conf b/config/httpd/httpd.conf
>>>>> index c694bffe2..09b10b50f 100644
>>>>> --- a/config/httpd/httpd.conf
>>>>> +++ b/config/httpd/httpd.conf
>>>>> @@ -49,4 +49,10 @@ Include /etc/httpd/conf/default-server.conf
>>>>>     # Virtual server configuration
>>>>>     Include /etc/httpd/conf/vhosts.d/*.conf
>>>>>     
>>>>> +# Allow local clients to pull Apache's status
>>>>> +<Location /server-status>
>>>>> +    SetHandler server-status
>>>>> +    Require local
>>>>> +</Location>
>>>>> +
>>>>>     # EOF
>
  
Matthias Fischer 23 Jun 2026, 11:32 a.m. UTC | #8
On 23.06.2026 11:21, Peer Dietzmann wrote:
> Hi Matthias,

Hi Peer,

> On 23/06/2026 09:39, Matthias Fischer wrote:
>> On 22.06.2026 22:42, Peer Dietzmann wrote:
>>> Hi Matthias,
>> Hi Peer,
>>> thank you for adding this. Will try it again when it was merged but it
>>> looks like the tests I did today, so it should work.
>> Sorry, but this isn't clear to me - blame the weather... ;-)
>>
>> This patch hasn't been pushed, he is NOT in patchwork or GIT.
>> Shall I push it or will you?
>>
>> Or does your message mean that it is no longer needed?
> 
> now I'm a bit confused, both patches I sent, must be merged into the 
> next release to make it work. The patch you provided also. If you know 
> where this is done, please do it, all three are required. What I meant 
> is, that when everything is in testing, then I will test it again to 
> confirm that the changed files are shipped correctly.

Ok, sorry for the noise, but in fact it was me who was a bit confused.
As I wrote, its the weather to blame... ;-) I just wasn't sure if you'd
like to push the third patch yourself.

I'll prepare a patch and will send it in a few minutes, no problem.

Best
Matthias
> Best,
> 
> Peer
> 
>>
>> Best
>> Matthias
>>
>>> Best,
>>>
>>> Peer
>>>
>>> On 22/06/2026 19:18, Matthias Fischer wrote:
>>>> *Third try - fixed typo in patch line*
>>>>
>>>> - "-Np1" should have been "-Np2".
>>>>
>>>> Without the quotes, of course.
>>>>
>>>> Sorry...its too warm and the observium-lfs has a different path variable
>>>> (DIR_APP) than others. I put both files in attachments.
>>>>
>>>> ##########################################################
>>>>
>>>> *Second try with attachment in unix format (line breaks)!*
>>>>
>>>> ##########################################################
>>>>
>>>> On 22.06.2026 16:20, Peer Dietzmann wrote:
>>>>> Hello,
>>>> Hi,
>>>>
>>>>> there is also another patch required to make the module working. But I
>>>>> just can't find the file in the repository that needs to be changed:
>>>> You won't find this file in the repository - that would be too easy. ;-)
>>>>
>>>> This 'apache'-file is stored in the observium archive
>>>> (observium/scripts/agent-local/apache). And only there. It is extracted
>>>> during the build phase, and is then immediately deleted. This is
>>>> controlled via the lfs file:
>>>>
>>>> Line 83 (to be sure: first delete and then unpack source):
>>>> ...
>>>> @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
>>>> ...
>>>>
>>>> Line 103 (clean up):
>>>> ...
>>>> @rm -rf $(DIR_APP)
>>>> ...
>>>>
>>>> IMHO the best way to apply your changes would be a patchfile (see
>>>> attachment) which needs to be copied into the repository in the
>>>> directory '/src/patches/observium', e.g.).
>>>>
>>>> Then the lfs file needs something like this in a new line *84*:
>>>> ...
>>>> cd $(DIR_APP) && patch -Np2 <
>>>> $(DIR_SRC)/src/patches/observium/[NAME_OF_PATCHFILE]
>>>> ...
>>>> HTH
>>>> Matthias
>>>>
>>>>> Line 29 of /usr/lib/observium_agent/scripts-available/apache has to be
>>>>> changed to:
>>>>>
>>>>>            close INFILE;
>>>>> } else {
>>>>>            # grab the status URL (fresh data)
>>>>>            @data = split /(\n)/, LWP::Simple::get(
>>>>> 'http://localhost:81/server-status?auto' )
>>>>>                    or die "Data fetch failure.\n";
>>>>>
>>>>>            # write file
>>>>>
>>>>> The *localhost* has to be changed to *localhost:81*
>>>>>
>>>>> The concerned bug that should be fixed through those three patches is:
>>>>> https://bugzilla.ipfire.org/show_bug.cgi?id=14017
>>>>>
>>>>> Best,
>>>>>
>>>>> Peer
>>>>>
>>>>> On 22/06/2026 16:15, Peer Dietzmann wrote:
>>>>>> Redirect requests to Apache's status to it's backend, force local requests.
>>>>>> This is required to allow Observium's agent to pull metrics from Apache.
>>>>>>
>>>>>> Best,
>>>>>> Peer
>>>>>>
>>>>>> Signed-off-by: Peer Dietzmann <dietzmann@brecht-schule.hamburg>
>>>>>> ---
>>>>>>     config/httpd/httpd.conf | 6 ++++++
>>>>>>     1 file changed, 6 insertions(+)
>>>>>>
>>>>>> diff --git a/config/httpd/httpd.conf b/config/httpd/httpd.conf
>>>>>> index c694bffe2..09b10b50f 100644
>>>>>> --- a/config/httpd/httpd.conf
>>>>>> +++ b/config/httpd/httpd.conf
>>>>>> @@ -49,4 +49,10 @@ Include /etc/httpd/conf/default-server.conf
>>>>>>     # Virtual server configuration
>>>>>>     Include /etc/httpd/conf/vhosts.d/*.conf
>>>>>>     
>>>>>> +# Allow local clients to pull Apache's status
>>>>>> +<Location /server-status>
>>>>>> +    SetHandler server-status
>>>>>> +    Require local
>>>>>> +</Location>
>>>>>> +
>>>>>>     # EOF
>>
  

Patch

diff --git a/config/httpd/httpd.conf b/config/httpd/httpd.conf
index c694bffe2..09b10b50f 100644
--- a/config/httpd/httpd.conf
+++ b/config/httpd/httpd.conf
@@ -49,4 +49,10 @@  Include /etc/httpd/conf/default-server.conf
 # Virtual server configuration
 Include /etc/httpd/conf/vhosts.d/*.conf
 
+# Allow local clients to pull Apache's status
+<Location /server-status>
+    SetHandler server-status
+    Require local
+</Location>
+
 # EOF