16.4. 使用 metrics RHEL 系统角色使用本地机器集中监控机器的数量

此流程描述了如何使用 metrics 系统角色设置本地机器来集中监控机器的数量,同时通过 grafana 提供数据的视觉化,并通过 redis 提供数据的查询。

先决条件

  • 您已准备好控制节点和受管节点
  • 以可在受管主机上运行 playbook 的用户登录到控制节点。
  • 用于连接到受管节点的帐户具有 sudo 权限。
  • localhost 在控制节点上的清单文件中配置:

    localhost ansible_connection=local

步骤

  1. 创建包含以下内容的 playbook 文件,如 ~/playbook.yml

    - name: Set up your local machine to centrally monitor a fleet of machines
      hosts: localhost
      roles:
        - rhel-system-roles.metrics
      vars:
        metrics_graph_service: yes
        metrics_query_service: yes
        metrics_retention_days: 10
        metrics_monitored_hosts: ["database.example.com", "webserver.example.com"]
        metrics_manage_firewall: yes
        metrics_manage_selinux: yes

    因为 metrics_graph_servicemetrics_query_service 布尔值都被设置为 value="yes",所以 grafana 被自动安装和置备,并使用 pcp 添加为一个数据源,使用 pcp 将数据记录索引到 redis 中,允许 pcp 查询语言用于复杂的数据查询。因为 metrics_manage_firewallmetrics_manage_selinux 都被设为 true,所以 metrics 角色使用 firewallselinux 角色来管理 metrics 角色使用的端口。

  2. 验证 playbook 语法:

    $ ansible-playbook --syntax-check ~/playbook.yml

    请注意,这个命令只验证语法,不会防止错误但有效的配置。

  3. 运行 playbook:

    $ ansible-playbook ~/playbook.yml

验证

  • 要查看机器集中收集的指标的图形表示,并查询数据,请访问 grafana web 界面,如 访问 Grafana Web UI 中所述。

其他资源

  • /usr/share/ansible/roles/rhel-system-roles.metrics/README.md 文件
  • /usr/share/doc/rhel-system-roles/metrics/ directory