Exports Apache Oozie metrics for Prometheus including
- Oozie internal instrumentations/metrics, such as
- database connection stats
- JPA stats
- Oozie commands - such as purging - and internal queue stats
The exporter uses the Oozie API for fetching the metrics, and generifies/normalizes these.
As an example, the Oozie counter metrics such as jvm.pause.info-threshold
get mapped to oozie_counter_total{counter_group="jvm",counter_type="pause.info.threshold"}
.
Note: Oozie 4.3+ supports exposing metrics via JMX , so you might want to try plain jmx_exporter instead.
Note: If you're interested in Oozie Job Event metrics, have a look at Oozie Prometheus Job Event Listener.
For building:
- JDK 8
- Maven 3.5.x
- Docker 1.6+ (only required if building docker image)
For running:
- JRE 8 for running
- Access to Oozie API via HTTP(S)
- Docker 1.6+ (only required when running docker image)
Tested Oozie versions:
- 4.2.0
Available on and as docker image on Docker Hub.
mvn clean install
-
Install JAR
-
Run the exporter
- Usage options
> java -jar oozie-exporter.jar Usage: WebServer <OPTIONS> OPTIONS: -web.listen-address=[<hostname>:]<port> Exporter listener address -oozie.url=<Oozie API Url> Oozie API oozieApiUrl, eg http://localhost:11000/oozie [-oozie.user=<USER>] Oozie API user for authentication [-oozie.password=<PWD>] Oozie API password for authentication [-oozie.password.env=<ENV VAR>] Env var containing Oozie API password for authentication [-skipHttpsVerification] Skip SSL/TLS verification for Oozie HTTPS URL [-Dlog.level=[DEBUG|INFO|WARN|ERROR]] Sets the log level. Defaults to INFO
- Run exporter
> java -Xmx128m -server \ -jar oozie-exporter.jar \ -web.listen-address=localhost:7772 \ -oozie.url=http://localhost:11000/oozie
-
Test the exporter
Openhttp://<HOSTNAME>:<PORT>/metrics
orhttp://<HOSTNAME>:<PORT>/
(for configuration overview) -
Add to prometheus
- job_name: 'oozie_exporter' scrape_interval: 15s static_configs: - targets: ['<oozie exporter hostname>:<oozie exporter port>'] labels: ...
Here's the example output from a standalone default Oozie:
TODO
This Apache Oozie Exporter is released under the Apache 2.0 license.
Copyright 2017-2018 Marcel May
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.