запустить node apache-exporter в том же контейнере докеров, что и Apache
Я запускаю узел (https://github.com/Lusitaniae/apache_exporter) в том же контейнере Docker (сборка из образа httpd), что и сам Apache. (Таким образом, я могу распространять службу непосредственно с контейнером с помощью одного файла Dockerfile и одного файла Docker-Compose, например, используя два файла Dockerfile, и объединить 2 контейнера в один файл Docker-Compose.)
The apache-exporter
(и сервер Apache) работает, и я вижуapache-up
данные в Prometheus/Grafana.
Я вставил блок в свойhttpd.conf
<VirtualHost *:80>
ServerName XXX.XXX.XXX.XX
ServerAlias www.XXX.XXX.XXX.XX
<Location /server-status>
SetHandler server-status
#Require local
Require host example.com
#Require ip YYY.YYY.YYY.YYY
</Location>
Redirect permanent / https://XXX.XXX.XXX.XXX
</VirtualHost>
XXX.XXX.XXX.XXX
= внешний IP,YYY.YYY.YYY.YYY
= IP внутри сети докера и загрузил модули
LoadModule authn_core_module modules/mod_authn_core.so
LoadModule authz_host_module modules/mod_authz_host.so
Но я получил ошибку:
level=error msg="Error scraping apache: error scraping apache: Get \"https:///XXX.XXX.XXX.XXXserver-status/?auto\": dial tcp: lookup XXX.XXX.XXX.XXXserver-status on YYY.YYY.YYY.YYY: no such host" source="apache_exporter.go:571"
Что не так? Где-то пропал? Должен ли я писать блок внутри другого блока, используя другойServerName
? Должен ли я установить--scrape_uri
? Я думаю, это просто моя глупая ошибка, потому что между IP и . мне кажется, чтоLocation
не рассматривается, поэтому URL-адрес обрабатываетсяRedirect permanent
. Использование несколькихProxyPass
внутриVirtualHost
возможно при размещении/
перенаправление последнее.
Я хочу ограничить доступ кserver-status
к самому Apache-контейнеру.
1 ответ
Он работает с использованием этой конфигурации:
<VirtualHost *:80>
ServerName XXX.XXX.XXX.XX
ServerAlias www.XXX.XXX.XXX.XX
<Location /server-status>
SetHandler server-status
Require all granted
Require host example.com
</Location>
</VirtualHost>