Skip to main content

prometheus exporter for OpenMLDB

Project description

OpenMLDB Prometheus Exporter

PyPI PyPI - Python Version

Intro

This directory contains

  1. OpenMLDB Exporter exposing prometheus metrics
  2. OpenMLDB mixin provides well-configured examples for prometheus server and grafana dashboard

Supported versions:

  • OpenMLDB >= 0.5.0

Development

Requirements

  • 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

Build

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

Run

  1. setup python dependencies:

    poetry install
    
  2. enter virtual environment

    poetry shell
    
  3. start openmldb exporter

    poetry run openmldb-exporter
    

    you need pass necessary flags after openmldb-exporter. run poetry run openmldb-exporter --help to get the help info

    usage: 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
    
  4. 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               
    

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

openmldb-exporter-0.5.0.tar.gz (8.5 kB view details)

Uploaded Source

Built Distribution

openmldb_exporter-0.5.0-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

File details

Details for the file openmldb-exporter-0.5.0.tar.gz.

File metadata

  • Download URL: openmldb-exporter-0.5.0.tar.gz
  • Upload date:
  • Size: 8.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.10.2 Darwin/21.4.0

File hashes

Hashes for openmldb-exporter-0.5.0.tar.gz
Algorithm Hash digest
SHA256 19499452763b1c28ef61b4e8dff7e3fc72e3ccaf49c4e311f8f1988a028960df
MD5 ef69f61b6acbde3fe6075e649df3cb5b
BLAKE2b-256 73a67a51d7addaec6372d7000ec5e5a9953c36e0fea43fc67b75d6b9cb965d60

See more details on using hashes here.

File details

Details for the file openmldb_exporter-0.5.0-py3-none-any.whl.

File metadata

File hashes

Hashes for openmldb_exporter-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b541f62115c0e2e47a42e448258300c0f9b9b31757a069c0f458899b576d1039
MD5 e29b4f0feb7a4401c8d875a873ae0c10
BLAKE2b-256 06e5a42592718e431386281fdfd0ff26a0d19f9cfdca84a5b4bc83795b129008

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page