运行 exporter 应用

exporter 应用是一个 Flask 应用,负责合并位于 [oslo_messaging_notifications]/location 中设置的目录中的所有指标文件。

Prometheus 社区将 Ironic Prometheus Exporter 应用的端口定义为 9608(参见 默认端口分配),但您可以为您的部署选择任何端口。

该应用需要访问 ironic.conf,您需要将 IRONIC_CONFIG 环境变量设置为文件的绝对路径。

我们将解释如何在开发环境和生产环境中运行该应用。

开发环境

要运行 Flask 应用,请按照以下步骤操作

  1. 设置 FLASK_* 环境变量和 ironic.conf 文件的位置。

    $ export IRONIC_CONFIG=/etc/ironic/ironic.conf
    $ export FLASK_APP=ironic_prometheus_exporter/app/exporter.py
    $ export FLASK_RUN_HOST=<ip address>
    $ export FLASK_RUN_PORT=9608
    
  2. 运行 Flask 应用

    $ python -m flask run
    

生产环境

要在生产环境中部署该应用,您可以使用任何应用服务器,我们将使用 gunicorn,因为它是在我们的 CI 中使用的。

使用 gunicorn 执行该应用的命令是

$ gunicorn3 -b <ip_address>:9608 \
  --env IRONIC_CONFIG=$IRONIC_CONFIG \
  --env FLASK_DEBUG=1 -w 4 \
  --access-logfile=ipe_access.log \
  --error-logfile=ipe_errors.log \
  -D ironic_prometheus_exporter.app.wsgi:application

您可以在 Flask 文档 中找到有关如何在生产环境中部署 Flask 应用的更多信息。