Documentation

13. 指标

Ansible Tower 3.5 在 API 中引入了一个指标端点:/api/v2/metrics/, 提供有关 Tower 的即时指标,它可被如 Prometheus 这样的开源项目系统监控软件使用。

metrics/ 端点中显示的数据类型是 Content-type: plain/text,包含有用的信息,如计数有多少活跃用户会话,或每个 Tower 节点上有多少活跃运行的作业。Prometheus 可以配置为通过点击 Tower 指标端点并将此数据存储到时序数据库中,从 Tower 中抓取这些指标。客户端之后可以使用 Prometheus 与 Grafana 或 Metricsbeat 等其它软件来视觉化这些数据并设置警报。

13.1. 设置 Prometheus

要设置和使用 Prometheus,您需要在虚拟机或容器上安装 Prometheus。如需更多详情,请参阅 Prometheus documentation

  1. 在 Prometheus 配置文件(通常为 prometheus.yml)中,指定 <token_value>,这是您创建的 Tower 用户的有效用户/密码,并指定 <tower_host>

    注解

    另外,您可以提供 OAuth2 令牌(可在 /api/v2/users/N/personal_tokens/ 生成)。默认情况下,配置假设用户使用用户名=admin 和密码=password。

使用在 /api/v2/tokens 端点中创建的 OAuth2 Token,通过 Tower 验证 prometheus 身份。如果 Tower 的指标端点的 URL 为 https://tower_host:443/metrics,以下示例提供有效 scrape 配置。

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 configuration docs

如果 Prometheus 已在运行,您必须重启它以便应用配置更改,方法是对重新加载端点进行发布 POST,或终止 Prometheus 进程或服务。

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

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

如需了解查询的更多方法,请参阅您的实例 (api/v2/metrics) 的 Tower API 中的指标端点。