From bafee9cdb6e9da5416854fa518b507e605198813 Mon Sep 17 00:00:00 2001 From: aceforeverd Date: Wed, 16 Aug 2023 11:36:14 +0800 Subject: [PATCH] docs(monitoring): update description (#3436) * docs(monitoring): update * docs: prometheus -> Prometheus --- docs/en/maintain/monitoring.md | 172 +++++++++++++++++++-------------- docs/zh/maintain/monitoring.md | 171 ++++++++++++++++++-------------- 2 files changed, 198 insertions(+), 145 deletions(-) diff --git a/docs/en/maintain/monitoring.md b/docs/en/maintain/monitoring.md index 9369627ddf6..356dd08eb2a 100644 --- a/docs/en/maintain/monitoring.md +++ b/docs/en/maintain/monitoring.md @@ -5,7 +5,7 @@ The monitoring scheme of OpenMLDB is outlined as follows: -- Use [prometheus](https://prometheus.io) to collect monitoring metrics, [grafana](https://grafana.com/oss/grafana/) to visualize metrics +- Use [Prometheus](https://prometheus.io) to collect monitoring metrics, [Grafana](https://grafana.com/oss/grafana/) to visualize metrics - OpenMLDB exporter exposes database-level metrics - Each component as a server itself expose component-level metrics - Uses [node_exporter](https://github.com/prometheus/node_exporter) to expose machine and operating system related metrics @@ -17,7 +17,7 @@ The monitoring scheme of OpenMLDB is outlined as follows: [![PyPI](https://img.shields.io/pypi/v/openmldb-exporter?label=openmldb-exporter)](https://pypi.org/project/openmldb-exporter/) ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/openmldb-exporter?style=flat-square) -The OpenMLDB exporter is a prometheus exporter implemented in Python. The core connects the OpenMLDB instance through the database SDK and will query the exposed monitoring indicators through SQL statements. Exporter publish into PyPI. You can install the latest `openmldb-exporter` through pip. For development instructions, please refer to the code directory [README](https://github.com/4paradigm/OpenMLDB/tree/main/monitoring). +The OpenMLDB exporter is a Prometheus exporter implemented in Python. The core connects the OpenMLDB instance through the database SDK and will query the exposed monitoring indicators through SQL statements. Exporter publish into PyPI. You can install the latest `openmldb-exporter` through pip. For development instructions, please refer to the code directory [README](https://github.com/4paradigm/openmldb-exporter). ### Environmental Requirements @@ -39,94 +39,120 @@ The OpenMLDB exporter is a prometheus exporter implemented in Python. The core c The startup script `bin/start.sh` should enable server status by default. -3. Note: Make sure to select the binding IP addresses of OpenMLDB components OpenMLDB exporter as well as prometheus and grafana to ensure that grafana can access prometheus, and that prometheus, OpenMLDB exporter, and OpenMLDB components can access each other. +3. Note: Make sure to select the binding IP addresses of OpenMLDB components OpenMLDB exporter as well as Prometheus and Grafana to ensure that Grafana can access Prometheus, and that Prometheus, OpenMLDB exporter, and OpenMLDB components can access each other. ### Deploy the OpenMLDB exporter -1. Install openmldb-exporter from PyPI - - ```bash - pip install openmldb-exporter - ``` - -2. Run - - An executable `openmldb-exporter` will be installed by default, make sure pip install path is in your $PATH environment variable. - - ```bash - openmldb-exporter - ``` - - Appropriate parameters are required in order to work, use `openmldb-exporter -h` to see the latest help message, here is a example output: - - ```bash - 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 - - ``` - -3. View the list of metrics - - ```bash - $ curl http://127.0.0.1:8000/metrics - # 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 - - ``` +**You can run openmdlb-exporter from docker, or install and run directly from PyPI.** + +
Use docker + +```sh +docker run ghcr.io/4paradigm/openmldb-exporter \ + --config.zk_root= \ + --config.zk_path= +``` + +
+ +
Install and Run from PyPI + +```sh +pip install openmldb-exporter + +# start +openmldb-exporter \ + --config.zk_root= \ + --config.zk_path= +``` +

+ +And replace `` and `` to correct value. Afterwards, you can check metrics with curl: + +```sh +curl http://:8000/metrics +``` +`` is docker container IP, or `127.0.0.1` if installing from PyPI. + +
Example output + +```sh +# 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 +``` + +
+ +### Configuration + +You can view the help from: +```sh +openmldb-exporter -h +``` +`--config.zk_root` and `--config.zk_path` are mandatory. + +
Available options + +``` +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 +``` + +
## Deploy Node Exporter -[node_exporter](https://github.com/prometheus/node_exporter) is an official implementation of prometheus that exposes system metrics, read their README about setup. +[node_exporter](https://github.com/prometheus/node_exporter) is an official implementation of Prometheus that exposes system metrics, read their README about setup. ## Deploy Prometheus and Grafana -For installation and deployment of prometheus and grafana, please refer to the official documents [promtheus get started](https://prometheus.io/docs/prometheus/latest/getting_started/) and [grafana get started](https://grafana.com/docs/ grafana/latest/getting-started/getting-started-prometheus/). We recommend quick start with docker images, and use Grafana >= 8.3 and Prometheus >= 1.0.0 . +For installation and deployment of Prometheus and Grafana, please refer to the official documents [promtheus get started](https://prometheus.io/docs/prometheus/latest/getting_started/) and [Grafana get started](https://grafana.com/docs/ grafana/latest/getting-started/getting-started-prometheus/). We recommend quick start with docker images, and use Grafana >= 8.3 and Prometheus >= 1.0.0 . -OpenMLDB provides prometheus and grafana configuration files for reference, see [OpenMLDB mixin](https://github.com/4paradigm/OpenMLDB/tree/main/monitoring/openmldb_mixin/README.md): +OpenMLDB provides Prometheus and Grafana configuration files for reference, see [OpenMLDB mixin](https://github.com/4paradigm/openmldb-exporter/tree/main/openmldb_mixin): - prometheus_example.yml: Prometheus configuration example, remember to modify the target address in `node`, `openmldb_components` and `openmldb_exporter` jobs for your environment -- openmldb_dashboard.json: grafana dashboard configuration for OpenMLDB metrics, import it two steps: - 1. Under the grafana data source page, add the started prometheus server address as the data source +- openmldb_dashboard.json: Grafana dashboard configuration for OpenMLDB metrics, import it two steps: + 1. Under the Grafana data source page, add the started Prometheus server address as the data source 2. Under the dashboard browsing page, click the `Import` button, paste the dashboard ID `17843`, or upload this json file directly - Rad more in [Grafana import dashboard](https://grafana.com/docs/grafana/latest/dashboards/manage-dashboards/#import-a-dashboard) - - Page in grafana dashboard: https://grafana.com/grafana/dashboards/17843 + - Page in Grafana dashboard: https://grafana.com/grafana/dashboards/17843 ## Understand Existing Monitoring Metrics -Taking the OpenMLDB cluster system as an example, there are two type of metrics categorized by prometheus pull jobs: +Taking the OpenMLDB cluster system as an example, there are two type of metrics categorized by Prometheus pull jobs: ### 1. DB-Level metrics @@ -161,7 +187,7 @@ Exposed through the OpenMLDB exporter, the `job_name=openmldb_exporter` entry in ### 2. Component-Level metrics -The related components of OpenMLDB (nameserver, tablet, etc), themselves as BRPC server, and expose [prometheus related metrics](https://github.com/apache/incubator-brpc/blob/master/docs/en/bvar .md#export-to-prometheus), you only need to configure the prometheus server to pull metrics from the corresponding address. It corresponds to the `job_name=openmldb_components` item in `prometheus_example.yml`: +The related components of OpenMLDB (nameserver, tablet, etc), themselves as BRPC server, and expose [prometheus related metrics](https://github.com/apache/incubator-brpc/blob/master/docs/en/bvar .md#export-to-prometheus), you only need to configure the Prometheus server to pull metrics from the corresponding address. It corresponds to the `job_name=openmldb_components` item in `prometheus_example.yml`: ```yaml - job_name: openmldb_components diff --git a/docs/zh/maintain/monitoring.md b/docs/zh/maintain/monitoring.md index 6d993d65053..905644c74df 100644 --- a/docs/zh/maintain/monitoring.md +++ b/docs/zh/maintain/monitoring.md @@ -4,7 +4,7 @@ OpenMLDB 的监控方案概述如下: -- 使用 [prometheus](https://prometheus.io) 收集监控指标,[grafana](https://grafana.com/oss/grafana/) 可视化指标 +- 使用 [Prometheus](https://prometheus.io) 收集监控指标,[Grafana](https://grafana.com/oss/grafana/) 可视化指标 - OpenMLDB exporter 暴露数据库级别的监控指标 - 每个组件作为独立的 server 暴露组件级别的监控指标 - 使用 [node_exporter](https://github.com/prometheus/node_exporter) 暴露机器和操作系统相关指标 @@ -16,7 +16,7 @@ OpenMLDB 的监控方案概述如下: [![PyPI](https://img.shields.io/pypi/v/openmldb-exporter?label=openmldb-exporter)](https://pypi.org/project/openmldb-exporter/) ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/openmldb-exporter?style=flat-square) -OpenMLDB exporter 是以 Python 实现的 prometheus exporter,核心是通过数据库 SDK 连接 OpenMLDB 实例并通过 SQL 语句查询暴露监控指标。Exporter 会发布到 PyPI,可以通过 pip 安装最新发布的 `openmldb-exporter`,开发使用说明详见代码目录 [README](https://github.com/4paradigm/OpenMLDB/tree/main/monitoring)。 +OpenMLDB exporter 是以 Python 实现的 Prometheus exporter,核心是通过数据库 SDK 连接 OpenMLDB 实例并通过 SQL 语句查询暴露监控指标。Exporter 会发布到 PyPI,可以通过 pip 安装最新发布的 `openmldb-exporter`,开发使用说明详见代码目录 [README](https://github.com/4paradigm/openmldb-exporter)。 ### 环境要求 @@ -35,94 +35,121 @@ OpenMLDB exporter 是以 Python 实现的 prometheus exporter,核心是通过 默认启动脚本 `bin/start.sh` 开启了 server status, 不需要额外配置。 -3. 注意:合理选择 OpenMLDB 各组件和 OpenMLDB exporter, 以及 prometheus, grafana 的绑定 IP 地址,确保 grafana 可以访问到 prometheus, 并且 prometheus,OpenMLDB exporter 和 OpenMLDB 各个组件之间可以相互访问。 +3. 注意:合理选择 OpenMLDB 各组件和 OpenMLDB exporter, 以及 Prometheus, Grafana 的绑定 IP 地址,确保 Grafana 可以访问到 Prometheus, 并且 Prometheus,OpenMLDB exporter 和 OpenMLDB 各个组件之间可以相互访问。 ### 部署 OpenMLDB exporter -1. 从 PyPI 安装 openmldb-exporter +使用 Docker 或者 Pip 安装运行 openmdlb-exporter + +
Docker + +```sh +docker run ghcr.io/4paradigm/openmldb-exporter \ + --config.zk_root= \ + --config.zk_path= +``` + +
+ +
Pip + +```sh +pip install openmldb-exporter + +# start +openmldb-exporter \ + --config.zk_root= \ + --config.zk_path= +``` +

+ +注意将 `` and `` 替换成正确的值. 成功后就可以用 curl 查询状态: + +```sh +curl http://:8000/metrics +``` +`` 是容器的 IP, 如果从 pip 安装运行则是本机 IP. + +
样例输出 + +```sh +# 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 +``` + +
+ +### OpenMLDB exporter 配置 + +查看帮助信息: +```sh +openmldb-exporter -h +``` +`--config.zk_root` 和 `--config.zk_path` 是必须的. + +
所有选项 + +``` +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 +``` + +
- ```bash - pip install openmldb-exporter - ``` - -2. 运行 - - 默认会安装一个可执行文件 `openmldb-exporter`, 确认 pip 安装路径在你的 $PATH 环境变量里面。 - - ```bash - openmldb-exporter - ``` - - 注意传入合适的参数,`openmldb-exporter -h` 查看 help: - - ```bash - 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 - - ``` - -3. 查看 metrics 列表 - - ```bash - $ curl http://127.0.0.1:8000/metrics - # 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 - - ``` ## 部署 node exporter -[node_exporter](https://github.com/prometheus/node_exporter) 是 prometheus 官方实现的暴露系统指标的组件。 安装使用详见它的 README。 +[node_exporter](https://github.com/prometheus/node_exporter) 是 Prometheus 官方实现的暴露系统指标的组件。 安装使用详见它的 README。 ## 部署 Prometheus 和 Grafana -如何安装部署 prometheus, grafana 详见官方文档 [promtheus get started](https://prometheus.io/docs/prometheus/latest/getting_started/) 和 [grafana get started](https://grafana.com/docs/grafana/latest/getting-started/getting-started-prometheus/) 。我们建议使用 Docker 容器快速部署, 并且 Grafana >= 8.3, Prometheus >= 1.0.0 。 +如何安装部署 Prometheus, Grafana 详见官方文档 [promtheus get started](https://prometheus.io/docs/prometheus/latest/getting_started/) 和 [Grafana get started](https://grafana.com/docs/grafana/latest/getting-started/getting-started-prometheus/) 。我们建议使用 Docker 容器快速部署, 并且 Grafana >= 8.3, Prometheus >= 1.0.0 。 -OpenMLDB 提供了 prometheus 和 grafana 配置文件以作参考,详见 [OpenMLDB mixin](https://github.com/4paradigm/OpenMLDB/tree/main/monitoring/openmldb_mixin/README.md): +OpenMLDB 提供了 Prometheus 和 Grafana 配置文件以作参考,详见 [OpenMLDB mixin](https://github.com/4paradigm/openmldb-exporter/tree/main/openmldb_mixin): -- prometheus_example.yml: prometheus 配置示例, 注意修改 `node`, `openmldb_components` 和 `openmldb_exporter` job 中的 target 地址 -- openmldb_dashboard.json: OpenMLDB metrics 的 grafana dashboard 配置, 分为两步: - 1. 在 grafana data source 页面下,添加启动的 prometheus server 地址作为数据源 +- prometheus_example.yml: Prometheus 配置示例, 注意修改 `node`, `openmldb_components` 和 `openmldb_exporter` job 中的 target 地址 +- openmldb_dashboard.json: OpenMLDB metrics 的 Grafana dashboard 配置, 分为两步: + 1. 在 Grafana data source 页面下,添加启动的 Prometheus server 地址作为数据源 2. 在 dashboard 浏览页面下,点击导入一个 dashboard, 输入 dashboard ID `17843`, 或者直接上传该 json 配置文件 - 导入详细说明见 [Grafana import dashboard](https://grafana.com/docs/grafana/latest/dashboards/manage-dashboards/#import-a-dashboard) - Grafana dashboard 配置见 https://grafana.com/grafana/dashboards/17843 ## 理解现有的监控指标 -以 OpenMLDB 集群系统为例,监控指标根据 prometheus pull job 不同,分为两类: +以 OpenMLDB 集群系统为例,监控指标根据 Prometheus pull job 不同,分为两类: ### 1. DB-Level 指标 @@ -159,7 +186,7 @@ OpenMLDB 提供了 prometheus 和 grafana 配置文件以作参考,详见 [Ope ### 2. Component-Level 指标 -OpenMLDB 的相关组件(即 nameserver, tablet, etc), 本身作为 BRPC server,暴露了 [prometheus 相关指标](https://github.com/apache/incubator-brpc/blob/master/docs/en/bvar.md#export-to-prometheus), 只需要配置 prometheus server 从对应地址拉取指标即可。对应 `prometheus_example.yml`中 `job_name=openmldb_components` 项: +OpenMLDB 的相关组件(即 nameserver, tablet, etc), 本身作为 BRPC server,暴露了 [Prometheus 相关指标](https://github.com/apache/incubator-brpc/blob/master/docs/en/bvar.md#export-to-prometheus), 只需要配置 Prometheus server 从对应地址拉取指标即可。对应 `prometheus_example.yml`中 `job_name=openmldb_components` 项: ```yaml - job_name: openmldb_components