This is an automated email from the ASF dual-hosted git repository.
houston pushed a commit to branch branch_9_0
in repository https://gitbox.apache.org/repos/asf/solr.git
The following commit(s) were added to refs/heads/branch_9_0 by this push:
new 08dea66 SOLR-15954: Move the Prometheus Exporter from modules (#564)
08dea66 is described below
commit 08dea6655c461782ea4e19055504c37c7689e570
Author: Houston Putman <[email protected]>
AuthorDate: Wed Jan 26 11:07:10 2022 -0500
SOLR-15954: Move the Prometheus Exporter from modules (#564)
(cherry picked from commit 2a3e9cad565121d393598662d8fa0f34da8e851b)
---
.github/workflows/docker-test.yml | 2 +-
gradle/hacks/solr.findbugs.gradle | 2 +-
gradle/maven/defaults-maven.gradle | 5 +++--
gradle/solr/packaging.gradle | 10 +++++++---
gradle/validation/spotless.gradle | 2 +-
settings.gradle | 2 +-
solr/CHANGES.txt | 2 ++
solr/README.md | 3 +++
solr/docker/templates/Dockerfile.body.template | 2 +-
solr/packaging/build.gradle | 8 +++++++-
solr/{modules => }/prometheus-exporter/README.md | 0
.../prometheus-exporter/bin/solr-exporter | 2 +-
.../prometheus-exporter/bin/solr-exporter.cmd | 2 +-
.../{modules => }/prometheus-exporter/build.gradle | 0
.../conf/grafana-solr-dashboard.json | 0
.../prometheus-exporter/conf/log4j2.xml | 0
.../conf/solr-exporter-config.xml | 0
.../prometheus/collector/CollectionsCollector.java | 0
.../solr/prometheus/collector/MetricCollector.java | 0
.../solr/prometheus/collector/MetricSamples.java | 0
.../prometheus/collector/MetricsCollector.java | 0
.../collector/MetricsCollectorFactory.java | 0
.../solr/prometheus/collector/PingCollector.java | 0
.../collector/SchedulerMetricsCollector.java | 0
.../solr/prometheus/collector/SearchCollector.java | 0
.../solr/prometheus/collector/package-info.java | 0
.../exporter/CachedPrometheusCollector.java | 0
.../prometheus/exporter/MetricsConfiguration.java | 0
.../solr/prometheus/exporter/MetricsQuery.java | 0
.../prometheus/exporter/MetricsQueryTemplate.java | 0
.../exporter/PrometheusExporterSettings.java | 0
.../prometheus/exporter/SolrClientFactory.java | 0
.../solr/prometheus/exporter/SolrExporter.java | 0
.../exporter/SolrScrapeConfiguration.java | 0
.../solr/prometheus/exporter/package-info.java | 0
.../solr/prometheus/scraper/SolrCloudScraper.java | 0
.../solr/prometheus/scraper/SolrScraper.java | 0
.../prometheus/scraper/SolrStandaloneScraper.java | 0
.../solr/prometheus/scraper/package-info.java | 0
.../prometheus-exporter/src/java/overview.html | 4 ++--
...theus-solr-exporter-integration-test-config.xml | 0
...rometheus-solr-exporter-scraper-test-config.xml | 0
.../test-files/conf/test-config-with-templates.xml | 0
.../src/test-files/exampledocs/gb18030-example.xml | 0
.../src/test-files/exampledocs/hd.xml | 0
.../src/test-files/exampledocs/ipod_other.xml | 0
.../src/test-files/exampledocs/ipod_video.xml | 0
.../src/test-files/exampledocs/manufacturers.xml | 0
.../src/test-files/exampledocs/mem.xml | 0
.../src/test-files/exampledocs/money.xml | 0
.../src/test-files/exampledocs/monitor.xml | 0
.../src/test-files/exampledocs/monitor2.xml | 0
.../src/test-files/exampledocs/mp500.xml | 0
.../src/test-files/exampledocs/sample.html | 0
.../src/test-files/exampledocs/sd500.xml | 0
.../src/test-files/exampledocs/solr.xml | 0
.../src/test-files/exampledocs/utf8-example.xml | 0
.../src/test-files/exampledocs/vidcard.xml | 0
.../src/test-files/query-metrics.json | 0
.../solr/collection1/conf/managed-schema | 0
.../solr/collection1/conf/solrconfig.xml | 0
.../test-files/solr/collection1/conf/stopwords.txt | 0
.../test-files/solr/collection1/conf/synonyms.txt | 0
.../src/test-files/solr/solr.xml | 0
.../prometheus/PrometheusExporterTestBase.java | 0
.../prometheus/collector/MetricSamplesTest.java | 0
.../exporter/MetricsQueryTemplateTest.java | 0
.../exporter/SolrExporterIntegrationTest.java | 0
.../prometheus/exporter/SolrExporterTestBase.java | 0
.../prometheus/scraper/SolrCloudScraperTest.java | 0
.../scraper/SolrStandaloneScraperTest.java | 0
.../org/apache/solr/prometheus/utils/Helpers.java | 0
solr/solr-ref-guide/src/installing-solr.adoc | 8 ++++++++
.../src/major-changes-in-solr-9.adoc | 4 +++-
.../monitoring-with-prometheus-and-grafana.adoc | 22 +++++++++++-----------
75 files changed, 53 insertions(+), 27 deletions(-)
diff --git a/.github/workflows/docker-test.yml
b/.github/workflows/docker-test.yml
index 73dd716..60f7a83 100644
--- a/.github/workflows/docker-test.yml
+++ b/.github/workflows/docker-test.yml
@@ -7,7 +7,7 @@ on:
paths:
- '.github/workflows/docker-test.yml'
- 'solr/bin/**'
- - 'solr/modules/prometheus-exporter/bin/**'
+ - 'solr/prometheus-exporter/bin/**'
- 'solr/docker/**'
- 'solr/packaging/**'
diff --git a/gradle/hacks/solr.findbugs.gradle
b/gradle/hacks/solr.findbugs.gradle
index 44da1e3..ab10146 100644
--- a/gradle/hacks/solr.findbugs.gradle
+++ b/gradle/hacks/solr.findbugs.gradle
@@ -27,7 +27,7 @@ configure([project(":solr:core"),
project(":solr:modules:ltr"),
project(":solr:modules:s3-repository"),
project(":solr:modules:scripting"),
- project(":solr:modules:prometheus-exporter")]) {
+ project(":solr:prometheus-exporter")]) {
plugins.withType(JavaPlugin) {
dependencies {
// Use versionless variants because these libraries are in versions.lock.
diff --git a/gradle/maven/defaults-maven.gradle
b/gradle/maven/defaults-maven.gradle
index 61cea3a..278ad68 100644
--- a/gradle/maven/defaults-maven.gradle
+++ b/gradle/maven/defaults-maven.gradle
@@ -32,11 +32,12 @@ configure(rootProject) {
":solr:modules:clustering",
":solr:modules:extraction",
":solr:modules:gcs-repository",
- ":solr:modules:langid",
":solr:modules:jaegertracer-configurator",
- ":solr:modules:prometheus-exporter",
+ ":solr:modules:langid",
+ ":solr:modules:ltr",
":solr:modules:s3-repository",
":solr:modules:scripting",
+ ":solr:prometheus-exporter",
":solr:test-framework",
]
diff --git a/gradle/solr/packaging.gradle b/gradle/solr/packaging.gradle
index f59324f..e0bd891 100644
--- a/gradle/solr/packaging.gradle
+++ b/gradle/solr/packaging.gradle
@@ -36,11 +36,15 @@
// I don't know how to untie these two cleanly.
//
-configure(allprojects.findAll {project ->
project.path.startsWith(":solr:modules") }) {
+configure(allprojects.findAll {project ->
project.path.startsWith(":solr:modules") ||
project.path.startsWith(":solr:prometheus-exporter") }) {
plugins.withType(JavaPlugin) {
ext {
packagingDir = file("${buildDir}/packaging")
- deps = file("${packagingDir}/${project.name}")
+ if (project.path.startsWith(":solr:prometheus-exporter")) {
+ deps = packagingDir
+ } else {
+ deps = file("${packagingDir}/${project.name}")
+ }
}
configurations {
@@ -60,7 +64,7 @@ configure(allprojects.findAll {project ->
project.path.startsWith(":solr:modules
// An aggregate that configures lib and test-lib in a temporary location.
task assemblePackaging(type: Sync) {
from "README.md"
-
+
from (tasks.jar, {
into "lib"
})
diff --git a/gradle/validation/spotless.gradle
b/gradle/validation/spotless.gradle
index d317824..395d86a 100644
--- a/gradle/validation/spotless.gradle
+++ b/gradle/validation/spotless.gradle
@@ -51,8 +51,8 @@ configure(project(":solr").subprojects) { prj ->
case ":solr:modules:gcs-repository":
case ":solr:modules:langid":
case ":solr:modules:ltr":
- case ":solr:modules:prometheus-exporter":
case ":solr:modules:scripting":
+ case ":solr:prometheus-exporter":
case ":solr:core":
case ":solr:solrj":
case ":solr:solr-ref-guide":
diff --git a/settings.gradle b/settings.gradle
index 1121323..66e7610 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -35,7 +35,6 @@ include "solr:modules:clustering"
include "solr:modules:extraction"
include "solr:modules:langid"
include "solr:modules:jaegertracer-configurator"
-include "solr:modules:prometheus-exporter"
include "solr:modules:s3-repository"
include "solr:modules:scripting"
include "solr:modules:ltr"
@@ -49,6 +48,7 @@ include "solr:documentation"
include "solr:packaging"
include "solr:distribution"
include "solr:docker"
+include "solr:prometheus-exporter"
// Configures development for joint Lucene/ Solr composite build.
apply from: file('gradle/lucene-dev/lucene-dev-repo-composite.gradle')
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index ec2ef21..0f8d395 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -486,6 +486,8 @@ and each individual module's jar will be included in its
directory's lib/ folder
* SOLR-15632: Upgrade to Caffeine Cache 3.0.5 (Mike Drob)
+* SOLR-15954: Move the Prometheus Exporter from
"solr/modules/prometheus-exporter" to "solr/prometheus-exporter". (Houston
Putman)
+
Bug Fixes
---------------------
* SOLR-15849: Fix the connection reset problem caused by the incorrect use of
4LW with \n when monitoring zooKeeper status (Fa Ming).
diff --git a/solr/README.md b/solr/README.md
index ff545da..bacd30c 100644
--- a/solr/README.md
+++ b/solr/README.md
@@ -152,6 +152,9 @@ modules/
Contains modules to extend the functionality of Solr.
Libraries for these modules can be found under modules/*/lib
+prometheus-exporter/
+ Contains a separate application to monitor Solr instances and export
Prometheus metrics
+
docker/
Contains a docker file to build a Docker image using the source binary
distribution.
docker/scripts contains scripts that the docker image uses to manage Solr.
diff --git a/solr/docker/templates/Dockerfile.body.template
b/solr/docker/templates/Dockerfile.body.template
index 77022be..dc37008 100644
--- a/solr/docker/templates/Dockerfile.body.template
+++ b/solr/docker/templates/Dockerfile.body.template
@@ -44,7 +44,7 @@ ENV SOLR_USER="solr" \
SOLR_UID="8983" \
SOLR_GROUP="solr" \
SOLR_GID="8983" \
-
PATH="/opt/solr/bin:/opt/solr/docker/scripts:/opt/solr/modules/prometheus-exporter/bin:$PATH"
\
+
PATH="/opt/solr/bin:/opt/solr/docker/scripts:/opt/solr/prometheus-exporter/bin:$PATH"
\
SOLR_INCLUDE=/etc/default/solr.in.sh \
SOLR_HOME=/var/solr/data \
SOLR_PID_DIR=/var/solr \
diff --git a/solr/packaging/build.gradle b/solr/packaging/build.gradle
index 75b96f4..370dd45 100644
--- a/solr/packaging/build.gradle
+++ b/solr/packaging/build.gradle
@@ -33,6 +33,7 @@ ext {
configurations {
modules
example
+ prometheusExporter
server
docs
docker
@@ -55,13 +56,14 @@ dependencies {
":solr:modules:jaegertracer-configurator",
":solr:modules:langid",
":solr:modules:ltr",
- ":solr:modules:prometheus-exporter",
":solr:modules:s3-repository",
":solr:modules:scripting"
].each { moduleName ->
modules project(path: moduleName, configuration: "packaging")
}
+ prometheusExporter project(path: ":solr:prometheus-exporter", configuration:
"packaging")
+
example project(path: ":solr:example", configuration: "packaging")
server project(path: ":solr:server", configuration: "packaging")
@@ -102,6 +104,10 @@ distributions {
into "example"
})
+ from(configurations.prometheusExporter, {
+ into "prometheus-exporter"
+ })
+
from(configurations.server, {
into "server"
})
diff --git a/solr/modules/prometheus-exporter/README.md
b/solr/prometheus-exporter/README.md
similarity index 100%
rename from solr/modules/prometheus-exporter/README.md
rename to solr/prometheus-exporter/README.md
diff --git a/solr/modules/prometheus-exporter/bin/solr-exporter
b/solr/prometheus-exporter/bin/solr-exporter
similarity index 97%
rename from solr/modules/prometheus-exporter/bin/solr-exporter
rename to solr/prometheus-exporter/bin/solr-exporter
index c43788c..f378e3d 100755
--- a/solr/modules/prometheus-exporter/bin/solr-exporter
+++ b/solr/prometheus-exporter/bin/solr-exporter
@@ -73,7 +73,7 @@ then
REPO="$BASEDIR"/lib
fi
-CLASSPATH=$CLASSPATH_PREFIX:"$BASEDIR/conf":"$REPO/*":"$BASEDIR/../../server/solr-webapp/webapp/WEB-INF/lib/*":"$BASEDIR/../../server/lib/ext/*"
+CLASSPATH=$CLASSPATH_PREFIX:"$BASEDIR/conf":"$REPO/*":"$BASEDIR/../server/solr-webapp/webapp/WEB-INF/lib/*":"$BASEDIR/../server/lib/ext/*"
# Memory settings
JAVA_MEM_OPTS=
diff --git a/solr/modules/prometheus-exporter/bin/solr-exporter.cmd
b/solr/prometheus-exporter/bin/solr-exporter.cmd
similarity index 96%
rename from solr/modules/prometheus-exporter/bin/solr-exporter.cmd
rename to solr/prometheus-exporter/bin/solr-exporter.cmd
index a16681c..cbed311 100644
--- a/solr/modules/prometheus-exporter/bin/solr-exporter.cmd
+++ b/solr/prometheus-exporter/bin/solr-exporter.cmd
@@ -71,7 +71,7 @@ if "%JAVACMD%"=="" set JAVACMD=java
if "%REPO%"=="" set REPO=%BASEDIR%\lib
-set
CLASSPATH=%REPO%\*;%BASEDIR%\conf;%BASEDIR%\..\..\server\lib\ext\*;%BASEDIR%\..\..\server\solr-webapp\webapp\WEB-INF\lib\*
+set
CLASSPATH=%REPO%\*;%BASEDIR%\conf;%BASEDIR%\..\server\lib\ext\*;%BASEDIR%\..\server\solr-webapp\webapp\WEB-INF\lib\*
@REM Convert Environment Variables to Command Line Options
set EXPORTER_ARGS=
diff --git a/solr/modules/prometheus-exporter/build.gradle
b/solr/prometheus-exporter/build.gradle
similarity index 100%
rename from solr/modules/prometheus-exporter/build.gradle
rename to solr/prometheus-exporter/build.gradle
diff --git a/solr/modules/prometheus-exporter/conf/grafana-solr-dashboard.json
b/solr/prometheus-exporter/conf/grafana-solr-dashboard.json
similarity index 100%
rename from solr/modules/prometheus-exporter/conf/grafana-solr-dashboard.json
rename to solr/prometheus-exporter/conf/grafana-solr-dashboard.json
diff --git a/solr/modules/prometheus-exporter/conf/log4j2.xml
b/solr/prometheus-exporter/conf/log4j2.xml
similarity index 100%
rename from solr/modules/prometheus-exporter/conf/log4j2.xml
rename to solr/prometheus-exporter/conf/log4j2.xml
diff --git a/solr/modules/prometheus-exporter/conf/solr-exporter-config.xml
b/solr/prometheus-exporter/conf/solr-exporter-config.xml
similarity index 100%
rename from solr/modules/prometheus-exporter/conf/solr-exporter-config.xml
rename to solr/prometheus-exporter/conf/solr-exporter-config.xml
diff --git
a/solr/modules/prometheus-exporter/src/java/org/apache/solr/prometheus/collector/CollectionsCollector.java
b/solr/prometheus-exporter/src/java/org/apache/solr/prometheus/collector/CollectionsCollector.java
similarity index 100%
rename from
solr/modules/prometheus-exporter/src/java/org/apache/solr/prometheus/collector/CollectionsCollector.java
rename to
solr/prometheus-exporter/src/java/org/apache/solr/prometheus/collector/CollectionsCollector.java
diff --git
a/solr/modules/prometheus-exporter/src/java/org/apache/solr/prometheus/collector/MetricCollector.java
b/solr/prometheus-exporter/src/java/org/apache/solr/prometheus/collector/MetricCollector.java
similarity index 100%
rename from
solr/modules/prometheus-exporter/src/java/org/apache/solr/prometheus/collector/MetricCollector.java
rename to
solr/prometheus-exporter/src/java/org/apache/solr/prometheus/collector/MetricCollector.java
diff --git
a/solr/modules/prometheus-exporter/src/java/org/apache/solr/prometheus/collector/MetricSamples.java
b/solr/prometheus-exporter/src/java/org/apache/solr/prometheus/collector/MetricSamples.java
similarity index 100%
rename from
solr/modules/prometheus-exporter/src/java/org/apache/solr/prometheus/collector/MetricSamples.java
rename to
solr/prometheus-exporter/src/java/org/apache/solr/prometheus/collector/MetricSamples.java
diff --git
a/solr/modules/prometheus-exporter/src/java/org/apache/solr/prometheus/collector/MetricsCollector.java
b/solr/prometheus-exporter/src/java/org/apache/solr/prometheus/collector/MetricsCollector.java
similarity index 100%
rename from
solr/modules/prometheus-exporter/src/java/org/apache/solr/prometheus/collector/MetricsCollector.java
rename to
solr/prometheus-exporter/src/java/org/apache/solr/prometheus/collector/MetricsCollector.java
diff --git
a/solr/modules/prometheus-exporter/src/java/org/apache/solr/prometheus/collector/MetricsCollectorFactory.java
b/solr/prometheus-exporter/src/java/org/apache/solr/prometheus/collector/MetricsCollectorFactory.java
similarity index 100%
rename from
solr/modules/prometheus-exporter/src/java/org/apache/solr/prometheus/collector/MetricsCollectorFactory.java
rename to
solr/prometheus-exporter/src/java/org/apache/solr/prometheus/collector/MetricsCollectorFactory.java
diff --git
a/solr/modules/prometheus-exporter/src/java/org/apache/solr/prometheus/collector/PingCollector.java
b/solr/prometheus-exporter/src/java/org/apache/solr/prometheus/collector/PingCollector.java
similarity index 100%
rename from
solr/modules/prometheus-exporter/src/java/org/apache/solr/prometheus/collector/PingCollector.java
rename to
solr/prometheus-exporter/src/java/org/apache/solr/prometheus/collector/PingCollector.java
diff --git
a/solr/modules/prometheus-exporter/src/java/org/apache/solr/prometheus/collector/SchedulerMetricsCollector.java
b/solr/prometheus-exporter/src/java/org/apache/solr/prometheus/collector/SchedulerMetricsCollector.java
similarity index 100%
rename from
solr/modules/prometheus-exporter/src/java/org/apache/solr/prometheus/collector/SchedulerMetricsCollector.java
rename to
solr/prometheus-exporter/src/java/org/apache/solr/prometheus/collector/SchedulerMetricsCollector.java
diff --git
a/solr/modules/prometheus-exporter/src/java/org/apache/solr/prometheus/collector/SearchCollector.java
b/solr/prometheus-exporter/src/java/org/apache/solr/prometheus/collector/SearchCollector.java
similarity index 100%
rename from
solr/modules/prometheus-exporter/src/java/org/apache/solr/prometheus/collector/SearchCollector.java
rename to
solr/prometheus-exporter/src/java/org/apache/solr/prometheus/collector/SearchCollector.java
diff --git
a/solr/modules/prometheus-exporter/src/java/org/apache/solr/prometheus/collector/package-info.java
b/solr/prometheus-exporter/src/java/org/apache/solr/prometheus/collector/package-info.java
similarity index 100%
rename from
solr/modules/prometheus-exporter/src/java/org/apache/solr/prometheus/collector/package-info.java
rename to
solr/prometheus-exporter/src/java/org/apache/solr/prometheus/collector/package-info.java
diff --git
a/solr/modules/prometheus-exporter/src/java/org/apache/solr/prometheus/exporter/CachedPrometheusCollector.java
b/solr/prometheus-exporter/src/java/org/apache/solr/prometheus/exporter/CachedPrometheusCollector.java
similarity index 100%
rename from
solr/modules/prometheus-exporter/src/java/org/apache/solr/prometheus/exporter/CachedPrometheusCollector.java
rename to
solr/prometheus-exporter/src/java/org/apache/solr/prometheus/exporter/CachedPrometheusCollector.java
diff --git
a/solr/modules/prometheus-exporter/src/java/org/apache/solr/prometheus/exporter/MetricsConfiguration.java
b/solr/prometheus-exporter/src/java/org/apache/solr/prometheus/exporter/MetricsConfiguration.java
similarity index 100%
rename from
solr/modules/prometheus-exporter/src/java/org/apache/solr/prometheus/exporter/MetricsConfiguration.java
rename to
solr/prometheus-exporter/src/java/org/apache/solr/prometheus/exporter/MetricsConfiguration.java
diff --git
a/solr/modules/prometheus-exporter/src/java/org/apache/solr/prometheus/exporter/MetricsQuery.java
b/solr/prometheus-exporter/src/java/org/apache/solr/prometheus/exporter/MetricsQuery.java
similarity index 100%
rename from
solr/modules/prometheus-exporter/src/java/org/apache/solr/prometheus/exporter/MetricsQuery.java
rename to
solr/prometheus-exporter/src/java/org/apache/solr/prometheus/exporter/MetricsQuery.java
diff --git
a/solr/modules/prometheus-exporter/src/java/org/apache/solr/prometheus/exporter/MetricsQueryTemplate.java
b/solr/prometheus-exporter/src/java/org/apache/solr/prometheus/exporter/MetricsQueryTemplate.java
similarity index 100%
rename from
solr/modules/prometheus-exporter/src/java/org/apache/solr/prometheus/exporter/MetricsQueryTemplate.java
rename to
solr/prometheus-exporter/src/java/org/apache/solr/prometheus/exporter/MetricsQueryTemplate.java
diff --git
a/solr/modules/prometheus-exporter/src/java/org/apache/solr/prometheus/exporter/PrometheusExporterSettings.java
b/solr/prometheus-exporter/src/java/org/apache/solr/prometheus/exporter/PrometheusExporterSettings.java
similarity index 100%
rename from
solr/modules/prometheus-exporter/src/java/org/apache/solr/prometheus/exporter/PrometheusExporterSettings.java
rename to
solr/prometheus-exporter/src/java/org/apache/solr/prometheus/exporter/PrometheusExporterSettings.java
diff --git
a/solr/modules/prometheus-exporter/src/java/org/apache/solr/prometheus/exporter/SolrClientFactory.java
b/solr/prometheus-exporter/src/java/org/apache/solr/prometheus/exporter/SolrClientFactory.java
similarity index 100%
rename from
solr/modules/prometheus-exporter/src/java/org/apache/solr/prometheus/exporter/SolrClientFactory.java
rename to
solr/prometheus-exporter/src/java/org/apache/solr/prometheus/exporter/SolrClientFactory.java
diff --git
a/solr/modules/prometheus-exporter/src/java/org/apache/solr/prometheus/exporter/SolrExporter.java
b/solr/prometheus-exporter/src/java/org/apache/solr/prometheus/exporter/SolrExporter.java
similarity index 100%
rename from
solr/modules/prometheus-exporter/src/java/org/apache/solr/prometheus/exporter/SolrExporter.java
rename to
solr/prometheus-exporter/src/java/org/apache/solr/prometheus/exporter/SolrExporter.java
diff --git
a/solr/modules/prometheus-exporter/src/java/org/apache/solr/prometheus/exporter/SolrScrapeConfiguration.java
b/solr/prometheus-exporter/src/java/org/apache/solr/prometheus/exporter/SolrScrapeConfiguration.java
similarity index 100%
rename from
solr/modules/prometheus-exporter/src/java/org/apache/solr/prometheus/exporter/SolrScrapeConfiguration.java
rename to
solr/prometheus-exporter/src/java/org/apache/solr/prometheus/exporter/SolrScrapeConfiguration.java
diff --git
a/solr/modules/prometheus-exporter/src/java/org/apache/solr/prometheus/exporter/package-info.java
b/solr/prometheus-exporter/src/java/org/apache/solr/prometheus/exporter/package-info.java
similarity index 100%
rename from
solr/modules/prometheus-exporter/src/java/org/apache/solr/prometheus/exporter/package-info.java
rename to
solr/prometheus-exporter/src/java/org/apache/solr/prometheus/exporter/package-info.java
diff --git
a/solr/modules/prometheus-exporter/src/java/org/apache/solr/prometheus/scraper/SolrCloudScraper.java
b/solr/prometheus-exporter/src/java/org/apache/solr/prometheus/scraper/SolrCloudScraper.java
similarity index 100%
rename from
solr/modules/prometheus-exporter/src/java/org/apache/solr/prometheus/scraper/SolrCloudScraper.java
rename to
solr/prometheus-exporter/src/java/org/apache/solr/prometheus/scraper/SolrCloudScraper.java
diff --git
a/solr/modules/prometheus-exporter/src/java/org/apache/solr/prometheus/scraper/SolrScraper.java
b/solr/prometheus-exporter/src/java/org/apache/solr/prometheus/scraper/SolrScraper.java
similarity index 100%
rename from
solr/modules/prometheus-exporter/src/java/org/apache/solr/prometheus/scraper/SolrScraper.java
rename to
solr/prometheus-exporter/src/java/org/apache/solr/prometheus/scraper/SolrScraper.java
diff --git
a/solr/modules/prometheus-exporter/src/java/org/apache/solr/prometheus/scraper/SolrStandaloneScraper.java
b/solr/prometheus-exporter/src/java/org/apache/solr/prometheus/scraper/SolrStandaloneScraper.java
similarity index 100%
rename from
solr/modules/prometheus-exporter/src/java/org/apache/solr/prometheus/scraper/SolrStandaloneScraper.java
rename to
solr/prometheus-exporter/src/java/org/apache/solr/prometheus/scraper/SolrStandaloneScraper.java
diff --git
a/solr/modules/prometheus-exporter/src/java/org/apache/solr/prometheus/scraper/package-info.java
b/solr/prometheus-exporter/src/java/org/apache/solr/prometheus/scraper/package-info.java
similarity index 100%
rename from
solr/modules/prometheus-exporter/src/java/org/apache/solr/prometheus/scraper/package-info.java
rename to
solr/prometheus-exporter/src/java/org/apache/solr/prometheus/scraper/package-info.java
diff --git a/solr/modules/prometheus-exporter/src/java/overview.html
b/solr/prometheus-exporter/src/java/overview.html
similarity index 84%
rename from solr/modules/prometheus-exporter/src/java/overview.html
rename to solr/prometheus-exporter/src/java/overview.html
index b2d0980..dead6e8 100644
--- a/solr/modules/prometheus-exporter/src/java/overview.html
+++ b/solr/prometheus-exporter/src/java/overview.html
@@ -16,10 +16,10 @@
-->
<html>
<body>
-Apache Solr Search Server: Solr Prometheus Exporter module
+Apache Solr: Prometheus Exporter
<p>
-This package provides tools for monitoring Solr with Prometheus.
+This package provides a tool for monitoring Solr with Prometheus. It runs
separately from the Solr process(es).
</p>
</body>
diff --git
a/solr/modules/prometheus-exporter/src/test-files/conf/prometheus-solr-exporter-integration-test-config.xml
b/solr/prometheus-exporter/src/test-files/conf/prometheus-solr-exporter-integration-test-config.xml
similarity index 100%
rename from
solr/modules/prometheus-exporter/src/test-files/conf/prometheus-solr-exporter-integration-test-config.xml
rename to
solr/prometheus-exporter/src/test-files/conf/prometheus-solr-exporter-integration-test-config.xml
diff --git
a/solr/modules/prometheus-exporter/src/test-files/conf/prometheus-solr-exporter-scraper-test-config.xml
b/solr/prometheus-exporter/src/test-files/conf/prometheus-solr-exporter-scraper-test-config.xml
similarity index 100%
rename from
solr/modules/prometheus-exporter/src/test-files/conf/prometheus-solr-exporter-scraper-test-config.xml
rename to
solr/prometheus-exporter/src/test-files/conf/prometheus-solr-exporter-scraper-test-config.xml
diff --git
a/solr/modules/prometheus-exporter/src/test-files/conf/test-config-with-templates.xml
b/solr/prometheus-exporter/src/test-files/conf/test-config-with-templates.xml
similarity index 100%
rename from
solr/modules/prometheus-exporter/src/test-files/conf/test-config-with-templates.xml
rename to
solr/prometheus-exporter/src/test-files/conf/test-config-with-templates.xml
diff --git
a/solr/modules/prometheus-exporter/src/test-files/exampledocs/gb18030-example.xml
b/solr/prometheus-exporter/src/test-files/exampledocs/gb18030-example.xml
similarity index 100%
rename from
solr/modules/prometheus-exporter/src/test-files/exampledocs/gb18030-example.xml
rename to
solr/prometheus-exporter/src/test-files/exampledocs/gb18030-example.xml
diff --git a/solr/modules/prometheus-exporter/src/test-files/exampledocs/hd.xml
b/solr/prometheus-exporter/src/test-files/exampledocs/hd.xml
similarity index 100%
rename from solr/modules/prometheus-exporter/src/test-files/exampledocs/hd.xml
rename to solr/prometheus-exporter/src/test-files/exampledocs/hd.xml
diff --git
a/solr/modules/prometheus-exporter/src/test-files/exampledocs/ipod_other.xml
b/solr/prometheus-exporter/src/test-files/exampledocs/ipod_other.xml
similarity index 100%
rename from
solr/modules/prometheus-exporter/src/test-files/exampledocs/ipod_other.xml
rename to solr/prometheus-exporter/src/test-files/exampledocs/ipod_other.xml
diff --git
a/solr/modules/prometheus-exporter/src/test-files/exampledocs/ipod_video.xml
b/solr/prometheus-exporter/src/test-files/exampledocs/ipod_video.xml
similarity index 100%
rename from
solr/modules/prometheus-exporter/src/test-files/exampledocs/ipod_video.xml
rename to solr/prometheus-exporter/src/test-files/exampledocs/ipod_video.xml
diff --git
a/solr/modules/prometheus-exporter/src/test-files/exampledocs/manufacturers.xml
b/solr/prometheus-exporter/src/test-files/exampledocs/manufacturers.xml
similarity index 100%
rename from
solr/modules/prometheus-exporter/src/test-files/exampledocs/manufacturers.xml
rename to solr/prometheus-exporter/src/test-files/exampledocs/manufacturers.xml
diff --git
a/solr/modules/prometheus-exporter/src/test-files/exampledocs/mem.xml
b/solr/prometheus-exporter/src/test-files/exampledocs/mem.xml
similarity index 100%
rename from solr/modules/prometheus-exporter/src/test-files/exampledocs/mem.xml
rename to solr/prometheus-exporter/src/test-files/exampledocs/mem.xml
diff --git
a/solr/modules/prometheus-exporter/src/test-files/exampledocs/money.xml
b/solr/prometheus-exporter/src/test-files/exampledocs/money.xml
similarity index 100%
rename from
solr/modules/prometheus-exporter/src/test-files/exampledocs/money.xml
rename to solr/prometheus-exporter/src/test-files/exampledocs/money.xml
diff --git
a/solr/modules/prometheus-exporter/src/test-files/exampledocs/monitor.xml
b/solr/prometheus-exporter/src/test-files/exampledocs/monitor.xml
similarity index 100%
rename from
solr/modules/prometheus-exporter/src/test-files/exampledocs/monitor.xml
rename to solr/prometheus-exporter/src/test-files/exampledocs/monitor.xml
diff --git
a/solr/modules/prometheus-exporter/src/test-files/exampledocs/monitor2.xml
b/solr/prometheus-exporter/src/test-files/exampledocs/monitor2.xml
similarity index 100%
rename from
solr/modules/prometheus-exporter/src/test-files/exampledocs/monitor2.xml
rename to solr/prometheus-exporter/src/test-files/exampledocs/monitor2.xml
diff --git
a/solr/modules/prometheus-exporter/src/test-files/exampledocs/mp500.xml
b/solr/prometheus-exporter/src/test-files/exampledocs/mp500.xml
similarity index 100%
rename from
solr/modules/prometheus-exporter/src/test-files/exampledocs/mp500.xml
rename to solr/prometheus-exporter/src/test-files/exampledocs/mp500.xml
diff --git
a/solr/modules/prometheus-exporter/src/test-files/exampledocs/sample.html
b/solr/prometheus-exporter/src/test-files/exampledocs/sample.html
similarity index 100%
rename from
solr/modules/prometheus-exporter/src/test-files/exampledocs/sample.html
rename to solr/prometheus-exporter/src/test-files/exampledocs/sample.html
diff --git
a/solr/modules/prometheus-exporter/src/test-files/exampledocs/sd500.xml
b/solr/prometheus-exporter/src/test-files/exampledocs/sd500.xml
similarity index 100%
rename from
solr/modules/prometheus-exporter/src/test-files/exampledocs/sd500.xml
rename to solr/prometheus-exporter/src/test-files/exampledocs/sd500.xml
diff --git
a/solr/modules/prometheus-exporter/src/test-files/exampledocs/solr.xml
b/solr/prometheus-exporter/src/test-files/exampledocs/solr.xml
similarity index 100%
rename from solr/modules/prometheus-exporter/src/test-files/exampledocs/solr.xml
rename to solr/prometheus-exporter/src/test-files/exampledocs/solr.xml
diff --git
a/solr/modules/prometheus-exporter/src/test-files/exampledocs/utf8-example.xml
b/solr/prometheus-exporter/src/test-files/exampledocs/utf8-example.xml
similarity index 100%
rename from
solr/modules/prometheus-exporter/src/test-files/exampledocs/utf8-example.xml
rename to solr/prometheus-exporter/src/test-files/exampledocs/utf8-example.xml
diff --git
a/solr/modules/prometheus-exporter/src/test-files/exampledocs/vidcard.xml
b/solr/prometheus-exporter/src/test-files/exampledocs/vidcard.xml
similarity index 100%
rename from
solr/modules/prometheus-exporter/src/test-files/exampledocs/vidcard.xml
rename to solr/prometheus-exporter/src/test-files/exampledocs/vidcard.xml
diff --git a/solr/modules/prometheus-exporter/src/test-files/query-metrics.json
b/solr/prometheus-exporter/src/test-files/query-metrics.json
similarity index 100%
rename from solr/modules/prometheus-exporter/src/test-files/query-metrics.json
rename to solr/prometheus-exporter/src/test-files/query-metrics.json
diff --git
a/solr/modules/prometheus-exporter/src/test-files/solr/collection1/conf/managed-schema
b/solr/prometheus-exporter/src/test-files/solr/collection1/conf/managed-schema
similarity index 100%
rename from
solr/modules/prometheus-exporter/src/test-files/solr/collection1/conf/managed-schema
rename to
solr/prometheus-exporter/src/test-files/solr/collection1/conf/managed-schema
diff --git
a/solr/modules/prometheus-exporter/src/test-files/solr/collection1/conf/solrconfig.xml
b/solr/prometheus-exporter/src/test-files/solr/collection1/conf/solrconfig.xml
similarity index 100%
rename from
solr/modules/prometheus-exporter/src/test-files/solr/collection1/conf/solrconfig.xml
rename to
solr/prometheus-exporter/src/test-files/solr/collection1/conf/solrconfig.xml
diff --git
a/solr/modules/prometheus-exporter/src/test-files/solr/collection1/conf/stopwords.txt
b/solr/prometheus-exporter/src/test-files/solr/collection1/conf/stopwords.txt
similarity index 100%
rename from
solr/modules/prometheus-exporter/src/test-files/solr/collection1/conf/stopwords.txt
rename to
solr/prometheus-exporter/src/test-files/solr/collection1/conf/stopwords.txt
diff --git
a/solr/modules/prometheus-exporter/src/test-files/solr/collection1/conf/synonyms.txt
b/solr/prometheus-exporter/src/test-files/solr/collection1/conf/synonyms.txt
similarity index 100%
rename from
solr/modules/prometheus-exporter/src/test-files/solr/collection1/conf/synonyms.txt
rename to
solr/prometheus-exporter/src/test-files/solr/collection1/conf/synonyms.txt
diff --git a/solr/modules/prometheus-exporter/src/test-files/solr/solr.xml
b/solr/prometheus-exporter/src/test-files/solr/solr.xml
similarity index 100%
rename from solr/modules/prometheus-exporter/src/test-files/solr/solr.xml
rename to solr/prometheus-exporter/src/test-files/solr/solr.xml
diff --git
a/solr/modules/prometheus-exporter/src/test/org/apache/solr/prometheus/PrometheusExporterTestBase.java
b/solr/prometheus-exporter/src/test/org/apache/solr/prometheus/PrometheusExporterTestBase.java
similarity index 100%
rename from
solr/modules/prometheus-exporter/src/test/org/apache/solr/prometheus/PrometheusExporterTestBase.java
rename to
solr/prometheus-exporter/src/test/org/apache/solr/prometheus/PrometheusExporterTestBase.java
diff --git
a/solr/modules/prometheus-exporter/src/test/org/apache/solr/prometheus/collector/MetricSamplesTest.java
b/solr/prometheus-exporter/src/test/org/apache/solr/prometheus/collector/MetricSamplesTest.java
similarity index 100%
rename from
solr/modules/prometheus-exporter/src/test/org/apache/solr/prometheus/collector/MetricSamplesTest.java
rename to
solr/prometheus-exporter/src/test/org/apache/solr/prometheus/collector/MetricSamplesTest.java
diff --git
a/solr/modules/prometheus-exporter/src/test/org/apache/solr/prometheus/exporter/MetricsQueryTemplateTest.java
b/solr/prometheus-exporter/src/test/org/apache/solr/prometheus/exporter/MetricsQueryTemplateTest.java
similarity index 100%
rename from
solr/modules/prometheus-exporter/src/test/org/apache/solr/prometheus/exporter/MetricsQueryTemplateTest.java
rename to
solr/prometheus-exporter/src/test/org/apache/solr/prometheus/exporter/MetricsQueryTemplateTest.java
diff --git
a/solr/modules/prometheus-exporter/src/test/org/apache/solr/prometheus/exporter/SolrExporterIntegrationTest.java
b/solr/prometheus-exporter/src/test/org/apache/solr/prometheus/exporter/SolrExporterIntegrationTest.java
similarity index 100%
rename from
solr/modules/prometheus-exporter/src/test/org/apache/solr/prometheus/exporter/SolrExporterIntegrationTest.java
rename to
solr/prometheus-exporter/src/test/org/apache/solr/prometheus/exporter/SolrExporterIntegrationTest.java
diff --git
a/solr/modules/prometheus-exporter/src/test/org/apache/solr/prometheus/exporter/SolrExporterTestBase.java
b/solr/prometheus-exporter/src/test/org/apache/solr/prometheus/exporter/SolrExporterTestBase.java
similarity index 100%
rename from
solr/modules/prometheus-exporter/src/test/org/apache/solr/prometheus/exporter/SolrExporterTestBase.java
rename to
solr/prometheus-exporter/src/test/org/apache/solr/prometheus/exporter/SolrExporterTestBase.java
diff --git
a/solr/modules/prometheus-exporter/src/test/org/apache/solr/prometheus/scraper/SolrCloudScraperTest.java
b/solr/prometheus-exporter/src/test/org/apache/solr/prometheus/scraper/SolrCloudScraperTest.java
similarity index 100%
rename from
solr/modules/prometheus-exporter/src/test/org/apache/solr/prometheus/scraper/SolrCloudScraperTest.java
rename to
solr/prometheus-exporter/src/test/org/apache/solr/prometheus/scraper/SolrCloudScraperTest.java
diff --git
a/solr/modules/prometheus-exporter/src/test/org/apache/solr/prometheus/scraper/SolrStandaloneScraperTest.java
b/solr/prometheus-exporter/src/test/org/apache/solr/prometheus/scraper/SolrStandaloneScraperTest.java
similarity index 100%
rename from
solr/modules/prometheus-exporter/src/test/org/apache/solr/prometheus/scraper/SolrStandaloneScraperTest.java
rename to
solr/prometheus-exporter/src/test/org/apache/solr/prometheus/scraper/SolrStandaloneScraperTest.java
diff --git
a/solr/modules/prometheus-exporter/src/test/org/apache/solr/prometheus/utils/Helpers.java
b/solr/prometheus-exporter/src/test/org/apache/solr/prometheus/utils/Helpers.java
similarity index 100%
rename from
solr/modules/prometheus-exporter/src/test/org/apache/solr/prometheus/utils/Helpers.java
rename to
solr/prometheus-exporter/src/test/org/apache/solr/prometheus/utils/Helpers.java
diff --git a/solr/solr-ref-guide/src/installing-solr.adoc
b/solr/solr-ref-guide/src/installing-solr.adoc
index b6c96af..6c9156b 100644
--- a/solr/solr-ref-guide/src/installing-solr.adoc
+++ b/solr/solr-ref-guide/src/installing-solr.adoc
@@ -93,6 +93,14 @@ It is described in more detail in the section
<<taking-solr-to-production.adoc#,
modules/::
Solr's `modules` directory includes 1st-party add-on plugins for specialized
features of Solr.
+prometheus-exporter/::
+A standalone application, included under `bin/`, that montiors Solr instances
and produces Prometheus metrics.
+See the <<monitoring-with-prometheus-and-grafana.adoc#,documentation>> for
more information.
+
+docker/::
+This contains a Dockerfile to build a Docker image from the binary
distribution, that is compatible with the official image.
+This directory also contains the scripts needed when using Solr inside the
Docker image, under the `scripts/` directory.
+
docs/::
The `docs` directory includes a link to online Javadocs for Solr.
diff --git a/solr/solr-ref-guide/src/major-changes-in-solr-9.adoc
b/solr/solr-ref-guide/src/major-changes-in-solr-9.adoc
index 90aee7e..2ef44c1 100644
--- a/solr/solr-ref-guide/src/major-changes-in-solr-9.adoc
+++ b/solr/solr-ref-guide/src/major-changes-in-solr-9.adoc
@@ -239,7 +239,9 @@ of shipping as part of Solr, due to security concerns.
* SOLR-14912: Cleaned up solr-extraction module to produce solr-extraction-*
jar (instead of solr-cell-*). (Dawid Weiss)
* SOLR-15924: Extra lucene libraries used in modules are no longer packaged in
`lucene-libs/` under module directories in the binary release.
- Instead, these libraries will be included with all other module dependencies
in `lib/`.
+Instead, these libraries will be included with all other module dependencies
in `lib/`.
+
+* SOLR-15954: The prometheus-exporter is no longer packaged as a Solr module.
It can be found under `solr/prometheus-exporter/`.
== Deprecations & Removed Features
diff --git
a/solr/solr-ref-guide/src/monitoring-with-prometheus-and-grafana.adoc
b/solr/solr-ref-guide/src/monitoring-with-prometheus-and-grafana.adoc
index 57dd5d2..d699bf6 100644
--- a/solr/solr-ref-guide/src/monitoring-with-prometheus-and-grafana.adoc
+++ b/solr/solr-ref-guide/src/monitoring-with-prometheus-and-grafana.adoc
@@ -25,7 +25,7 @@ This graphic provides a more detailed view:
.solr-exporter Diagram
image::images/monitoring-with-prometheus-and-grafana/solr-exporter-diagram.png[image,width=600]
-The Prometheus exporter is included in Solr as a module, and is located in
`modules/prometheus-exporter` in your Solr instance.
+The Prometheus exporter is included with the Solr distribution, and is located
under `prometheus-exporter/`.
There are three aspects to running `solr-exporter`:
@@ -37,7 +37,7 @@ See the section below <<Starting the Exporter>>.
See the section below <<Prometheus Configuration>>
== Starting the Exporter
-You can start `solr-exporter` by running `./bin/solr-exporter` (Linux) or
`.\bin\solr-exporter.cmd` (Windows) from the `modules/prometheus-exporter`
directory.
+You can start `solr-exporter` by running `./bin/solr-exporter` (Linux) or
`.\bin\solr-exporter.cmd` (Windows) from the `prometheus-exporter/` directory.
See the commands below depending on your operating system and Solr operating
mode:
@@ -50,14 +50,14 @@ See the commands below depending on your operating system
and Solr operating mod
.User-managed / Single-node
[source,bash]
----
-$ cd modules/prometheus-exporter
+$ cd prometheus-exporter
$ ./bin/solr-exporter -p 9854 -b http://localhost:8983/solr -f
./conf/solr-exporter-config.xml -n 8
----
.SolrCloud
[source,bash]
----
-$ cd modules/prometheus-exporter
+$ cd prometheus-exporter
$ ./bin/solr-exporter -p 9854 -z localhost:2181/solr -f
./conf/solr-exporter-config.xml -n 16
----
====
@@ -69,14 +69,14 @@ $ ./bin/solr-exporter -p 9854 -z localhost:2181/solr -f
./conf/solr-exporter-con
.User-managed / Single-node
[source,text]
----
-> cd modules\prometheus-exporter
+> cd prometheus-exporter
> .\bin\solr-exporter.cmd -p 9854 -b http://localhost:8983/solr -f
> .\conf\solr-exporter-config.xml -n 8
----
.SolrCloud
[source,text]
----
-> cd modules\prometheus-exporter
+> cd prometheus-exporter
> .\bin\solr-exporter -p 9854 -z localhost:2181/solr -f
> .\conf\solr-exporter-config.xml -n 16
----
====
@@ -133,7 +133,7 @@ If neither the `-b` parameter nor the `-z` parameter are
defined, the `-b` param
+
[%autowidth,frame=none]
|===
-|Optional |Default: `modules/prometheus-exporter/conf/solr-exporter-config.xml`
+|Optional |Default: `prometheus-exporter/conf/solr-exporter-config.xml`
|===
+
The path to the configuration file that defines the Solr metrics to read.
@@ -244,10 +244,10 @@ Then you can start the Exporter as follows (Linux).
[source,bash]
----
-$ cd modules/prometheus-exporter
+$ cd prometheus-exporter
$ export JAVA_OPTS="-Djavax.net.ssl.trustStore=truststore.p12
-Djavax.net.ssl.trustStorePassword=truststorePassword
-Dsolr.httpclient.builder.factory=org.apache.solr.client.solrj.impl.PreemptiveBasicAuthClientBuilderFactory
-Dsolr.httpclient.config=basicauth.properties"
$ export
ZK_CREDS_AND_ACLS="-DzkCredentialsProvider=org.apache.solr.common.cloud.VMParamsSingleSetCredentialsDigestZkCredentialsProvider
-DzkDigestUsername=readonly-user -DzkDigestPassword=zkUserPassword"
-$ export
CLASSPATH_PREFIX="../../server/solr-webapp/webapp/WEB-INF/lib/commons-codec-1.11.jar"
+$ export
CLASSPATH_PREFIX="../server/solr-webapp/webapp/WEB-INF/lib/commons-codec-1.11.jar"
$ ./bin/solr-exporter -p 9854 -z zk1:2181,zk2:2181,zk3:2181 -f
./conf/solr-exporter-config.xml -n 16
----
@@ -259,7 +259,7 @@ Of course, you can use a different source.
The configuration for the `solr-exporter` defines the data to get from Solr.
This includes the metrics, but can also include queries to the
PingRequestHandler, the Collections API, and a query to any query request
handler.
-A default example configuration is in
`modules/prometheus-exporter/conf/solr-exporter-config.xml`.
+A default example configuration is in
`prometheus-exporter/conf/solr-exporter-config.xml`.
Below is a slightly shortened version of it:
[source,xml]
@@ -559,7 +559,7 @@ To use Grafana for visualization, it must be downloaded and
deployed separately.
More information can be found on the Grafana
https://grafana.com/docs/grafana/latest/[Documentation] site.
Grafana consumes data from many sources, including the Prometheus server that
you previously set up.
-A Grafana sample dashboard is provided in the following JSON file:
`modules/prometheus-exporter/conf/grafana-solr-dashboard.json`.
+A Grafana sample dashboard is provided in the following JSON file:
`prometheus-exporter/conf/grafana-solr-dashboard.json`.
You can place this with your other Grafana dashboard configurations and modify
it as necessary depending on any customization you've done for the
`solr-exporter` configuration.
TIP: You can directly import the Solr dashboard
https://grafana.com/grafana/dashboards/12456[via grafana.com] by using the
Import function with the dashboard id `12456`.