This directory contains
- OpenMLDB Exporter exposing prometheus metrics
- OpenMLDB mixin provides well-configured examples for prometheus server and grafana dashboard
Supported versions:
- OpenMLDB >= 0.5.0
- Python >= 3.8
- poetry as build tool
- cmake (optional if want to test latest commit)
- a runnable OpenMLDB instance that is accessible from your network
The exporter is a python project, the only thing need to built was the native library required by python sdk. To build, cd
to root directory of OpenMLDB, and run:
make SQL_PYSDK_ENABLE=ON
Note: build is only required when tesing over latest commit is needed, otherwise, it can installed directly from pip (when 0.5.0 released):
pip install openmldb-exporter==0.5.0
-
setup python dependencies:
poetry install
-
enter virtual environment
poetry shell
-
start openmldb exporter
poetry run openmldb-exporter
you need pass necessary flags after
openmldb-exporter
. runpoetry run openmldb-exporter --help
to get the help infousage: openmldb-exporter [-h] [--log.level LOG.LEVEL] [--web.listen-address WEB.LISTEN_ADDRESS] [--web.telemetry-path WEB.TELEMETRY_PATH] [--config.zk_root CONFIG.ZK_ROOT] [--config.zk_path CONFIG.ZK_PATH] [--config.interval CONFIG.INTERVAL] OpenMLDB exporter optional arguments: -h, --help show this help message and exit --log.level LOG.LEVEL config log level, default WARN --web.listen-address WEB.LISTEN_ADDRESS process listen port, default 8000 --web.telemetry-path WEB.TELEMETRY_PATH Path under which to expose metrics, default metrics --config.zk_root CONFIG.ZK_ROOT endpoint to zookeeper, default 127.0.0.1:6181 --config.zk_path CONFIG.ZK_PATH root path in zookeeper for OpenMLDB, default / --config.interval CONFIG.INTERVAL interval in seconds to pull metrics periodically, default 30.0
-
view the available metrics, you can pull through
curl
curl http://127.0.0.1:8000/metrics
a example output:
# HELP openmldb_connected_seconds_total duration for a component conncted time in seconds # TYPE openmldb_connected_seconds_total counter openmldb_connected_seconds_total{endpoint="172.17.0.15:9520",role="tablet"} 208834.70900011063 openmldb_connected_seconds_total{endpoint="172.17.0.15:9521",role="tablet"} 208834.70700001717 openmldb_connected_seconds_total{endpoint="172.17.0.15:9522",role="tablet"} 208834.71399998665 openmldb_connected_seconds_total{endpoint="172.17.0.15:9622",role="nameserver"} 208833.70000004768 openmldb_connected_seconds_total{endpoint="172.17.0.15:9623",role="nameserver"} 208831.70900011063 openmldb_connected_seconds_total{endpoint="172.17.0.15:9624",role="nameserver"} 208829.7230000496 # HELP openmldb_connected_seconds_created duration for a component conncted time in seconds # TYPE openmldb_connected_seconds_created gauge openmldb_connected_seconds_created{endpoint="172.17.0.15:9520",role="tablet"} 1.6501813860467942e+09 openmldb_connected_seconds_created{endpoint="172.17.0.15:9521",role="tablet"} 1.6501813860495396e+09 openmldb_connected_seconds_created{endpoint="172.17.0.15:9522",role="tablet"} 1.650181386050323e+09 openmldb_connected_seconds_created{endpoint="172.17.0.15:9622",role="nameserver"} 1.6501813860512116e+09 openmldb_connected_seconds_created{endpoint="172.17.0.15:9623",role="nameserver"} 1.650181386051238e+09 openmldb_connected_seconds_created{endpoint="172.17.0.15:9624",role="nameserver"} 1.6501813860512598e+09