用法

oslo.metrics 的一个简单示例

$ oslo-metrics
2020-06-11 15:59:53.459 5435 INFO oslo.metrics.__main__ [-] Start oslo.metrics

使用 DevStack 进行测试

本节描述了如何使用 Devstack 测试 oslo.metrics 并收集 oslo.messaging 指标数据。

下载 DevStack

$ git clone https://opendev.org/openstack/devstack
$ cd devstack

devstack 仓库包含一个安装 OpenStack 和配置文件的模板的脚本。

创建 local.conf

在 devstack git 仓库的根目录下创建一个预设了四个密码的 local.conf 文件。

[[local|localrc]]
ADMIN_PASSWORD=secret
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD
LIBS_FROM_GIT=oslo.messaging

[[post-config|$NOVA_CONF]]
[oslo_messaging_metrics]
metrics_enabled = True

这是开始使用 Devstack(包括 oslo.metrics)所需的最低配置。

启动安装

$ ./stack.sh

这需要 15-20 分钟,很大程度上取决于您的互联网连接速度。在此过程中将安装许多 git 树和软件包。

启动 Metrics Server

$ oslo-metrics

此命令将启动 oslo.metrics 服务器并开始收集从 OpenStack 服务发送的 oslo.messaging 指标。

oslo.metrics 导出器默认在 3000 端口提供服务。

示例输出

oslo.metrics 从 Nova 收集指标的一个示例

ubuntu@devstack:~/devstack$ oslo-metrics
2021-06-12 14:32:26.091 466289 INFO oslo.metrics.__main__ [-] Start oslo.metrics
2021-06-12 14:57:50.632 466289 DEBUG oslo.metrics.__main__ [-] wait for socket.recv serve /usr/local/lib/python3.8/dist-packages/oslo_metrics/__main__.py:73
2021-06-12 14:57:50.632 466289 DEBUG oslo.metrics.__main__ [-] got message serve /usr/local/lib/python3.8/dist-packages/oslo_metrics/__main__.py:76
2021-06-12 14:57:50.633 466289 INFO oslo.metrics.message_router [-] Get labels with rpc_client_processing_seconds: {'call_type': 'call', 'exchange': None, 'topic': 'conductor', 'namespace': 'baseapi', 'version': '1.0', 'server': None, 'fanout': None, 'method': 'ping', 'timeout': None, 'process': ''}
2021-06-12 14:57:50.633 466289 INFO oslo.metrics.message_router [-] Perform action observe for rpc_client_processing_seconds metrics
2021-06-12 14:57:50.633 466289 DEBUG oslo.metrics.__main__ [-] wait for socket.recv serve /usr/local/lib/python3.8/dist-packages/oslo_metrics/__main__.py:73
2021-06-12 14:57:50.633 466289 DEBUG oslo.metrics.__main__ [-] got message serve /usr/local/lib/python3.8/dist-packages/oslo_metrics/__main__.py:76
2021-06-12 14:57:50.633 466289 INFO oslo.metrics.message_router [-] Get labels with rpc_client_invocation_end_total: {'call_type': 'call', 'exchange': None, 'topic': 'conductor', 'namespace': 'baseapi', 'version': '1.0', 'server': None, 'fanout': None, 'method': 'ping', 'timeout': None, 'process': ''}
2021-06-12 14:57:50.633 466289 INFO oslo.metrics.message_router [-] Perform action inc for rpc_client_invocation_end_total metrics`

收集指标

要从 oslo.metrics 收集指标,请配置 Prometheus 从 oslo.metrics 正在运行的 3000 端口进行抓取。