文档

12. 指标

API 中提供了一个指标端点:/api/v2/metrics/,该端点显示有关 Tower 的即时指标,可以由像开源项目 Prometheus 这样的系统监控软件使用。

metrics/ 端点显示的数据类型为 Content-type: text/plainapplication/json。 此端点包含有用的信息,例如有多少个活动用户会话,或每个 Tower 节点上正在运行多少个作业。 可以配置 Prometheus 从 Tower 抓取这些指标,方法是访问 Tower 指标端点并将这些数据存储在时间序列数据库中。 客户端随后可以使用 Prometheus 与 Grafana 或 Metricsbeat 等其他软件结合使用,以可视化这些数据并设置警报。

12.1. 设置 Prometheus

要设置和使用 Prometheus,您需要在虚拟机或容器上安装 Prometheus。 有关更多详细信息,请参阅 Prometheus 文档

  1. 在 Prometheus 配置文件中(通常为 prometheus.yml),指定一个 <token_value>、您创建的 Tower 用户的有效用户名/密码以及一个 <tower_host>

    注意

    或者,您可以提供 OAuth2 令牌(可以在 /api/v2/users/N/personal_tokens/ 生成)。 默认情况下,配置假定用户名为 admin、密码为 password 的用户。

使用在 /api/v2/tokens 端点创建的 OAuth2 令牌来验证 Prometheus 与 Tower 的身份,以下示例提供了有效的抓取配置,如果 Tower 的指标端点的 URL 为 https://tower_host:443/metrics

scrape_configs

  - job_name: 'tower'
    tls_config:
        insecure_skip_verify: True
    metrics_path: /api/v2/metrics
    scrape_interval: 5s
    scheme: https
    bearer_token: <token_value>
    # basic_auth:
    #   username: admin
    #   password: password
    static_configs:
        - targets:
            - <tower_host>

有关配置 Prometheus 其他方面(例如警报和服务发现配置)的帮助,请参阅 Prometheus 配置文档

如果 Prometheus 已经在运行,您必须重新启动它才能应用配置更改,方法是对重新加载端点进行 POST 请求,或杀死 Prometheus 进程或服务。

  1. 使用浏览器导航到 Prometheus UI 中的图表,网址为 http://your_prometheus:9090/graph,并测试一些查询。 例如,您可以通过执行以下操作查询当前的活动 Tower 用户会话数:awx_sessions_total{type="user"}

_images/metrics-prometheus-ui-query-example.png

有关更多查询方法,请参阅实例的 Tower API 中的指标端点(api/v2/metrics)。