18.4. 使用 metrics RHEL 系统角色在 Performance Co-Pilot 中配置 web hook


Performance Co-Pilot (PCP)套件包含性能指标推理引擎(PMIE)服务。此服务实时评估性能规则。例如,您可以使用默认规则来检测过量的交换活动。

您可以将主机配置为一个从多个 PCP 节点收集监控数据的中央 PCP 管理站点。如果规则匹配,此中央主机会向 Web hook 发送一个通知,以通知其他服务。例如,web hook 可以触发事件驱动的 Ansible 在导致事件的主机上的 Ansible Automation Platform 模板或 playbook 上运行。

通过使用 metrics RHEL 系统角色,您可以自动化配置通知 web hook 的中央 PCP 管理主机。

先决条件

流程

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

    ---
    - name: Monitoring performance metrics
      hosts: managed-node-01.example.com
      tasks:
        - name: Configure PMIE web hooks
          ansible.builtin.include_role:
            name: redhat.rhel_system_roles.metrics
          vars:
            metrics_manage_firewall: true
            metrics_retention_days: 7
            metrics_monitored_hosts:
              - pcp-node-01.example.com
              - pcp-node-02.example.com
            metrics_webhook_endpoint: "https://<webserver>:<port>/<endpoint>"

    示例 playbook 中指定的设置包括以下内容:

    metrics_retention_days: <number>
    设置多少天后 pmlogger_daily systemd 计时器删除旧的 PCP 归档。
    metrics_manage_firewall: <true|false>
    定义角色是否应该在 firewalld 服务中打开所需的端口。如果要远程访问受管节点上的 PCP,请将此变量设置为 true
    metrics_monitored_hosts: <list_of_hosts>
    指定要观察的主机。
    metrics_webhook_endpoint: <URL>
    设置性能指标推理引擎(PMIE)向其发送有关检测到的性能问题的通知的 web hook 端点。默认情况下,这些问题只记录到本地系统。

    有关 playbook 中使用的所有变量的详情,请查看控制节点上的 /usr/share/ansible/roles/rhel-system-roles.metrics/README.md 文件。

  2. 验证 playbook 语法:

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

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

  3. 运行 playbook:

    $ ansible-playbook ~/playbook.yml

验证

  1. 检查关于 managed-node-node-01.example.com 的配置概述:

    # ansible managed-node-01.example.com -m command -a 'pcp summary'
    Performance Co-Pilot configuration on managed-node-01.example.com:
    
     platform: Linux managed-node-node-01.example.com 5.14.0-427.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Feb 23 01:51:18 EST 2024 x86_64
     hardware: 8 cpus, 1 disk, 1 node, 1773MB RAM
     timezone: CEST-2
     services: pmcd pmproxy
     pmcd: Version 6.2.0-1, 12 agents, 6 clients
     pmda: root pmcd proc pmproxy xfs linux nfsclient mmv kvm jbd2
           dm openmetrics
     pmlogger: primary logger: /var/log/pcp/pmlogger/managed-node-node-01.example.com/20240510.16.25
               pcp-node-01.example.com: /var/log/pmlogger/pcp-node-01.example.com/20240510.16.25
               pcp-node-02.example.com: /var/log/pmlogger/pcp-node-02.example.com/20240510.16.25
     pmie: primary engine: /var/log/pcp/pmie/managed-node-node-01.example.com/pmie.log
           pcp-node-01.example.com: : /var/log/pcp/pmie/pcp-node-01.example.com/pmie.log
           pcp-node-02.example.com: : /var/log/pcp/pmie/pcp-node-02.example.com/pmie.log

    最后三行确认是否 PMIE 被配置为监控三个系统。

其他资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.